{
  "openapi": "3.1.0",
  "info": {
    "title": "Customer.io Journeys UI API",
    "version": "1.0.0"
  },
  "paths": {
    "/settings/receipts/{id}": {
      "get": {
        "summary": "Get receipt HTML",
        "operationId": "get-settings-receipts-id",
        "tags": [
          "receipts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/account_by_environment/{environment_id}": {
      "get": {
        "summary": "Get account details by environment ID",
        "operationId": "get-v1-account_by_environment-environment_id",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_accountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account_signup": {
      "post": {
        "summary": "Start agentic signup — email a 6-digit verification code",
        "operationId": "post-v1-account_signup",
        "tags": [
          "account_signup"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_signupAgentStartRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_signupAgentStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account_signup/code": {
      "post": {
        "summary": "Complete agentic signup — verify code, create account, return service-account token",
        "operationId": "post-v1-account_signup-code",
        "tags": [
          "account_signup"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_signupAgentCompleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_signupAgentCompleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/account_signup/partner_application": {
      "post": {
        "operationId": "post-v1-account_signup-partner_application",
        "tags": [
          "account_signup"
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/account_signup/partner_application/{partner_id}/status": {
      "put": {
        "operationId": "put-v1-account_signup-partner_application-partner_id-status",
        "tags": [
          "account_signup"
        ],
        "parameters": [
          {
            "name": "partner_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/account_signup/startup_application": {
      "post": {
        "summary": "Emit the startup-program application Mixpanel event",
        "operationId": "post-v1-account_signup-startup_application",
        "tags": [
          "account_signup"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_startupApplicationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/account_signup/startup_partners": {
      "get": {
        "summary": "List approved startup partners for the signup dropdown",
        "operationId": "get-v1-account_signup-startup_partners",
        "tags": [
          "account_signup"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_StartupPartnersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}": {
      "get": {
        "summary": "Get account details",
        "operationId": "get-v1-accounts-account_id",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_accountResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update account settings",
        "operationId": "put-v1-accounts-account_id",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_UpdateAccountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_updateAccountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/2fa_required/{action}": {
      "post": {
        "summary": "Enable or disable the 2FA requirement for an account",
        "operationId": "post-v1-accounts-account_id-2fa_required-action",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/activate_product": {
      "post": {
        "summary": "Activate a product for an account",
        "operationId": "post-v1-accounts-account_id-activate_product",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_activateProductRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_activateProductResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/address": {
      "post": {
        "summary": "Update account address",
        "operationId": "post-v1-accounts-account_id-address",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_UpdateAddressRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_updateAccountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/all_users": {
      "get": {
        "summary": "List all users",
        "operationId": "get-v1-accounts-account_id-all_users",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_IndexAllResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/api_credentials": {
      "get": {
        "summary": "List API credentials",
        "operationId": "get-v1-accounts-account_id-api_credentials",
        "tags": [
          "api_credentials"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environment_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by environment ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_api_credentials_apiCredentialsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/api_credentials/{id}": {
      "get": {
        "summary": "Get API credential",
        "operationId": "get-v1-accounts-account_id-api_credentials-id",
        "tags": [
          "api_credentials"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_api_credentials_apiCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/audit_log/{id}": {
      "get": {
        "summary": "Get account audit log",
        "operationId": "get-v1-accounts-account_id-audit_log-id",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_auditLogDetailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/audit_logs": {
      "get": {
        "summary": "List account audit logs",
        "operationId": "get-v1-accounts-account_id-audit_logs",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of records to return (default 20, max 100)"
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort order (default desc)"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Audit log ID to page after (sort_order=asc) or before (sort_order=desc)"
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by user ID"
          },
          {
            "name": "service_account_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by service account ID"
          },
          {
            "name": "ip_addr",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by IP address (prefix match)"
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Lower time bound (RFC3339)"
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Upper time bound (RFC3339)"
          },
          {
            "name": "object_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by object type"
          },
          {
            "name": "object_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by object ID (requires object_type)"
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "deleted"
              ]
            },
            "description": "Filter by action (requires object_type or object_id)"
          },
          {
            "name": "attribute_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by changed attribute name (requires object_type or object_id)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/audit_logs/export": {
      "post": {
        "summary": "Export account audit logs",
        "operationId": "post-v1-accounts-account_id-audit_logs-export",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audit_logs_exportAuditLogsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_exportResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/audit_logs/field_options": {
      "get": {
        "summary": "List account audit log filter options",
        "description": "The object types the account audit log filter can offer, and the field names records of each type carry. Derived from the audited Go types, so it tracks them instead of drifting.",
        "operationId": "get-v1-accounts-account_id-audit_logs-field_options",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_fieldOptionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/addons": {
      "post": {
        "summary": "Add recurring add-ons",
        "description": "Modern Stripe accounts only.  Name Stripe price ids under skus.add; skus.remove must be empty for now.  Each price for an add-on the account doesn't have yet is added to its subscription, and the prorated amount is charged now to the card on file.  A price the account already has is a no-op.  Another price of an add-on it already has, a price on another billing cycle, or a retired price is refused.  Answers with a run_id to poll at addons/status.",
        "operationId": "post-v1-accounts-account_id-billing-addons",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_addonsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_purchaseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/addons/status/{run_id}": {
      "get": {
        "summary": "Check how an add-on purchase ended",
        "description": "Reports pending, success, declined, refused or failed for the run_id returned by POST /billing/addons.  declined and refused carry a message safe to show the customer.  success means the subscription carries the add-ons and the card was charged.",
        "operationId": "get-v1-accounts-account_id-billing-addons-status-run_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_addonsStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/ai_credits/ordway_purchase": {
      "post": {
        "summary": "Purchase AI credits for an Ordway account",
        "description": "Starts the purchase workflow and returns its run_id with status pending; the credits are not granted yet. Poll ordway_purchase_status for the outcome. Only one purchase runs per account at a time: while one is in flight, a request for the same quantity is treated as a duplicate submit and answered with the running purchase's run_id rather than starting a second one, and a request for a different quantity returns 409.",
        "operationId": "post-v1-accounts-account_id-billing-ai_credits-ordway_purchase",
        "tags": [
          "billing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_createAICreditsOrdwayPurchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_aiCreditsOrdwayPurchaseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/ai_credits/ordway_purchase_status": {
      "get": {
        "summary": "Get an Ordway AI credits purchase status",
        "description": "Reports pending, success, declined or failed for the run_id returned by ordway_purchase. Credits are granted only on success.",
        "operationId": "get-v1-accounts-account_id-billing-ai_credits-ordway_purchase_status",
        "tags": [
          "billing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the Ordway purchase was started"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_aiCreditsOrdwayPurchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/ai_credits/payment_intent": {
      "post": {
        "summary": "Create AI credits payment intent",
        "description": "Deprecated: use POST /v1/accounts/{account_id}/billing/credits/purchase with an llm body.",
        "operationId": "post-v1-accounts-account_id-billing-ai_credits-payment_intent",
        "tags": [
          "billing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_createAICreditsPaymentIntentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_createAICreditsPaymentIntentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/ai_credits/purchase_status": {
      "get": {
        "summary": "Get AI credits purchase status",
        "description": "Deprecated: use GET /v1/accounts/{account_id}/billing/credits/purchase_status.",
        "operationId": "get-v1-accounts-account_id-billing-ai_credits-purchase_status",
        "tags": [
          "billing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Stripe invoice ID to check status of"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_aiCreditsPurchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/builder_credits/payment_intent": {
      "post": {
        "summary": "Create builder credits payment intent",
        "description": "Deprecated: use POST /v1/accounts/{account_id}/billing/credits/purchase with a builder body.",
        "operationId": "post-v1-accounts-account_id-billing-builder_credits-payment_intent",
        "tags": [
          "billing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_createBuilderCreditsPaymentIntentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_createBuilderCreditsPaymentIntentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/builder_credits/purchase_status": {
      "get": {
        "summary": "Get builder credits purchase status",
        "description": "Deprecated: use GET /v1/accounts/{account_id}/billing/credits/purchase_status.",
        "operationId": "get-v1-accounts-account_id-billing-builder_credits-purchase_status",
        "tags": [
          "billing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Stripe invoice ID to check status of"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_builderCreditsPurchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/credits/balance": {
      "get": {
        "summary": "Get all credit balances",
        "operationId": "get-v1-accounts-account_id-billing-credits-balance",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_creditsBalanceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/credits/balance/{credit_type}": {
      "get": {
        "summary": "Get one credit balance",
        "operationId": "get-v1-accounts-account_id-billing-credits-balance-credit_type",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "credit_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "llm",
                "builder"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_creditBalance"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/credits/purchase": {
      "post": {
        "summary": "Purchase credits",
        "description": "Name exactly one credit type in the body.  The billing rail is chosen from the account's vendor.  The response reports which rail was used and returns an opaque purchase_id to poll.",
        "operationId": "post-v1-accounts-account_id-billing-credits-purchase",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_creditsPurchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_creditsPurchaseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/credits/purchase_status": {
      "get": {
        "summary": "Get a credits purchase status",
        "description": "Takes the purchase_id returned by the purchase endpoint.  The handle names its own billing rail, so the caller does not need to know the account's vendor.",
        "operationId": "get-v1-accounts-account_id-billing-credits-purchase_status",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purchase_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The purchase_id returned when the purchase was created."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_creditsPurchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/downgrade-to-builder": {
      "post": {
        "summary": "Move account from Essentials trial to the Builder plan",
        "operationId": "post-v1-accounts-account_id-billing-downgrade-to-builder",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_downgradeToBuilderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/inbox_previews/ordway_purchase": {
      "post": {
        "summary": "Purchase an inbox previews pack for an Ordway account",
        "description": "Buys one pack on the invoice-billed (Ordway) rail, charging the card on file. Starts the purchase workflow and returns its run_id with status pending; the previews are not granted yet. Poll ordway_purchase_status for the outcome. Only one purchase runs per account at a time: while one is in flight, a request for the same pack is treated as a duplicate submit and answered with the running purchase's run_id rather than starting a second one, and a request for a different pack returns 409.",
        "operationId": "post-v1-accounts-account_id-billing-inbox_previews-ordway_purchase",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_createInboxPreviewsOrdwayPurchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsOrdwayPurchaseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/inbox_previews/ordway_purchase_status": {
      "get": {
        "summary": "Get an Ordway inbox previews purchase status",
        "description": "Reports pending, success, declined or failed for the run_id returned by ordway_purchase. The pack is granted only on success.",
        "operationId": "get-v1-accounts-account_id-billing-inbox_previews-ordway_purchase_status",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the Ordway purchase was started"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsOrdwayPurchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/inbox_previews/payment_intent": {
      "post": {
        "summary": "Create an inbox previews payment intent",
        "description": "Creates a one-off Stripe invoice for one inbox previews pack and returns its payment intent's client secret with the invoice id. The pack is an enum of sizes and the server maps it to a price, so a client never names an amount. Requires a paid, non-Builder, non-paused plan.",
        "operationId": "post-v1-accounts-account_id-billing-inbox_previews-payment_intent",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_createInboxPreviewsPaymentIntentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_createInboxPreviewsPaymentIntentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/inbox_previews/purchase_status": {
      "get": {
        "summary": "Get an inbox previews purchase status",
        "description": "Reports granted once the webhook has provisioned the pack's credit grant for the invoice; otherwise the Stripe invoice's own status. Poll it after confirming the card payment.",
        "operationId": "get-v1-accounts-account_id-billing-inbox_previews-purchase_status",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Stripe invoice ID to check status of"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsPurchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/inbox_previews/usage_log": {
      "get": {
        "summary": "List inbox previews credit usage log entries",
        "description": "Lists preview usage over an inclusive UTC day range, newest first by default, keyset-paginated with a total for the whole range. Recent days are listed one entry per preview run, carrying the preview_job_id its previews can be fetched with; older days are listed from the daily rollup instead, one entry per day per user per workspace, with no job to link to — source says which. The two never cover the same day, so nothing is counted twice.",
        "operationId": "get-v1-accounts-account_id-billing-inbox_previews-usage_log",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environment_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Narrow the listing to one workspace on this account. An id the account does not own is refused rather than answered with an empty listing. A workspace deleted since the usage was recorded still counts as owned."
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "filter by user id"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Inclusive UTC start day, YYYY-MM-DD. Defaults to the first day of the month five months before end, i.e. six whole calendar months."
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Inclusive UTC end day, YYYY-MM-DD. Defaults to today, and a day in the future is clamped to today rather than refused."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Column to order by. Only date is supported: the two tables behind this listing are joined by day, and the names in the run-by and workspace columns are resolved after the query rather than stored."
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Direction of the date ordering: desc for newest first, which is the default, or asc."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "opaque pagination cursor from a prior response"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "page size (default 50, max 200)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageLogResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/inbox_previews/usage_summaries": {
      "get": {
        "summary": "Summarize inbox previews credit usage",
        "description": "Aggregates preview consumption over an inclusive UTC day range: the range's totals, one series point per bucket at day, week or month granularity, and optionally a per-workspace or per-user breakdown. Closed days come from the daily rollup and the days after it from the live ledger, so a just-charged run is included with nothing refunded against it yet. The account's credit balance is reported alongside and is not affected by the range or by environment_id. Usage history is reported to every caller, but an account the feature is not available to — Inbox Previews switched off, or a trial, Builder or paused plan — sees its monthly allowance pool as 0 of 0; purchased and goodwill pools are unaffected.",
        "operationId": "get-v1-accounts-account_id-billing-inbox_previews-usage_summaries",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Inclusive UTC start day, YYYY-MM-DD. Defaults to the first day of the month five months before end, i.e. six whole calendar months."
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Inclusive UTC end day, YYYY-MM-DD. Defaults to today, and a day in the future is clamped to today rather than refused."
          },
          {
            "name": "granularity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Series bucket width: day, week or month. Defaults to month."
          },
          {
            "name": "group_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Breakdown dimension: none, workspace or user. Defaults to none, which omits groups."
          },
          {
            "name": "environment_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Narrow totals, series and groups to one workspace on this account. The credit balance stays account-wide."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageSummariesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/info": {
      "get": {
        "summary": "Get billing info",
        "operationId": "get-v1-accounts-account_id-billing-info",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_getInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/metronome_profile": {
      "get": {
        "summary": "Get Metronome customer billing profile",
        "operationId": "get-v1-accounts-account_id-billing-metronome_profile",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_metronome_ProfileResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/overage_estimate": {
      "get": {
        "summary": "Get overage estimate for Ordway customer",
        "operationId": "get-v1-accounts-account_id-billing-overage_estimate",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Ordway subscription ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_overageEstimateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/payment": {
      "get": {
        "summary": "Get default payment method for Ordway customer",
        "operationId": "get-v1-accounts-account_id-billing-payment",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_clients_ordway_PaymentMethod"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/payment_method/default": {
      "post": {
        "summary": "Set the customer's default payment method",
        "operationId": "post-v1-accounts-account_id-billing-payment_method-default",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_setDefaultPaymentMethodRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/plans": {
      "get": {
        "summary": "List available Ordway plans",
        "operationId": "get-v1-accounts-account_id-billing-plans",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Product type filter for plan lookup"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_availableOrdwayPlansResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/plans/checkout_status": {
      "get": {
        "summary": "Get an Ordway checkout status",
        "description": "Reports pending, success, conflict or failed for the run_id returned in the pending response's meta when a checkout outlived its request. The subscription comes back on success. Concurrent checkouts for one account share a run, so plan_id (and coupon_code, when one was used) are required: a run that bought something else is reported as conflict rather than answered with its subscription.",
        "operationId": "get-v1-accounts-account_id-billing-plans-checkout_status",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned in the pending response's meta when the checkout outlived its request"
          },
          {
            "name": "plan_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Ordway plan the checkout was for. Concurrent checkouts share one run, so the outcome only belongs to this caller if the run bought this plan"
          },
          {
            "name": "coupon_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Coupon the checkout was for, if any. A run that applied no coupon does not answer a request that asked for one"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_ordwayCheckoutStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/plans/{plan_id}": {
      "post": {
        "summary": "Create active Ordway subscription",
        "description": "Waits for the checkout and returns the subscription. A checkout that outlives that wait answers 409 with the ordway_error code, Retry-After, and its Temporal run id in meta.run_id: the purchase has not failed and may still complete and bill, so poll checkout_status with that run id for the outcome.",
        "operationId": "post-v1-accounts-account_id-billing-plans-plan_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "plan_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/profile": {
      "get": {
        "summary": "Get Ordway customer profile",
        "operationId": "get-v1-accounts-account_id-billing-profile",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "coupons",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Include coupon details (true/false)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_ordwayProfileResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update billing profile for Ordway customer",
        "operationId": "put-v1-accounts-account_id-billing-profile",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_updateOrdwayProfileRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/profile_growth": {
      "get": {
        "summary": "Get profile growth data",
        "operationId": "get-v1-accounts-account_id-billing-profile_growth",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Unix timestamp for start of range (default: 30 days ago)"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Unix timestamp for end of range (default: now)"
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "monthly"
              ]
            },
            "description": "Aggregation period: daily (default) or monthly"
          },
          {
            "name": "environment_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter to a single workspace"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_profileGrowthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/profile_growth/notifications": {
      "get": {
        "summary": "Get profile growth notification preferences",
        "operationId": "get-v1-accounts-account_id-billing-profile_growth-notifications",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_profileGrowthNotificationsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update profile growth notification preferences",
        "operationId": "put-v1-accounts-account_id-billing-profile_growth-notifications",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_updateNotificationsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_profileGrowthNotificationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/promo_codes/{promo_code_id}": {
      "post": {
        "summary": "Check out a redeemed promo code: create the Ordway customer, coupon, and active subscription",
        "operationId": "post-v1-accounts-account_id-billing-promo_codes-promo_code_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "promo_code_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_promoCheckoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/purchase": {
      "post": {
        "summary": "Add a card, buy funds, or both",
        "description": "Modern Stripe accounts only.  Name a card, funds, or both.  Naming neither is a 400.  A card is always accepted and becomes the customer's default, replacing any card already on file.  Funds raise an invoice against the card in the same request or the one already on file, and buying funds with no card either way is the one unsupported combination.  Answers with a run_id to poll at purchase_status, which is where the client_secret for the browser to confirm the invoice arrives.  A paid purchase records the invoice and the receipt, and does not yet credit a spendable balance.",
        "operationId": "post-v1-accounts-account_id-billing-purchase",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_purchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_purchaseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/purchase_status/{run_id}": {
      "get": {
        "summary": "Check how a purchase ended",
        "description": "Reports pending, requires_confirmation, success, declined or failed for the run_id returned by POST /billing/purchase.  requires_confirmation carries the client_secret to confirm with Stripe.js, after which the same run finishes the purchase, so keep polling.  success means the card is on file and any funds bought were collected.  A purchase left unconfirmed has its invoice voided and ends failed.  Only modern Stripe accounts use this route.",
        "operationId": "get-v1-accounts-account_id-billing-purchase_status-run_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_purchaseStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/receipts": {
      "get": {
        "summary": "List Ordway invoices",
        "operationId": "get-v1-accounts-account_id-billing-receipts",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_listOrdwayInvoicesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/retention-discount": {
      "get": {
        "summary": "Check retention discount eligibility",
        "operationId": "get-v1-accounts-account_id-billing-retention-discount",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_retentionDiscountEligibilityResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Apply retention discount",
        "operationId": "post-v1-accounts-account_id-billing-retention-discount",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/setup_intent": {
      "get": {
        "summary": "Get Stripe setup intent",
        "operationId": "get-v1-accounts-account_id-billing-setup_intent",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_setupIntentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscription_complete": {
      "get": {
        "summary": "Check if subscription update is complete",
        "operationId": "get-v1-accounts-account_id-billing-subscription_complete",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_subscriptionUpdateCompleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscription_exists": {
      "get": {
        "summary": "Check if subscription exists",
        "operationId": "get-v1-accounts-account_id-billing-subscription_exists",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_subscriptionExistsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscriptions/activate/{subscription_id}": {
      "post": {
        "summary": "Activate draft Ordway subscription",
        "operationId": "post-v1-accounts-account_id-billing-subscriptions-activate-subscription_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscriptions/cancel": {
      "post": {
        "summary": "Cancel Ordway subscription",
        "operationId": "post-v1-accounts-account_id-billing-subscriptions-cancel",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_cancelOrdwaySubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscriptions/draft/{plan_id}": {
      "post": {
        "summary": "Create draft Ordway subscription",
        "operationId": "post-v1-accounts-account_id-billing-subscriptions-draft-plan_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "plan_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscriptions/pause": {
      "post": {
        "summary": "Pause or unpause subscription",
        "operationId": "post-v1-accounts-account_id-billing-subscriptions-pause",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_pauseRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/subscriptions/update/{subscription_id}": {
      "post": {
        "summary": "Update draft Ordway subscription",
        "operationId": "post-v1-accounts-account_id-billing-subscriptions-update-subscription_id",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_updateDraftSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/billing/tax_rate": {
      "get": {
        "summary": "Get tax rate",
        "operationId": "get-v1-accounts-account_id-billing-tax_rate",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Country name or ISO code"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "State (TaxJar)"
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "City (TaxJar)"
          },
          {
            "name": "zip_code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Postal/zip code"
          },
          {
            "name": "address_line1",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Street address (TaxJar)"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Region (Avalara)"
          },
          {
            "name": "address1",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Street address (Avalara)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_billing_taxRateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/builder_credits": {
      "get": {
        "summary": "Get builder credits for an account",
        "description": "Deprecated: use GET /v1/accounts/{account_id}/billing/credits/balance/builder.",
        "operationId": "get-v1-accounts-account_id-builder_credits",
        "tags": [
          "accounts"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_builderCreditsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/cancel": {
      "post": {
        "summary": "Cancel account",
        "operationId": "post-v1-accounts-account_id-cancel",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_cancelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/card": {
      "post": {
        "summary": "Update payment card",
        "description": "Records the intent for the legacy billing worker, which does the Stripe work asynchronously.  Legacy vendors only: a modern Stripe account answers 400 and uses POST /billing/purchase instead, which adds the card and can buy funds on it in one request.",
        "operationId": "post-v1-accounts-account_id-card",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_updateCardRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/cjs": {
      "post": {
        "summary": "Submit CJS (Builder upgrade) request",
        "operationId": "post-v1-accounts-account_id-cjs",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_submitCJSRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/email_setup_status": {
      "get": {
        "summary": "Whether the account has email set up in any workspace",
        "operationId": "get-v1-accounts-account_id-email_setup_status",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_emailSetupStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/enable-product-trial": {
      "post": {
        "summary": "Enable a product trial for an account",
        "operationId": "post-v1-accounts-account_id-enable-product-trial",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_enableProductTrialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/environments": {
      "get": {
        "summary": "List environments for an account",
        "operationId": "get-v1-accounts-account_id-environments",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_indexEnvironmentsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an environment",
        "operationId": "post-v1-accounts-account_id-environments",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_CreateEnvironmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_CreateEnvironmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/ext_api_keys": {
      "get": {
        "summary": "List external API keys",
        "operationId": "get-v1-accounts-account_id-ext_api_keys",
        "tags": [
          "ext_api_keys"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ext_api_keys_extAPIKeysResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/feedback": {
      "post": {
        "summary": "Submit feedback",
        "operationId": "post-v1-accounts-account_id-feedback",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_submitFeedbackRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/gemini_safety_settings": {
      "get": {
        "summary": "Get Gemini safety settings for an account",
        "operationId": "get-v1-accounts-account_id-gemini_safety_settings",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_geminiSafetySettingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update Gemini safety settings for an account",
        "operationId": "put-v1-accounts-account_id-gemini_safety_settings",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_geminiSafetySettingsUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/go_live": {
      "post": {
        "summary": "Transition an account out of sandbox mode",
        "operationId": "post-v1-accounts-account_id-go_live",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/guest_invitations": {
      "get": {
        "summary": "List outstanding guest invitations",
        "operationId": "get-v1-accounts-account_id-guest_invitations",
        "tags": [
          "guest_invitations"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_guest_invitations_listResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Invite a guest",
        "description": "Invites an existing Customer.io user (homed in another account) to join this account as a guest. The response is uniform whether or not the email belongs to a user. Pass replaces_user_id (a login homed in this account) to delete that user once the invitee accepts (\"Change to guest\").",
        "operationId": "post-v1-accounts-account_id-guest_invitations",
        "tags": [
          "guest_invitations"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_guest_invitations_sendRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_guest_invitations_sendResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/guest_invitations/{id}": {
      "delete": {
        "summary": "Revoke a guest invitation",
        "operationId": "delete-v1-accounts-account_id-guest_invitations-id",
        "tags": [
          "guest_invitations"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/guest_invitations/{id}/resend": {
      "post": {
        "summary": "Resend a guest invitation",
        "operationId": "post-v1-accounts-account_id-guest_invitations-id-resend",
        "tags": [
          "guest_invitations"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_guest_invitations_sendResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/invoice/{invoice_id}": {
      "get": {
        "summary": "Get invoice",
        "description": "Returns an account receipt's Stripe invoice and PDF URL. Pass the invoice_id field from GET /v1/accounts/:account_id/receipts, not the receipt's numeric id.",
        "operationId": "get-v1-accounts-account_id-invoice-invoice_id",
        "tags": [
          "receipts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoice_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_receipts_invoiceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/join_requests": {
      "get": {
        "summary": "List pending join requests",
        "operationId": "get-v1-accounts-account_id-join_requests",
        "tags": [
          "join_requests"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_join_requests_listResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/join_requests/{id}": {
      "delete": {
        "summary": "Decline a join request",
        "description": "Silently declines the request: the requester is not notified, and re-requests stay suppressed until the request would have expired.",
        "operationId": "delete-v1-accounts-account_id-join_requests-id",
        "tags": [
          "join_requests"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/join_requests/{id}/approve": {
      "post": {
        "summary": "Approve a join request",
        "description": "Creates the requester as a team member with the given account permissions and workspace roles (the same pipeline as POST /accounts/:id/users, including the set-password email), consuming the pending request.",
        "operationId": "post-v1-accounts-account_id-join_requests-id-approve",
        "tags": [
          "join_requests"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_join_requests_approveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/llm_credits": {
      "get": {
        "summary": "Get LLM credits for an account",
        "description": "Deprecated: use GET /v1/accounts/{account_id}/billing/credits/balance/llm.",
        "operationId": "get-v1-accounts-account_id-llm_credits",
        "tags": [
          "accounts"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_llmCreditsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/llm_usage": {
      "get": {
        "summary": "Get LLM credit usage for an account, grouped by workspace/campaign/action",
        "operationId": "get-v1-accounts-account_id-llm_usage",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "none|workspace|campaign|action (default none)"
          },
          {
            "name": "granularity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "day|week|month (default day)"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "inclusive UTC start day YYYY-MM-DD (default 30d ago)"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "inclusive UTC end day YYYY-MM-DD (default today)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_llmUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/plan": {
      "post": {
        "summary": "Change Stripe plan",
        "operationId": "post-v1-accounts-account_id-plan",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_changeStripePlanRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/premium": {
      "post": {
        "summary": "Submit premium request",
        "operationId": "post-v1-accounts-account_id-premium",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_submitPremiumRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/promote_sandbox_token": {
      "post": {
        "summary": "Swap a retired sandbox token for a live token after go-live",
        "operationId": "post-v1-accounts-account_id-promote_sandbox_token",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_promoteSandboxTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/public_settings": {
      "get": {
        "summary": "Get account-level customer settings (public_settings blob)",
        "operationId": "get-v1-accounts-account_id-public_settings",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_accountPublicSettingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update account-level customer settings (public_settings blob)",
        "operationId": "put-v1-accounts-account_id-public_settings",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_accountPublicSettingsUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_accountPublicSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/reactivate": {
      "post": {
        "summary": "Reactivate an account in pending cancellation state",
        "operationId": "post-v1-accounts-account_id-reactivate",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/reactivate_as_suspended": {
      "post": {
        "summary": "Reactivate an account as suspended",
        "operationId": "post-v1-accounts-account_id-reactivate_as_suspended",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/receipts": {
      "get": {
        "summary": "List receipts",
        "operationId": "get-v1-accounts-account_id-receipts",
        "tags": [
          "receipts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_receipts_indexResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/retry_payment": {
      "post": {
        "summary": "Retry payment",
        "operationId": "post-v1-accounts-account_id-retry_payment",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/role_definitions": {
      "get": {
        "summary": "List role definitions",
        "operationId": "get-v1-accounts-account_id-role_definitions",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_roles_roleDefinitionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/roles": {
      "get": {
        "summary": "List roles",
        "operationId": "get-v1-accounts-account_id-roles",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_roles_rolesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create role",
        "operationId": "post-v1-accounts-account_id-roles",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_roles_roleCreateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_roles_roleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/roles/{role_id}": {
      "delete": {
        "summary": "Delete role",
        "operationId": "delete-v1-accounts-account_id-roles-role_id",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get role",
        "operationId": "get-v1-accounts-account_id-roles-role_id",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_roles_roleResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update role",
        "operationId": "put-v1-accounts-account_id-roles-role_id",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_roles_roleCreateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_roles_roleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/roles/{role_id}/copy": {
      "post": {
        "summary": "Copy role",
        "operationId": "post-v1-accounts-account_id-roles-role_id-copy",
        "tags": [
          "roles"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_roles_roleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/sales": {
      "post": {
        "summary": "Submit sales request",
        "operationId": "post-v1-accounts-account_id-sales",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_submitSalesRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/scim_configuration": {
      "delete": {
        "summary": "Delete SCIM configuration",
        "operationId": "delete-v1-accounts-account_id-scim_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get SCIM configuration",
        "operationId": "get-v1-accounts-account_id-scim_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_scimConfigurationResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create SCIM configuration",
        "operationId": "post-v1-accounts-account_id-scim_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_scimConfigurationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_scimConfigurationResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update SCIM configuration",
        "operationId": "put-v1-accounts-account_id-scim_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_scimConfigurationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_scimConfigurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/scim_configuration/tokens": {
      "post": {
        "summary": "Create a SCIM token",
        "operationId": "post-v1-accounts-account_id-scim_configuration-tokens",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_TokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/scim_configuration/tokens/{token_id}": {
      "delete": {
        "summary": "Delete a SCIM token",
        "operationId": "delete-v1-accounts-account_id-scim_configuration-tokens-token_id",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a SCIM token",
        "operationId": "get-v1-accounts-account_id-scim_configuration-tokens-token_id",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_TokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/service_accounts": {
      "get": {
        "summary": "List service accounts",
        "operationId": "get-v1-accounts-account_id-service_accounts",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "account_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by service account type: 'user', 'system', or 'agent'. Defaults to 'user' when omitted."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_service_accounts_serviceAccountResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create service account",
        "operationId": "post-v1-accounts-account_id-service_accounts",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_service_accounts_createServiceAccountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_service_accounts_serviceAccountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/service_accounts/{service_account_id}": {
      "delete": {
        "summary": "Delete service account",
        "operationId": "delete-v1-accounts-account_id-service_accounts-service_account_id",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get service account",
        "operationId": "get-v1-accounts-account_id-service_accounts-service_account_id",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_service_accounts_serviceAccountResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update service account",
        "operationId": "put-v1-accounts-account_id-service_accounts-service_account_id",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_service_accounts_updateServiceAccountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_service_accounts_serviceAccountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/service_accounts/{service_account_id}/tokens": {
      "get": {
        "summary": "List service account tokens",
        "operationId": "get-v1-accounts-account_id-service_accounts-service_account_id-tokens",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_service_accounts_tokenResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create service account token",
        "operationId": "post-v1-accounts-account_id-service_accounts-service_account_id-tokens",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_service_accounts_createTokenRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_service_accounts_createTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/service_accounts/{service_account_id}/tokens/{token_id}": {
      "delete": {
        "summary": "Revoke service account token",
        "operationId": "delete-v1-accounts-account_id-service_accounts-service_account_id-tokens-token_id",
        "tags": [
          "service_accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/session_duration": {
      "put": {
        "summary": "Set the maximum session duration for an account",
        "operationId": "put-v1-accounts-account_id-session_duration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_SessionDurationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/set_rd_access": {
      "put": {
        "summary": "Set RD access for an account",
        "operationId": "put-v1-accounts-account_id-set_rd_access",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_UpdateRdAccessRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/set_success_access": {
      "put": {
        "summary": "Set CS success access for an account",
        "operationId": "put-v1-accounts-account_id-set_success_access",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_UpdateSuccessAccessRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/set_support_access": {
      "put": {
        "summary": "Set TS support access for an account",
        "operationId": "put-v1-accounts-account_id-set_support_access",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_UpdateSupportAccessRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/settings/public": {
      "get": {
        "summary": "Get public settings for an account",
        "operationId": "get-v1-accounts-account_id-settings-public",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_publicSettingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update public settings for an account",
        "operationId": "put-v1-accounts-account_id-settings-public",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_UpdatePublicSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_publicSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/sign_logo": {
      "post": {
        "summary": "Generate a signed upload URL for an account logo",
        "operationId": "post-v1-accounts-account_id-sign_logo",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_SignLogoRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_signLogoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/slack_agent": {
      "delete": {
        "summary": "Disconnect the Slack agent for an account",
        "operationId": "delete-v1-accounts-account_id-slack_agent",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/slack_agent/identity": {
      "delete": {
        "summary": "Remove the current user's Slack account link",
        "operationId": "delete-v1-accounts-account_id-slack_agent-identity",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get the current user's Slack account link",
        "operationId": "get-v1-accounts-account_id-slack_agent-identity",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentIdentityResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/slack_agent/link": {
      "get": {
        "summary": "Describe a pending Slack user link for the current user",
        "operationId": "get-v1-accounts-account_id-slack_agent-link",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Signed link token from Slack"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentLinkStateResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Link a Slack user to the current Customer.io user",
        "operationId": "post-v1-accounts-account_id-slack_agent-link",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentLinkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/slack_agent/status": {
      "get": {
        "summary": "Get the Slack agent status for an account",
        "operationId": "get-v1-accounts-account_id-slack_agent-status",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/slack_agent/workspaces": {
      "get": {
        "summary": "List the Slack agent workspace grants for an account",
        "operationId": "get-v1-accounts-account_id-slack_agent-workspaces",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentWorkspacesResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Replace the Slack agent workspace grants for an account",
        "operationId": "put-v1-accounts-account_id-slack_agent-workspaces",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentWorkspacesUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentWorkspacesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/sms/usage": {
      "get": {
        "summary": "Get the account's SMS message-credit usage for the current billing period",
        "operationId": "get-v1-accounts-account_id-sms-usage",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_GetSMSUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/sso_configuration": {
      "delete": {
        "summary": "Delete SSO configuration",
        "operationId": "delete-v1-accounts-account_id-sso_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get SSO configuration",
        "operationId": "get-v1-accounts-account_id-sso_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_ssoConfigurationResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create SSO configuration",
        "operationId": "post-v1-accounts-account_id-sso_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_setupSSOConfigurationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_ssoConfigurationResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update SSO configuration",
        "operationId": "put-v1-accounts-account_id-sso_configuration",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_setupSSOConfigurationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_ssoConfigurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/sso_configuration/validations/email_domain_mismatch": {
      "get": {
        "summary": "Check for email domain mismatches among account users",
        "operationId": "get-v1-accounts-account_id-sso_configuration-validations-email_domain_mismatch",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email_domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Email domain to check against the account's SSO configuration."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/startup_signup": {
      "post": {
        "summary": "Persist startup-program signup fields to an account",
        "operationId": "post-v1-accounts-account_id-startup_signup",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_startupSignupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_startupSignupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/subscribe": {
      "post": {
        "summary": "Subscribe to a plan",
        "operationId": "post-v1-accounts-account_id-subscribe",
        "tags": [
          "billing"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_billing_subscribeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/support": {
      "post": {
        "summary": "Submit support request",
        "operationId": "post-v1-accounts-account_id-support",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_submitSupportRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/support/sign": {
      "post": {
        "summary": "Sign support asset upload",
        "operationId": "post-v1-accounts-account_id-support-sign",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_signRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_support_signResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/toggle_feature_flag": {
      "put": {
        "summary": "Toggle a self-service feature flag for an account",
        "operationId": "put-v1-accounts-account_id-toggle_feature_flag",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_ToggleFeatureFlagRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_updateAccountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/twilio/test": {
      "post": {
        "summary": "Test Twilio credentials",
        "operationId": "post-v1-accounts-account_id-twilio-test",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_twilioTestRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/upgrades": {
      "post": {
        "summary": "Submit upgrades request",
        "operationId": "post-v1-accounts-account_id-upgrades",
        "tags": [
          "support"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_support_submitUpgradesRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/urban_airship/test": {
      "post": {
        "summary": "Test Urban Airship credentials",
        "operationId": "post-v1-accounts-account_id-urban_airship-test",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_urbanAirshipTestRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/usage": {
      "get": {
        "summary": "Get account usage statistics",
        "operationId": "get-v1-accounts-account_id-usage",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_usageInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/usage_v2": {
      "get": {
        "summary": "Get account usage statistics v2",
        "operationId": "get-v1-accounts-account_id-usage_v2",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Unix timestamp marking the start of the usage window. Must be earlier than the current time. Defaults to the start of the account's current billing month."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_usageInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/user_roles": {
      "get": {
        "summary": "List account user roles",
        "operationId": "get-v1-accounts-account_id-user_roles",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userRolesMapResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users": {
      "get": {
        "summary": "List users",
        "operationId": "get-v1-accounts-account_id-users",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-indexed page of users to return (page size is 20)"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring match on first name, last name, and email"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort key; 'normalizedAccountPermissions.count' sorts admins first, otherwise sorts by most recent sign-in"
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Sort ascending instead of descending"
          },
          {
            "name": "workspace",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter to users who can access the given workspace ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_IndexResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create user",
        "operationId": "post-v1-accounts-account_id-users",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}": {
      "delete": {
        "summary": "Delete user",
        "operationId": "delete-v1-accounts-account_id-users-id",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get user",
        "operationId": "get-v1-accounts-account_id-users-id",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update user",
        "operationId": "put-v1-accounts-account_id-users-id",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/2fa_backup_codes": {
      "get": {
        "summary": "Get 2FA backup codes",
        "operationId": "get-v1-accounts-account_id-users-id-2fa_backup_codes",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_backupCodesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/2fa_generate_backup_codes": {
      "post": {
        "summary": "Generate new 2FA backup codes",
        "operationId": "post-v1-accounts-account_id-users-id-2fa_generate_backup_codes",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_backupCodesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/2fa_secret": {
      "get": {
        "summary": "Generate 2FA secret",
        "operationId": "get-v1-accounts-account_id-users-id-2fa_secret",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_twoFactorSecretResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/2fa_setup": {
      "post": {
        "summary": "Setup 2FA",
        "operationId": "post-v1-accounts-account_id-users-id-2fa_setup",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_setupRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/2fa_setup_destroy": {
      "post": {
        "summary": "Destroy 2FA setup",
        "operationId": "post-v1-accounts-account_id-users-id-2fa_setup_destroy",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_destroyRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/google_identity_duplicates": {
      "get": {
        "summary": "List your duplicate Google logins",
        "description": "Lists every other Google login that shares your Google identity (same email, '+'-alias, or OIDC subject) and, for each, the account access that would move to you on merge. Read-only.",
        "operationId": "get-v1-accounts-account_id-users-id-google_identity_duplicates",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_MergeGoogleIdentitiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/membership": {
      "delete": {
        "summary": "Leave account",
        "description": "Removes the authenticated caller from this account regardless of their status. Only the caller themselves may call this (:id must be the session user); no team-member-management permission is required. If this account is the caller's home account their login identity is destroyed (revoking their sessions and any memberships they hold in other accounts); otherwise they are a guest and only their membership in this account is removed. Refuses (403) if it would strip the account of its administration: a home user needs another non-guest admin to remain (a guest admin doesn't count), and a guest needs the account to keep a team manager.",
        "operationId": "delete-v1-accounts-account_id-users-id-membership",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/merge_google_identities": {
      "post": {
        "summary": "Merge your duplicate Google logins into your account",
        "description": "Grants you the account access (membership, account-level permissions, and workspace roles) of the Google logins that share your Google identity for accounts you are not already a member of, then removes those duplicate logins. Pass duplicate_user_ids to merge only a chosen subset of the matches (each must be a match); omit it to merge all. Refuses (409) if the merge would leave an account without a team manager.",
        "operationId": "post-v1-accounts-account_id-users-id-merge_google_identities",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_MergeGoogleIdentitiesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_MergeGoogleIdentitiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/permissions": {
      "get": {
        "summary": "Get user permissions",
        "operationId": "get-v1-accounts-account_id-users-id-permissions",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_PermissionsModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/profile_image": {
      "delete": {
        "summary": "Delete a user profile image",
        "operationId": "delete-v1-accounts-account_id-users-id-profile_image",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "summary": "Upload a user profile image",
        "description": "Sets the authenticated caller's profile image from a multipart/form-data upload and responds with the updated user. The image must be a JPEG, PNG, GIF, or WebP no larger than 2MB; anything else is rejected (400).",
        "operationId": "post-v1-accounts-account_id-users-id-profile_image",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_uploadProfileImageForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/roles": {
      "get": {
        "summary": "Get user roles",
        "operationId": "get-v1-accounts-account_id-users-id-roles",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userRolesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/settings": {
      "patch": {
        "summary": "Update current user settings",
        "operationId": "patch-v1-accounts-account_id-users-id-settings",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_updateUserSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/settings/{env_id}": {
      "get": {
        "summary": "Get user settings",
        "operationId": "get-v1-accounts-account_id-users-id-settings-env_id",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "env_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_settingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update user settings",
        "operationId": "put-v1-accounts-account_id-users-id-settings-env_id",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "env_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_updateSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/subscriptions": {
      "get": {
        "summary": "Get user subscriptions",
        "operationId": "get-v1-accounts-account_id-users-id-subscriptions",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_users_UserSubscriptions"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/subscriptions/weekly": {
      "delete": {
        "summary": "Unsubscribe from weekly email",
        "operationId": "delete-v1-accounts-account_id-users-id-subscriptions-weekly",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_unsubscribeWeeklyRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Subscribe to weekly email",
        "operationId": "put-v1-accounts-account_id-users-id-subscriptions-weekly",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_users_subscribeWeeklyRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/users/{id}/toggle_user_flags": {
      "post": {
        "summary": "Toggle user flags",
        "operationId": "post-v1-accounts-account_id-users-id-toggle_user_flags",
        "tags": [
          "users"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_users_userResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/validate_address": {
      "post": {
        "summary": "Validate a postal address via Google Maps",
        "operationId": "post-v1-accounts-account_id-validate_address",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_ValidateAddressRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/verify": {
      "post": {
        "summary": "Submit an account verification request",
        "operationId": "post-v1-accounts-account_id-verify",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_VerifyRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/whitelisted_ips": {
      "get": {
        "summary": "List whitelisted IPs",
        "operationId": "get-v1-accounts-account_id-whitelisted_ips",
        "tags": [
          "whitelisted_ips"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whitelisted_ips_whitelistedIPsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create whitelisted IP",
        "operationId": "post-v1-accounts-account_id-whitelisted_ips",
        "tags": [
          "whitelisted_ips"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_whitelisted_ips_whitelistedIPCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whitelisted_ips_whitelistedIPResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/{account_id}/whitelisted_ips/{id}": {
      "delete": {
        "summary": "Delete whitelisted IP",
        "operationId": "delete-v1-accounts-account_id-whitelisted_ips-id",
        "tags": [
          "whitelisted_ips"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/accounts/{account_id}/workspace_audit_logs": {
      "get": {
        "summary": "List workspace audit logs across all of an account's workspaces",
        "operationId": "get-v1-accounts-account_id-workspace_audit_logs",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of records to return (default 20, max 100)"
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort order (default desc)"
          },
          {
            "name": "workspace_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Restrict to these workspaces (comma-separated environment IDs; each must belong to the account)"
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by user ID"
          },
          {
            "name": "service_account_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by service account ID"
          },
          {
            "name": "ip_addr",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by IP address (prefix match)"
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Lower time bound (RFC3339)"
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Upper time bound (RFC3339)"
          },
          {
            "name": "object_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by object type"
          },
          {
            "name": "object_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by object ID (requires object_type)"
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "deleted"
              ]
            },
            "description": "Filter by action (requires object_type or object_id)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_accountWorkspaceAuditLogsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/alias": {
      "post": {
        "summary": "Alias anonymous user",
        "operationId": "post-v1-alias",
        "tags": [
          "tracking"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_tracking_aliasRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/dns_setup/exchange": {
      "post": {
        "summary": "Exchange a DNS setup handoff token for the Entri config",
        "operationId": "post-v1-dns_setup-exchange",
        "tags": [
          "domains"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_domains_dnsSetupExchangeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_EntriTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/ds/preferences": {
      "get": {
        "summary": "Get the current user's Design Studio preferences",
        "operationId": "get-v1-ds-preferences",
        "tags": [
          "ds_preferences"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_preferences_preferencesResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update the current user's Design Studio preferences",
        "operationId": "put-v1-ds-preferences",
        "tags": [
          "ds_preferences"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_preferences_updatePreferencesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_preferences_preferencesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}": {
      "delete": {
        "summary": "Delete an environment",
        "operationId": "delete-v1-environments-environment_id",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an environment",
        "operationId": "get-v1-environments-environment_id",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_GetEnvironmentResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update an environment",
        "operationId": "put-v1-environments-environment_id",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateEnvironmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_UpdateEnvironmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}": {
      "get": {
        "summary": "Get action",
        "operationId": "get-v1-environments-environment_id-actions-action_id",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_actionGetResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update action",
        "operationId": "put-v1-environments-environment_id-actions-action_id",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_actionUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_actionUpdateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/metrics": {
      "get": {
        "summary": "Get action metrics",
        "operationId": "get-v1-environments-environment_id-actions-action_id-metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_actionMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/optimal_time/start": {
      "post": {
        "summary": "Start recommended send time",
        "operationId": "post-v1-environments-environment_id-actions-action_id-optimal_time-start",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_recommendedSendTimeStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/optimal_time/status": {
      "get": {
        "summary": "Poll recommended send time status",
        "operationId": "get-v1-environments-environment_id-actions-action_id-optimal_time-status",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the recommendation was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_recommendedSendTimeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/split_metrics": {
      "get": {
        "summary": "Get split metrics for action",
        "operationId": "get-v1-environments-environment_id-actions-action_id-split_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_splitMetricsActionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/subjects": {
      "get": {
        "summary": "List action subjects",
        "operationId": "get-v1-environments-environment_id-actions-action_id-subjects",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_actionSubjectsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/test": {
      "post": {
        "summary": "Convert action to split test",
        "operationId": "post-v1-environments-environment_id-actions-action_id-test",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_actionConvertToSplitRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_actionSplitResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/tracked_responses": {
      "get": {
        "summary": "Get tracked responses for action",
        "operationId": "get-v1-environments-environment_id-actions-action_id-tracked_responses",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_trackedResponsesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/variables": {
      "get": {
        "summary": "Get action variables",
        "operationId": "get-v1-environments-environment_id-actions-action_id-variables",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_actionVariablesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/actions/{action_id}/winner": {
      "post": {
        "summary": "Choose split test winner",
        "operationId": "post-v1-environments-environment_id-actions-action_id-winner",
        "tags": [
          "actions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_actionChooseWinnerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/all_metrics": {
      "get": {
        "summary": "Get all environment metrics",
        "operationId": "get-v1-environments-environment_id-all_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_allEnvironmentMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/anonymous_events_merge": {
      "get": {
        "summary": "Get anonymous events merge setting",
        "operationId": "get-v1-environments-environment_id-anonymous_events_merge",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update anonymous events merge setting",
        "operationId": "post-v1-environments-environment_id-anonymous_events_merge",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/anonymous_form_submissions": {
      "get": {
        "summary": "List anonymous form submissions",
        "operationId": "get-v1-environments-environment_id-anonymous_form_submissions",
        "tags": [
          "anonymous_form_submissions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "inapp_broadcast_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "In-app broadcast ID (required)"
          },
          {
            "name": "form_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Form ID (required)"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque pagination cursor from a prior response (omit for first page)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size (default 50, max 1000)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_AnonymousFormSubmissionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/anonymous_form_submissions/forms": {
      "get": {
        "summary": "List forms with anonymous submissions",
        "operationId": "get-v1-environments-environment_id-anonymous_form_submissions-forms",
        "tags": [
          "anonymous_form_submissions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "inapp_broadcast_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "In-app broadcast ID (required)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_AnonymousFormsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/api_credentials": {
      "post": {
        "summary": "Create API credential",
        "operationId": "post-v1-environments-environment_id-api_credentials",
        "tags": [
          "api_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_api_credentials_apiCredentialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_api_credentials_apiCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/api_credentials/{id}": {
      "delete": {
        "summary": "Delete API credential",
        "operationId": "delete-v1-environments-environment_id-api_credentials-id",
        "tags": [
          "api_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update API credential",
        "operationId": "put-v1-environments-environment_id-api_credentials-id",
        "tags": [
          "api_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_api_credentials_apiCredentialRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_api_credentials_apiCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/apps": {
      "get": {
        "summary": "List apps",
        "operationId": "get-v1-environments-environment_id-apps",
        "tags": [
          "apps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_apps_appsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/apps/{app_id}": {
      "get": {
        "summary": "Get an app and its platform entries",
        "operationId": "get-v1-environments-environment_id-apps-app_id",
        "tags": [
          "apps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_apps_appResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets": {
      "delete": {
        "summary": "Delete assets",
        "operationId": "delete-v1-environments-environment_id-assets",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_deleteAssetsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Search assets",
        "operationId": "get-v1-environments-environment_id-assets",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Base64-encoded search term"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "size",
                "type",
                "name"
              ]
            },
            "description": "Sort field"
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort order (default desc)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 250
            },
            "description": "Results per page (default 50, max 250)"
          },
          {
            "name": "ignore_dirs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Set to 'true' to exclude directories"
          },
          {
            "name": "folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by folder ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_searchAssetsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create asset",
        "operationId": "post-v1-environments-environment_id-assets",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_createAssetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Bulk move assets",
        "operationId": "put-v1-environments-environment_id-assets",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_updateManyAssetsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/duplicates": {
      "get": {
        "summary": "Find duplicate assets by content hash",
        "operationId": "get-v1-environments-environment_id-assets-duplicates",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content_sha256",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Hex SHA-256 of the file the client is about to upload."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/list": {
      "get": {
        "summary": "List assets",
        "operationId": "get-v1-environments-environment_id-assets-list",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1
            },
            "description": "Page size (default 100)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1
            },
            "description": "Page number (default 1)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_listAssetsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/register": {
      "post": {
        "summary": "Register uploaded asset",
        "operationId": "post-v1-environments-environment_id-assets-register",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_registerAssetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/sign": {
      "post": {
        "summary": "Sign asset upload",
        "operationId": "post-v1-environments-environment_id-assets-sign",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_signAssetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_signAssetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/upload": {
      "post": {
        "summary": "Upload asset",
        "operationId": "post-v1-environments-environment_id-assets-upload",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_uploadAssetForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/{id}": {
      "put": {
        "summary": "Update asset",
        "operationId": "put-v1-environments-environment_id-assets-id",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_assets_updateAssetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/assets/{id}/restore": {
      "put": {
        "summary": "Restore asset",
        "operationId": "put-v1-environments-environment_id-assets-id-restore",
        "tags": [
          "assets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_assets_assetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes": {
      "delete": {
        "summary": "Batch delete profile attributes",
        "operationId": "delete-v1-environments-environment_id-attributes",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_BatchDeleteAttributesRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "List profile attributes",
        "description": "Returns a paginated list of profile attributes with metadata summaries including description, privacy level, tags, and sources. Supports server-side name search (search) plus in-use, tag, and source filters.",
        "operationId": "get-v1-environments-environment_id-attributes",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring to match attribute names server-side"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number (default 1)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, capped server-side (default and max ItemsPerPage=50)"
          },
          {
            "name": "inUseOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only attributes currently in use (referenced by campaigns, segments, etc.)"
          },
          {
            "name": "searchTagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter to attributes tagged with any of these tag IDs"
          },
          {
            "name": "sourceIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter to attributes seen from any of these source IDs"
          },
          {
            "name": "objectType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Object type ID: list that type's object attributes instead of people attributes"
          },
          {
            "name": "relationship",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "With objectType, list that type's relationship attributes instead of its object attributes"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_SchemaAttributeListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes/metadata/batch": {
      "post": {
        "summary": "Batch update profile attribute metadata",
        "operationId": "post-v1-environments-environment_id-attributes-metadata-batch",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes/profile_count": {
      "post": {
        "summary": "Get attribute profile counts",
        "description": "Returns the number of people who have each of the specified profile attributes set. Counts are cached and computed under a time budget: attributes whose counts are not ready yet are omitted from the response, and requesting them again returns them once computed.",
        "operationId": "post-v1-environments-environment_id-attributes-profile_count",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_AttributesProfileCountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_AttributesProfileCountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes/usage": {
      "post": {
        "summary": "Get attribute usage counts",
        "description": "Returns the number of segments, campaigns, and newsletters that reference each of the specified profile attributes.",
        "operationId": "post-v1-environments-environment_id-attributes-usage",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_AttributesUsageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_AttributesUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes/{attribute}": {
      "delete": {
        "summary": "Delete a profile attribute",
        "operationId": "delete-v1-environments-environment_id-attributes-attribute",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get profile attribute details",
        "description": "Returns detailed information about a profile attribute including metadata, segments, campaigns, newsletters, templates, snippets, and layouts that reference it.",
        "operationId": "get-v1-environments-environment_id-attributes-attribute",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_AttributeDetailWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes/{attribute}/metadata": {
      "put": {
        "summary": "Update profile attribute metadata",
        "operationId": "put-v1-environments-environment_id-attributes-attribute-metadata",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes/{attribute}/tags": {
      "put": {
        "summary": "Update profile attribute tags",
        "operationId": "put-v1-environments-environment_id-attributes-attribute-tags",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateAttributeTagsRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes_totals": {
      "get": {
        "summary": "Get profile attribute totals",
        "description": "Returns total and in-use counts for profile attributes without fetching the full list. Used by the frontend for pagination totals.",
        "operationId": "get-v1-environments-environment_id-attributes_totals",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring to match attribute names server-side"
          },
          {
            "name": "inUseOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, count only attributes currently in use (referenced by campaigns, segments, etc.)"
          },
          {
            "name": "searchTagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Count only attributes tagged with any of these tag IDs"
          },
          {
            "name": "sourceIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Count only attributes seen from any of these source IDs"
          },
          {
            "name": "objectType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Object type ID: count that type's object attributes instead of people attributes"
          },
          {
            "name": "relationship",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "With objectType, count that type's relationship attributes instead of its object attributes"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_TotalsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/attributes_values": {
      "get": {
        "summary": "List profile attribute values",
        "operationId": "get-v1-environments-environment_id-attributes_values",
        "tags": [
          "value_lists"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Profile attribute name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_StringListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audience_credentials": {
      "get": {
        "summary": "List audience credentials",
        "operationId": "get-v1-environments-environment_id-audience_credentials",
        "tags": [
          "audience_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audience_credentials_credentialsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create audience credential",
        "operationId": "post-v1-environments-environment_id-audience_credentials",
        "tags": [
          "audience_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audience_credentials_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audience_credentials_credentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audience_credentials/{id}": {
      "delete": {
        "summary": "Delete audience credential",
        "operationId": "delete-v1-environments-environment_id-audience_credentials-id",
        "tags": [
          "audience_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update audience credential",
        "operationId": "put-v1-environments-environment_id-audience_credentials-id",
        "tags": [
          "audience_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audience_credentials_updateRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audience_credentials_credentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audiences": {
      "get": {
        "summary": "List audiences",
        "operationId": "get-v1-environments-environment_id-audiences",
        "tags": [
          "audiences"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "adwords",
                "facebook"
              ]
            },
            "description": "Filter by audience type (adwords or facebook)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audiences_audiencesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create audience",
        "operationId": "post-v1-environments-environment_id-audiences",
        "tags": [
          "audiences"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audiences_audienceCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audiences_audienceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audiences/bulk_consent": {
      "post": {
        "summary": "Update bulk consent",
        "operationId": "post-v1-environments-environment_id-audiences-bulk_consent",
        "tags": [
          "audiences"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audiences_bulkConsentRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audiences/{id}": {
      "delete": {
        "summary": "Delete audience",
        "operationId": "delete-v1-environments-environment_id-audiences-id",
        "tags": [
          "audiences"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get audience",
        "operationId": "get-v1-environments-environment_id-audiences-id",
        "tags": [
          "audiences"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audiences_audienceResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update audience",
        "operationId": "put-v1-environments-environment_id-audiences-id",
        "tags": [
          "audiences"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audiences_audienceUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audiences_audienceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audit_log/{id}": {
      "get": {
        "summary": "Get workspace audit log",
        "operationId": "get-v1-environments-environment_id-audit_log-id",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_auditLogDetailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audit_logs": {
      "get": {
        "summary": "List workspace audit logs",
        "description": "Always pass object_type to filter results — unfiltered queries are slow on large workspaces. Use start_time/end_time to narrow the window and paginate with cursor rather than increasing limit.",
        "operationId": "get-v1-environments-environment_id-audit_logs",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of records to return (default 20, max 100)"
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort order (default desc)"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Audit log ID to page after (sort_order=asc) or before (sort_order=desc)"
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by user ID"
          },
          {
            "name": "service_account_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by service account ID"
          },
          {
            "name": "ip_addr",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by IP address (prefix match)"
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Lower time bound (RFC3339)"
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Upper time bound (RFC3339)"
          },
          {
            "name": "object_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by object type"
          },
          {
            "name": "object_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by object ID (requires object_type)"
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "deleted"
              ]
            },
            "description": "Filter by action (requires object_type or object_id)"
          },
          {
            "name": "attribute_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by changed attribute name (requires object_type or object_id)"
          },
          {
            "name": "campaign_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter CampaignAction logs by campaign ID (requires object_type=CampaignAction)"
          },
          {
            "name": "campaign_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "triggered_broadcast",
                "exclude_triggered_broadcast"
              ]
            },
            "description": "Filter Campaign logs by type: triggered_broadcast or exclude_triggered_broadcast (requires object_type=Campaign)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audit_logs/export": {
      "post": {
        "summary": "Export workspace audit logs",
        "operationId": "post-v1-environments-environment_id-audit_logs-export",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_audit_logs_exportAuditLogsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_exportResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/audit_logs/field_options": {
      "get": {
        "summary": "List workspace audit log filter options",
        "description": "The object types the workspace audit log filter can offer, and the field names records of each type carry. Internal-only object types are not included.",
        "operationId": "get-v1-environments-environment_id-audit_logs-field_options",
        "tags": [
          "audit_logs"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_audit_logs_fieldOptionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/auto_merge": {
      "get": {
        "summary": "Get auto merge setting",
        "operationId": "get-v1-environments-environment_id-auto_merge",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update auto merge setting",
        "operationId": "post-v1-environments-environment_id-auto_merge",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/auto_merge_on_update": {
      "get": {
        "summary": "Get auto merge on update setting",
        "operationId": "get-v1-environments-environment_id-auto_merge_on_update",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update auto merge on update setting",
        "operationId": "post-v1-environments-environment_id-auto_merge_on_update",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/auto_tls_domains": {
      "get": {
        "summary": "List auto TLS domains",
        "operationId": "get-v1-environments-environment_id-auto_tls_domains",
        "tags": [
          "auto_tls_domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "purpose",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "short_links",
                "link_tracking"
              ]
            },
            "description": "Filter by purpose: short_links or link_tracking"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_auto_tls_domains_autoTLSDomainsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create auto TLS domain",
        "operationId": "post-v1-environments-environment_id-auto_tls_domains",
        "tags": [
          "auto_tls_domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_auto_tls_domains_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_auto_tls_domains_autoTLSDomainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/auto_tls_domains/{auto_tls_domain_id}": {
      "delete": {
        "summary": "Delete auto TLS domain",
        "operationId": "delete-v1-environments-environment_id-auto_tls_domains-auto_tls_domain_id",
        "tags": [
          "auto_tls_domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "auto_tls_domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get auto TLS domain",
        "operationId": "get-v1-environments-environment_id-auto_tls_domains-auto_tls_domain_id",
        "tags": [
          "auto_tls_domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "auto_tls_domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_auto_tls_domains_autoTLSDomainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/auto_tls_domains/{auto_tls_domain_id}/verify_dns": {
      "post": {
        "summary": "Verify DNS for auto TLS domain",
        "operationId": "post-v1-environments-environment_id-auto_tls_domains-auto_tls_domain_id-verify_dns",
        "tags": [
          "auto_tls_domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "auto_tls_domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_auto_tls_domains_autoTLSDomainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/autocomplete/slack": {
      "post": {
        "summary": "Autocomplete Slack channels and users",
        "operationId": "post-v1-environments-environment_id-autocomplete-slack",
        "tags": [
          "autocomplete"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_autocomplete_slackAutocompleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/backfills": {
      "get": {
        "summary": "List backfills",
        "operationId": "get-v1-environments-environment_id-backfills",
        "tags": [
          "backfills"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Zero-based page number"
          },
          {
            "name": "continuation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Next page token returned by the previous response; enhanced pagination uses a scan cursor"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page when using enhanced pagination (max 100)"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Blank",
                "Segment",
                "DeleteSegment",
                "ConditionSchedule",
                "CampaignBackfill",
                "CampaignDelete",
                "ActionBackfill",
                "ActionDelete",
                "NewsletterSend",
                "DeliveriesManage",
                "Export",
                "DeleteOldDrafts",
                "Temporary",
                "TriggeredBroadcast",
                "ImportPreprocess",
                "ImportProcess",
                "CleanAttrIndexes",
                "ForceRejoinCampaign",
                "DeleteCustomersInSegment",
                "DeleteCustomers",
                "ProcessPerUserDataForBroadcast",
                "ChangeRestartSettings",
                "DeliveriesMerge",
                "DraftsMerge",
                "DeleteAudience",
                "CampaignArchive",
                "CampaignStop",
                "ArchiveUnusedSegs",
                "CollectionImport",
                "DeleteEtype",
                "SQLImport",
                "CampaignStopping",
                "CancelQueuedTransactional",
                "CancelQueuedInApps",
                "DeleteObjectType",
                "DeleteObjects",
                "RedirectTemplates",
                "ClearStaticSegment",
                "InAppBroadcastHandler",
                "DeleteAttribute",
                "DeleteObjectAttribute",
                "DeleteObjectRelAttribute",
                "CancelQueuedInboxMessages"
              ]
            },
            "description": "Backfill type enum name"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Queued",
                "InProgress",
                "Success",
                "Retrying",
                "Failure",
                "Canceled"
              ]
            },
            "description": "Backfill state enum name"
          },
          {
            "name": "priority",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Default",
                "Background",
                "Priority",
                "Import",
                "ProfileExport",
                "DeliveriesExport",
                "SendNewsletter",
                "RunAlias",
                "SQL_Import",
                "SendTriggeredBroadcast",
                "ResolveTriggeredBroadcast"
              ]
            },
            "description": "Backfill priority/queue enum name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_backfills_listResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/backfills/{backfill_id}/deprioritize": {
      "post": {
        "summary": "Deprioritize backfill",
        "operationId": "post-v1-environments-environment_id-backfills-backfill_id-deprioritize",
        "tags": [
          "backfills"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "backfill_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_backfills_deprioritizeRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/backfills/{backfill_id}/requeue": {
      "post": {
        "summary": "Requeue backfill",
        "operationId": "post-v1-environments-environment_id-backfills-backfill_id-requeue",
        "tags": [
          "backfills"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "backfill_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaign_message_throttle_supported_channels": {
      "get": {
        "summary": "List supported campaign message throttle channels",
        "operationId": "get-v1-environments-environment_id-campaign_message_throttle_supported_channels",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_messageThrottleSupportedChannelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns": {
      "get": {
        "summary": "List campaigns",
        "operationId": "get-v1-environments-environment_id-campaigns",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (0-indexed)"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "running",
                "draft",
                "stopped",
                "scheduled"
              ]
            },
            "description": "Filter by state: running, draft, stopped, scheduled"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by a single campaign type (overrides searchType[])"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by name or description"
          },
          {
            "name": "searchString",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Alias for search"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "name",
                "created",
                "updated",
                "sent",
                "delivered",
                "opened",
                "clicked",
                "attempted",
                "converted",
                "bounced",
                "failed",
                "spammed",
                "undeliverable",
                "unsubscribed",
                "topic_unsubscribed"
              ]
            },
            "description": "Sort key: name, created, updated, or a metric key (e.g. sent)"
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Sort ascending"
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response/metrics version (e.g. 2)"
          },
          {
            "name": "sample",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Only return sample campaigns"
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "List archived campaigns"
          },
          {
            "name": "subscriptionTopicId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by subscription topic ID (-1 none in settings, 0 none in settings or messages, N\u003e0 topic)"
          },
          {
            "name": "sendToUnsubscribed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by send-to-unsubscribed setting"
          },
          {
            "name": "excludeActions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Omit campaign actions from the response"
          },
          {
            "name": "excludeMetrics",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Omit metrics from the response"
          },
          {
            "name": "excludeTags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Omit tags from the response"
          },
          {
            "name": "searchType[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by one or more campaign types"
          },
          {
            "name": "tagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by tag IDs"
          },
          {
            "name": "searchTagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Alias for tagIds[]"
          },
          {
            "name": "objectTypeIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by object type IDs"
          },
          {
            "name": "goalIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by goal IDs"
          },
          {
            "name": "geosetId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by geofence set ID for geofence-triggered campaigns"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_listCampaignsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create campaign",
        "operationId": "post-v1-environments-environment_id-campaigns",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_createCampaignRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}": {
      "delete": {
        "summary": "Delete campaign permanently. Not archive: to archive, PUT the campaign with update_type state and state archive",
        "operationId": "delete-v1-environments-environment_id-campaigns-campaign_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_deleteResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Get campaign",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_getCampaignResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update campaign",
        "description": "update_type selects which fields are processed; one of: main, state, recipients, add_actions, save_action, delete_actions, edges, conversion, exit_and_conversion, exit_conditions, global_settings, queued_disposition.\n\nFields specific to a value, in addition to the shared fields:\n- main: name, description\n- state: state, backfill, scheduled_start, scheduled_start_should_backfill, scheduled_stop, scheduled_stop_should_sunset, disposition\n- recipients: type, recipients_filter, object_type_id, date_triggered_fallback_zone\n- add_actions: edges\n- save_action: edges\n- delete_actions: edges\n- edges: edges\n- conversion: conversion, conversion_window, conversion_action, goal_id\n- exit_and_conversion: conversion, conversion_window, conversion_action, goal_id, exit_on_trigger_or_filter_not_matched, exit_on_conversion_matched, global_exit_conditions\n- exit_conditions: exit_on_trigger_or_filter_not_matched, exit_on_conversion_matched, global_exit_conditions\n- global_settings: send_to_unsubscribed, use_message_limits, use_workspace_message_limits_retry, message_limits_retry_window_secs, message_throttle, frequency_cap_id, frequency_cap_mode, subscription_topic_id\n- queued_disposition: disposition",
        "operationId": "put-v1-environments-environment_id-campaigns-campaign_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_campaignUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/action_metrics": {
      "get": {
        "summary": "Get all action metrics for campaign",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-action_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_allActionMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/action_status": {
      "get": {
        "summary": "Get campaign action status",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-action_status",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_actionsStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/channel_metrics": {
      "get": {
        "summary": "Get channel metrics for campaign",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-channel_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_channelMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/duplicate": {
      "post": {
        "summary": "Duplicate campaign",
        "operationId": "post-v1-environments-environment_id-campaigns-campaign_id-duplicate",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/experiments": {
      "get": {
        "summary": "List the experiments a campaign holds",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-experiments",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_campaignExperimentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/experiments/{experiment_id}/shape": {
      "get": {
        "summary": "Describe an experiment's shape on a campaign's live graph",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-experiments-experiment_id-shape",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_experiments_SnapshotData"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/forms": {
      "get": {
        "summary": "List campaign forms",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-forms",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_FormsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/journey_metrics": {
      "get": {
        "summary": "Get journey metrics",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-journey_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_journeyMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/metrics": {
      "get": {
        "summary": "Get campaign metrics",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-metrics",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_getCampaignMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/next": {
      "get": {
        "summary": "List next profiles",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-next",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Unix timestamp (dueAt) to start listing scheduled profiles from. Defaults to 0."
          },
          {
            "name": "continuation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque continuation token from a previous response. Omit to fetch the first page."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_nextProfilesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/notes": {
      "delete": {
        "summary": "Delete sticky notes (bulk)",
        "operationId": "delete-v1-environments-environment_id-campaigns-campaign_id-notes",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_deleteStickiesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "List sticky notes",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-notes",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_stickiesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create sticky note",
        "operationId": "post-v1-environments-environment_id-campaigns-campaign_id-notes",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_createStickyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_stickyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/notes/{note_id}": {
      "delete": {
        "summary": "Delete sticky note",
        "operationId": "delete-v1-environments-environment_id-campaigns-campaign_id-notes-note_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update sticky note",
        "operationId": "put-v1-environments-environment_id-campaigns-campaign_id-notes-note_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_updateStickyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_stickyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/send_timing": {
      "get": {
        "summary": "Get per-second send counts for a triggered broadcast's triggers",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-send_timing",
        "tags": [
          "broadcasts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start, unix seconds. Without start, end and trigger_id, the window is 30 minutes around the latest trigger with send data, or the last 30 minutes when there is none."
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end, unix seconds. Given with start. At most 25 hours after start without trigger_id."
          },
          {
            "name": "trigger_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Return only this trigger, with its line. Without start and end, the window fits the trigger's send."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_sendTimingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/split_metrics": {
      "get": {
        "summary": "Get split metrics for campaign",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-split_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_splitMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/tags": {
      "post": {
        "summary": "Add tags to campaign",
        "operationId": "post-v1-environments-environment_id-campaigns-campaign_id-tags",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_addTagsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/tags/{tag_id}": {
      "delete": {
        "summary": "Remove tag from campaign",
        "operationId": "delete-v1-environments-environment_id-campaigns-campaign_id-tags-tag_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignsModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/tracked_link_metric": {
      "get": {
        "summary": "Get campaign tracked link metrics",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-tracked_link_metric",
        "tags": [
          "tracked_link_metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_trackedLinkMetricEnvelope"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/tracked_response_metrics": {
      "get": {
        "summary": "Get campaign tracked response metrics",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-tracked_response_metrics",
        "tags": [
          "tracked_response_metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_response_metrics_metricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/triggers": {
      "get": {
        "summary": "List broadcast triggers",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-triggers",
        "tags": [
          "broadcasts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number for paginating triggers. Defaults to 1."
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of triggers per page. Defaults to 50, capped at 100."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_listBroadcastTriggersResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Trigger broadcast",
        "operationId": "post-v1-environments-environment_id-campaigns-campaign_id-triggers",
        "tags": [
          "broadcasts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_triggerBroadcastRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_triggerBroadcastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/triggers/{trigger_id}": {
      "get": {
        "summary": "Get broadcast trigger details",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-triggers-trigger_id",
        "tags": [
          "broadcasts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trigger_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_getBroadcastTriggerDetailsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/triggers/{trigger_id}/download_errors": {
      "get": {
        "summary": "Download broadcast trigger errors",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-triggers-trigger_id-download_errors",
        "tags": [
          "broadcasts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trigger_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_downloadBroadcastTriggerErrorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/untranslated_actions": {
      "get": {
        "summary": "List untranslated actions",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-untranslated_actions",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/validate": {
      "get": {
        "summary": "Validate campaign",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-validate",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_validateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/versions": {
      "get": {
        "summary": "List campaign versions",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-versions",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_campaignVersionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/versions/{version}": {
      "get": {
        "summary": "Get campaign version",
        "operationId": "get-v1-environments-environment_id-campaigns-campaign_id-versions-version",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/campaigns/{campaign_id}/webhooks": {
      "post": {
        "summary": "Create campaign webhook",
        "operationId": "post-v1-environments-environment_id-campaigns-campaign_id-webhooks",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pending_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "WebhookTriggered"
              ]
            },
            "description": "Set to WebhookTriggered when the campaign's type is being changed to webhook and the change is not yet saved"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_webhookResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/categories": {
      "get": {
        "summary": "List categories",
        "operationId": "get-v1-environments-environment_id-categories",
        "tags": [
          "categories"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_categories_categoriesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create category",
        "operationId": "post-v1-environments-environment_id-categories",
        "tags": [
          "categories"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_categories_categoryCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_categories_categoryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/categories/{category_id}": {
      "delete": {
        "summary": "Delete category",
        "operationId": "delete-v1-environments-environment_id-categories-category_id",
        "tags": [
          "categories"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get category",
        "operationId": "get-v1-environments-environment_id-categories-category_id",
        "tags": [
          "categories"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_categories_categoryResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update category",
        "operationId": "put-v1-environments-environment_id-categories-category_id",
        "tags": [
          "categories"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_categories_categoryUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_categories_categoryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collection_items": {
      "get": {
        "summary": "List collection items",
        "operationId": "get-v1-environments-environment_id-collection_items",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collection_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "ID of the collection whose items to list"
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Attribute name to sort the items by"
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Sort ascending when true, descending otherwise (default false)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number (default 1, must be \u003e= 1)"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of items per page; 0 or omitted uses the default of 50"
          },
          {
            "name": "conditions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "URL-safe base64-encoded condition filter applied to the items"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_collectionItemsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collections": {
      "get": {
        "summary": "List collections",
        "operationId": "get-v1-environments-environment_id-collections",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_collectionsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create collection",
        "operationId": "post-v1-environments-environment_id-collections",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_collections_createCollectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_collectionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collections/query": {
      "post": {
        "summary": "Query collection",
        "operationId": "post-v1-environments-environment_id-collections-query",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_collections_queryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_queryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collections/sign": {
      "post": {
        "summary": "Generate upload signature",
        "operationId": "post-v1-environments-environment_id-collections-sign",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_collections_signCollectionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_signCollectionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collections/{id}": {
      "delete": {
        "summary": "Delete collection",
        "operationId": "delete-v1-environments-environment_id-collections-id",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get collection",
        "operationId": "get-v1-environments-environment_id-collections-id",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_collectionResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update collection",
        "description": "update_type selects which fields are processed; one of: name, description, s3_import, sheet, displayed_attributes, clear_error.\n\nFields specific to a value, in addition to the shared fields:\n- name: name\n- description: description\n- s3_import: s3_import\n- sheet: sheet\n- displayed_attributes: displayed_attributes",
        "operationId": "put-v1-environments-environment_id-collections-id",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_collections_collectionUpdateBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_collectionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collections/{id}/usage": {
      "get": {
        "summary": "Get collection usage",
        "operationId": "get-v1-environments-environment_id-collections-id-usage",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_collections_collectionUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/collections_usage": {
      "get": {
        "summary": "Get usage for multiple collections",
        "operationId": "get-v1-environments-environment_id-collections_usage",
        "tags": [
          "collections"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collection_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated collection IDs; omit for every referenced collection in the workspace"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/services_ui_api_collections_collectionUsageModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/conversations": {
      "get": {
        "summary": "List conversations",
        "operationId": "get-v1-environments-environment_id-conversations",
        "tags": [
          "conversations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_conversations_conversationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/conversations/{conversation_uuid}/details": {
      "get": {
        "summary": "Get conversation details",
        "operationId": "get-v1-environments-environment_id-conversations-conversation_uuid-details",
        "tags": [
          "conversations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "conversation_uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_conversations_conversationDetailsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/create_campaign_from_template": {
      "post": {
        "summary": "Create campaign from template",
        "operationId": "post-v1-environments-environment_id-create_campaign_from_template",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_createFromTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_createFromTemplateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/create_newsletter_from_template": {
      "post": {
        "summary": "Create newsletter from template",
        "operationId": "post-v1-environments-environment_id-create_newsletter_from_template",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_createFromTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_createFromTemplateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/credentials/{action_type}": {
      "delete": {
        "summary": "Delete credentials",
        "operationId": "delete-v1-environments-environment_id-credentials-action_type",
        "tags": [
          "credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "webhook",
                "attribute_update",
                "twilio",
                "urban_airship",
                "slack",
                "url_params",
                "time_zone_match",
                "push_apns",
                "push_fcm",
                "in_app",
                "line",
                "whatsapp"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get credentials",
        "operationId": "get-v1-environments-environment_id-credentials-action_type",
        "tags": [
          "credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "webhook",
                "attribute_update",
                "twilio",
                "urban_airship",
                "slack",
                "url_params",
                "time_zone_match",
                "push_apns",
                "push_fcm",
                "in_app",
                "line",
                "whatsapp"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_credentials_credentialResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Create or update credentials",
        "operationId": "put-v1-environments-environment_id-credentials-action_type",
        "tags": [
          "credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "webhook",
                "attribute_update",
                "twilio",
                "urban_airship",
                "slack",
                "url_params",
                "time_zone_match",
                "push_apns",
                "push_fcm",
                "in_app",
                "line",
                "whatsapp"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_credentials_upsertRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_credentials_credentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/credentials/{action_type}/config": {
      "put": {
        "summary": "Update credential config",
        "operationId": "put-v1-environments-environment_id-credentials-action_type-config",
        "tags": [
          "credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "webhook",
                "attribute_update",
                "twilio",
                "urban_airship",
                "slack",
                "url_params",
                "time_zone_match",
                "push_apns",
                "push_fcm",
                "in_app",
                "line",
                "whatsapp"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_credentials_updateConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_credentials_credentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/credentials/{action_type}/prepare_switch": {
      "put": {
        "summary": "Prepare credential switchover",
        "operationId": "put-v1-environments-environment_id-credentials-action_type-prepare_switch",
        "tags": [
          "credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "twilio"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_credentials_prepareSwitchoverRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_credentials_prepareSwitchoverResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/credentials/{action_type}/replace": {
      "put": {
        "summary": "Map identities during credential switch",
        "operationId": "put-v1-environments-environment_id-credentials-action_type-replace",
        "tags": [
          "credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "twilio"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_credentials_mapIdentitiesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/custom_dashboards": {
      "get": {
        "summary": "List the current user's custom dashboards",
        "operationId": "get-v1-environments-environment_id-custom_dashboards",
        "tags": [
          "custom_dashboards"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_dashboards_dashboardsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a custom dashboard",
        "operationId": "post-v1-environments-environment_id-custom_dashboards",
        "tags": [
          "custom_dashboards"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_custom_dashboards_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_dashboards_dashboardResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/custom_dashboards/{id}": {
      "delete": {
        "summary": "Delete a custom dashboard",
        "operationId": "delete-v1-environments-environment_id-custom_dashboards-id",
        "tags": [
          "custom_dashboards"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a custom dashboard",
        "operationId": "get-v1-environments-environment_id-custom_dashboards-id",
        "tags": [
          "custom_dashboards"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_dashboards_dashboardResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a custom dashboard",
        "operationId": "put-v1-environments-environment_id-custom_dashboards-id",
        "tags": [
          "custom_dashboards"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_custom_dashboards_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_dashboards_dashboardResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/custom_forms": {
      "get": {
        "summary": "List custom forms",
        "operationId": "get-v1-environments-environment_id-custom_forms",
        "tags": [
          "custom_forms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_indexFormsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create custom form",
        "operationId": "post-v1-environments-environment_id-custom_forms",
        "tags": [
          "custom_forms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_custom_forms_createFormRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_createFormResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/custom_forms/{id}": {
      "delete": {
        "summary": "Delete custom form",
        "operationId": "delete-v1-environments-environment_id-custom_forms-id",
        "tags": [
          "custom_forms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get custom form",
        "operationId": "get-v1-environments-environment_id-custom_forms-id",
        "tags": [
          "custom_forms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_getFormResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update custom form",
        "operationId": "put-v1-environments-environment_id-custom_forms-id",
        "tags": [
          "custom_forms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_custom_forms_updateFormRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_updateFormResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers": {
      "get": {
        "summary": "List customers",
        "description": "Returns paginated customers filtered by email search or condition filters (mutually exclusive). Supports sorting by any attribute. Sensitive attribute filters are concealed for users without sensitive-data permission.",
        "operationId": "get-v1-environments-environment_id-customers",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Attribute to sort by (default created_at)"
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Sort ascending when true; defaults to descending"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number (default 1)"
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by email search. Mutually exclusive with filters"
          },
          {
            "name": "filters",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Base64-encoded condition filters. Mutually exclusive with email"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_indexReply"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create customer",
        "description": "Queues customer creation via the ingress pipeline. Required identifiers depend on workspace identifier configuration. Identifiers are validated for format, uniqueness, and suppression status. Returns 202; the customer may not be immediately queryable.",
        "operationId": "post-v1-environments-environment_id-customers",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_requestBody"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/delete": {
      "post": {
        "summary": "Bulk delete customers",
        "description": "Queues a background backfill to delete customers matching the given criteria. The type field selects the matching strategy: email, filters, customer_ids, or internal_ids. The suppress field is required and controls whether deleted customers are added to the suppression list.",
        "operationId": "post-v1-environments-environment_id-customers-delete",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_deleteParams"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/exports": {
      "post": {
        "summary": "Export customers",
        "description": "Queues a customer data export and returns the queued export ids. If export_relationships is true, a second relationship export is also queued (unless object attributes are requested, which produces a single combined export). Users without sensitive-data permission receive redacted exports.",
        "operationId": "post-v1-environments-environment_id-customers-exports",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_ExportCustomersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_ExportCustomersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/merge": {
      "post": {
        "summary": "Merge customers",
        "description": "Merges the secondary customer into the primary. Exactly two customer_ids are required and primary_customer_id must be one of them. The operation is asynchronous and irreversible.",
        "operationId": "post-v1-environments-environment_id-customers-merge",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_mergeRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/merge/preview": {
      "post": {
        "summary": "Preview customer merge",
        "description": "Returns the projected merged attribute set without performing the merge. Primary customer attributes take precedence; secondary attributes are added only when the primary has no value for that key.",
        "operationId": "post-v1-environments-environment_id-customers-merge-preview",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_mergeRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_MergePreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/subscribe": {
      "post": {
        "summary": "Subscribe customers",
        "description": "Sets unsubscribed=false on the specified customers via the ingress pipeline. Accepts customer_ids (external) or internal_ids. In email-identified workspaces, customer_ids are interpreted as internal IDs.",
        "operationId": "post-v1-environments-environment_id-customers-subscribe",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_CustomerSubscriptionsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/unsubscribe": {
      "post": {
        "summary": "Unsubscribe customers",
        "description": "Sets unsubscribed=true on the specified customers via the ingress pipeline. Accepts customer_ids (external) or internal_ids. In email-identified workspaces, customer_ids are interpreted as internal IDs.",
        "operationId": "post-v1-environments-environment_id-customers-unsubscribe",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_CustomerSubscriptionsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/unsuppress": {
      "post": {
        "summary": "Unsuppress customers",
        "description": "Removes customers from the suppression list. Returns a classification of each identifier as matched (unsuppressed), not_suppressed (exists but was not suppressed), or not_found. To preview without committing, use the unsuppress/preview endpoint; sending a dry_run field here returns 400.",
        "operationId": "post-v1-environments-environment_id-customers-unsuppress",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_UnsuppressRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_UnsuppressResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/unsuppress/preview": {
      "post": {
        "summary": "Preview customer unsuppression",
        "description": "Classifies each identifier as matched (currently suppressed), not_suppressed (exists but was not suppressed), or not_found, without removing anyone from the suppression list. Same request and response shape as unsuppress; lets the UI show the breakdown before committing.",
        "operationId": "post-v1-environments-environment_id-customers-unsuppress-preview",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_UnsuppressRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_UnsuppressResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}": {
      "delete": {
        "summary": "Delete customer",
        "description": "Hard-deletes a single customer. Returns 204 even if the customer was already deleted (idempotent). Agent service accounts are forbidden.",
        "operationId": "delete-v1-environments-environment_id-customers-customer_id",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get customer",
        "description": "Accepts external ID or internal (cio_id) format. Attributes may be redacted based on the caller's sensitive-data permission.",
        "operationId": "get-v1-environments-environment_id-customers-customer_id",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_GetCustomerResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update customer",
        "description": "Queues attribute updates via the ingress pipeline. Only provided attributes are modified (merge, not replace). An empty string value deletes the attribute. Private attributes (prefixed with _) are silently stripped. Returns 202; updates may not be immediately visible.",
        "operationId": "put-v1-environments-environment_id-customers-customer_id",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_requestBody"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}/consent": {
      "get": {
        "summary": "Get customer consent state",
        "description": "Returns the consent the profile currently holds, one entry per scope. Scope is the (channel, topic_id, sender_id) triple, each independently null — a null channel with a topic_id is a topic-wide answer, all three null is the profile-wide one. Only scopes with standing consent are returned; an absent scope has no consent recorded. topic_id and sender_id are ids, not display values, and are resolved by the caller. The append-only capture history lives in the profile's activity events.",
        "operationId": "get-v1-environments-environment_id-customers-customer_id-consent",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_GetConsentStateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}/devices": {
      "delete": {
        "summary": "Delete customer devices",
        "description": "Removes specified devices from a customer. If no devices are specified in the body, the request is a no-op.",
        "operationId": "delete-v1-environments-environment_id-customers-customer_id-devices",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}/double_opt_in": {
      "put": {
        "summary": "Send a double-opt-in confirmation email",
        "description": "Queues a transactional double-opt-in email to the customer's email address. The email contains a signed link; when the recipient clicks it, edge sets cio_double_opt_in=true on the profile. Returns 202 on acceptance.",
        "operationId": "put-v1-environments-environment_id-customers-customer_id-double_opt_in",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}/optouts": {
      "get": {
        "summary": "Get customer opt-outs",
        "description": "Returns the customer's opt-outs across all messaging channels. Each entry carries a channel (\"sms\" or \"whatsapp\") and the from number it applies to.",
        "operationId": "get-v1-environments-environment_id-customers-customer_id-optouts",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_GetOptOutsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update customer opt-outs",
        "description": "Adds or removes opt-outs for a customer. Each entry requires a non-empty from field (phone number) and an optout boolean, plus an optional channel (\"sms\" or \"whatsapp\", defaulting to \"sms\").",
        "operationId": "put-v1-environments-environment_id-customers-customer_id-optouts",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_optoutsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}/profile_shortcuts": {
      "get": {
        "summary": "List shortcuts for customer",
        "operationId": "get-v1-environments-environment_id-customers-customer_id-profile_shortcuts",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_shortcuts_shortcutListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers/{customer_id}/segments": {
      "get": {
        "summary": "List customer segments",
        "operationId": "get-v1-environments-environment_id-customers-customer_id-segments",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_customerSegmentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/customers_suppression_count": {
      "get": {
        "summary": "Get suppressed customer count",
        "operationId": "get-v1-environments-environment_id-customers_suppression_count",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_SuppressionCountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/attribute_filters": {
      "get": {
        "summary": "List attribute filters",
        "operationId": "get-v1-environments-environment_id-data_index-attribute_filters",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Object type ID: return filters for that type's object attributes instead of people attributes"
          },
          {
            "name": "relationship",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return filters for the object type's relationship attributes"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_SchemaAttributeFiltersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/attributes": {
      "post": {
        "summary": "Queue a data index attributes export",
        "operationId": "post-v1-environments-environment_id-data_index-attributes",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/attributes_usage": {
      "post": {
        "summary": "Queue a data index attributes usage export",
        "operationId": "post-v1-environments-environment_id-data_index-attributes_usage",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/event_filters": {
      "get": {
        "summary": "List event filters",
        "operationId": "get-v1-environments-environment_id-data_index-event_filters",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_SchemaEventFiltersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/events": {
      "post": {
        "summary": "Queue a data index events export",
        "operationId": "post-v1-environments-environment_id-data_index-events",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/events_usage": {
      "post": {
        "summary": "Queue a data index events usage export",
        "operationId": "post-v1-environments-environment_id-data_index-events_usage",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/generate_descriptions": {
      "post": {
        "summary": "Generate AI descriptions for attributes or events",
        "operationId": "post-v1-environments-environment_id-data_index-generate_descriptions",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_GenerateDescriptionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_GenerateDescriptionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/object_attributes/{type_id}": {
      "post": {
        "summary": "Queue a data index object attributes export",
        "operationId": "post-v1-environments-environment_id-data_index-object_attributes-type_id",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/object_attributes_usage/{type_id}": {
      "post": {
        "summary": "Queue a data index object attributes usage export",
        "operationId": "post-v1-environments-environment_id-data_index-object_attributes_usage-type_id",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/relationship_attributes/{type_id}": {
      "post": {
        "summary": "Queue a data index relationship attributes export",
        "operationId": "post-v1-environments-environment_id-data_index-relationship_attributes-type_id",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/data_index/relationship_attributes_usage/{type_id}": {
      "post": {
        "summary": "Queue a data index relationship attributes usage export",
        "operationId": "post-v1-environments-environment_id-data_index-relationship_attributes_usage-type_id",
        "tags": [
          "data_index"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/default_from_identity": {
      "get": {
        "summary": "Get default from identity setting",
        "operationId": "get-v1-environments-environment_id-default_from_identity",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_DefaultFromIdentityResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update default from identity setting",
        "operationId": "post-v1-environments-environment_id-default_from_identity",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateDefaultFromIdentityRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/default_unsubscribed_on_create": {
      "get": {
        "summary": "Get default unsubscribed on create setting",
        "operationId": "get-v1-environments-environment_id-default_unsubscribed_on_create",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update default unsubscribed on create setting",
        "operationId": "post-v1-environments-environment_id-default_unsubscribed_on_create",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/delete_suppression": {
      "post": {
        "summary": "Delete suppressions",
        "operationId": "post-v1-environments-environment_id-delete_suppression",
        "tags": [
          "suppressions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_suppressions_deleteRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/deliveries": {
      "delete": {
        "summary": "Delete deliveries",
        "operationId": "delete-v1-environments-environment_id-deliveries",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "List deliveries",
        "operationId": "get-v1-environments-environment_id-deliveries",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "maximum": 500
            },
            "description": "Max deliveries to return (default 50, at most 500; a larger value is refused rather than reduced. Ignored when drafts=true, which always returns 20)"
          },
          {
            "name": "continuation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pagination token from a previous response's meta.continuation"
          },
          {
            "name": "start_ts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Start of the time window (Unix seconds). Defaults to 30 days before end_ts"
          },
          {
            "name": "end_ts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "End of the time window (Unix seconds). Defaults to now"
          },
          {
            "name": "drafts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return drafted deliveries instead of sent ones"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by channel type (e.g. email, sms, push)"
          },
          {
            "name": "metric",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by delivery metric (e.g. delivered, opened, clicked, suppressed)"
          },
          {
            "name": "action_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by action id; accepts n\u003cid\u003e (newsletter) and x\u003cid\u003e/t\u003cid\u003e (transactional) prefixes"
          },
          {
            "name": "campaign_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by campaign id"
          },
          {
            "name": "trigger_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by broadcast trigger, formatted as \u003ccampaign_id\u003e-\u003ctrigger_id\u003e"
          },
          {
            "name": "template_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by template id"
          },
          {
            "name": "newsletter_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by newsletter id"
          },
          {
            "name": "transactional_message_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by transactional message id"
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by external customer id"
          },
          {
            "name": "internal_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by internal (cio) customer id"
          },
          {
            "name": "recipient",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by recipient address"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_deliveries_indexReply"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/deliveries/filters": {
      "get": {
        "summary": "Get delivery filters",
        "operationId": "get-v1-environments-environment_id-deliveries-filters",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_deliveries_deliveryFiltersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/deliveries/redeliver": {
      "post": {
        "summary": "Redeliver deliveries",
        "operationId": "post-v1-environments-environment_id-deliveries-redeliver",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_deliveries_deliveryRedeliverRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/deliveries/retry": {
      "post": {
        "summary": "Retry deliveries",
        "operationId": "post-v1-environments-environment_id-deliveries-retry",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_deliveries_deliveryRetryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/deliveries/send": {
      "post": {
        "summary": "Send deliveries",
        "operationId": "post-v1-environments-environment_id-deliveries-send",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_deliveries_deliverySendRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/deliveries/{id}": {
      "delete": {
        "summary": "Delete delivery by ID",
        "operationId": "delete-v1-environments-environment_id-deliveries-id",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get delivery",
        "operationId": "get-v1-environments-environment_id-deliveries-id",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_deliveries_deliveryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/delivery_address_completions": {
      "get": {
        "summary": "Get delivery address completions",
        "operationId": "get-v1-environments-environment_id-delivery_address_completions",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_deliveries_RecipientCompletions"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/delivery_details/{id}": {
      "get": {
        "summary": "Get delivery details",
        "operationId": "get-v1-environments-environment_id-delivery_details-id",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_deliveries_DeliveryDetailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/delivery_details/{id}/edit": {
      "get": {
        "summary": "Get delivery details for editing",
        "operationId": "get-v1-environments-environment_id-delivery_details-id-edit",
        "tags": [
          "deliveries"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_deliveries_DeliveryDetailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/components": {
      "get": {
        "summary": "List components",
        "operationId": "get-v1-environments-environment_id-design_studio-components",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          },
          {
            "name": "tag",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list components with this tag."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listComponentsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a component",
        "operationId": "post-v1-environments-environment_id-design_studio-components",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_createComponentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_componentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/components/{id}": {
      "delete": {
        "summary": "Delete a component",
        "operationId": "delete-v1-environments-environment_id-design_studio-components-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a component",
        "operationId": "get-v1-environments-environment_id-design_studio-components-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_componentResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a component",
        "operationId": "put-v1-environments-environment_id-design_studio-components-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_updateComponentRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails": {
      "get": {
        "summary": "List emails",
        "operationId": "get-v1-environments-environment_id-design_studio-emails",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          },
          {
            "name": "is_template",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false",
                "any"
              ]
            },
            "description": "Filter by template flag, or any."
          },
          {
            "name": "has_translations",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false",
                "any"
              ]
            },
            "description": "Filter by presence of translations, or any."
          },
          {
            "name": "is_linked",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false",
                "any"
              ]
            },
            "description": "Filter by linked-to-a-message status, or any."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listEmailsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an email",
        "operationId": "post-v1-environments-environment_id-design_studio-emails",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_createEmailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_emailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}": {
      "delete": {
        "summary": "Delete an email",
        "operationId": "delete-v1-environments-environment_id-design_studio-emails-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an email",
        "operationId": "get-v1-environments-environment_id-design_studio-emails-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_emailResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update an email",
        "operationId": "put-v1-environments-environment_id-design_studio-emails-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_updateEmailRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}/languages": {
      "get": {
        "summary": "List email translations",
        "operationId": "get-v1-environments-environment_id-design_studio-emails-id-languages",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listEmailTranslationsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an email translation",
        "operationId": "post-v1-environments-environment_id-design_studio-emails-id-languages",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_createEmailTranslationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_emailTranslationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}/languages/{language}": {
      "delete": {
        "summary": "Delete an email translation",
        "operationId": "delete-v1-environments-environment_id-design_studio-emails-id-languages-language",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an email translation",
        "operationId": "get-v1-environments-environment_id-design_studio-emails-id-languages-language",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_emailTranslationResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update an email translation",
        "operationId": "put-v1-environments-environment_id-design_studio-emails-id-languages-language",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_updateEmailTranslationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}/link": {
      "post": {
        "summary": "Link an email to a transactional message, newsletter, or campaign action",
        "operationId": "post-v1-environments-environment_id-design_studio-emails-id-link",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_linkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_linkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}/publish": {
      "post": {
        "summary": "Publish an email to its linked Journeys destination",
        "operationId": "post-v1-environments-environment_id-design_studio-emails-id-publish",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_PublishRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_design_studio_PublishResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}/render": {
      "get": {
        "summary": "Render an email's content without publishing (does not evaluate Liquid)",
        "operationId": "get-v1-environments-environment_id-design_studio-emails-id-render",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_renderEmailResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/emails/{id}/unpublished_changes": {
      "get": {
        "summary": "Check whether an email has unpublished changes",
        "operationId": "get-v1-environments-environment_id-design_studio-emails-id-unpublished_changes",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_checkUnpublishedChangesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/folders": {
      "get": {
        "summary": "List folders",
        "operationId": "get-v1-environments-environment_id-design_studio-folders",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listFoldersResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a folder",
        "operationId": "post-v1-environments-environment_id-design_studio-folders",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_createFolderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_folderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/folders/{id}": {
      "delete": {
        "summary": "Delete a folder",
        "operationId": "delete-v1-environments-environment_id-design_studio-folders-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a folder",
        "operationId": "get-v1-environments-environment_id-design_studio-folders-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_folderResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a folder",
        "operationId": "put-v1-environments-environment_id-design_studio-folders-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_updateFolderRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/global_styles": {
      "get": {
        "summary": "Get global styles",
        "operationId": "get-v1-environments-environment_id-design_studio-global_styles",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Apply a declarative update to global styles",
        "operationId": "patch-v1-environments-environment_id-design_studio-global_styles",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_patchGlobalStylesRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/in_app": {
      "get": {
        "summary": "List in-app messages",
        "operationId": "get-v1-environments-environment_id-design_studio-in_app",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listInAppResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an in-app message",
        "operationId": "post-v1-environments-environment_id-design_studio-in_app",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_contentNodeCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_inAppResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/in_app/{id}": {
      "delete": {
        "summary": "Delete an in-app message",
        "operationId": "delete-v1-environments-environment_id-design_studio-in_app-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an in-app message",
        "operationId": "get-v1-environments-environment_id-design_studio-in_app-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_inAppResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update an in-app message",
        "operationId": "put-v1-environments-environment_id-design_studio-in_app-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_contentNodeUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/in_app/{id}/link": {
      "post": {
        "summary": "Link an in-app message to a campaign action (not yet implemented)",
        "operationId": "post-v1-environments-environment_id-design_studio-in_app-id-link",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_inAppLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_inAppLinkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/in_app/{id}/publish": {
      "post": {
        "summary": "Publish an in-app message to its linked campaign action",
        "operationId": "post-v1-environments-environment_id-design_studio-in_app-id-publish",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_design_studio_inAppPublishRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/in_app/{id}/render": {
      "get": {
        "summary": "Render an in-app message's content without publishing (does not evaluate Liquid)",
        "operationId": "get-v1-environments-environment_id-design_studio-in_app-id-render",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_design_studio_renderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/inbox": {
      "get": {
        "summary": "List inbox messages",
        "operationId": "get-v1-environments-environment_id-design_studio-inbox",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listInboxResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an inbox message",
        "operationId": "post-v1-environments-environment_id-design_studio-inbox",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_contentNodeCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_inboxResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/inbox/{id}": {
      "delete": {
        "summary": "Delete an inbox message",
        "operationId": "delete-v1-environments-environment_id-design_studio-inbox-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an inbox message",
        "operationId": "get-v1-environments-environment_id-design_studio-inbox-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_inboxResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update an inbox message",
        "operationId": "put-v1-environments-environment_id-design_studio-inbox-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_contentNodeUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/inbox/{id}/link": {
      "post": {
        "summary": "Link an inbox message to a transactional message, newsletter, or campaign action",
        "operationId": "post-v1-environments-environment_id-design_studio-inbox-id-link",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_linkInboxRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_linkInboxResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/inbox/{id}/publish": {
      "post": {
        "summary": "Publish an inbox message to its linked Journeys destination",
        "operationId": "post-v1-environments-environment_id-design_studio-inbox-id-publish",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_publishInboxResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sign_up_forms": {
      "get": {
        "summary": "List sign-up forms",
        "operationId": "get-v1-environments-environment_id-design_studio-sign_up_forms",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listSignUpFormResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a sign-up form",
        "operationId": "post-v1-environments-environment_id-design_studio-sign_up_forms",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_contentNodeCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_signUpFormResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sign_up_forms/{id}": {
      "delete": {
        "summary": "Delete a sign-up form",
        "operationId": "delete-v1-environments-environment_id-design_studio-sign_up_forms-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a sign-up form",
        "operationId": "get-v1-environments-environment_id-design_studio-sign_up_forms-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_signUpFormResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a sign-up form",
        "operationId": "put-v1-environments-environment_id-design_studio-sign_up_forms-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_contentNodeUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sign_up_forms/{id}/templates": {
      "put": {
        "summary": "Save a sign-up form's output templates",
        "operationId": "put-v1-environments-environment_id-design_studio-sign_up_forms-id-templates",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_saveSignUpFormTemplatesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sms": {
      "get": {
        "summary": "List sms",
        "operationId": "get-v1-environments-environment_id-design_studio-sms",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listSmsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an sms",
        "operationId": "post-v1-environments-environment_id-design_studio-sms",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_createSmsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_smsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sms/{id}": {
      "delete": {
        "summary": "Delete an sms",
        "operationId": "delete-v1-environments-environment_id-design_studio-sms-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an sms",
        "operationId": "get-v1-environments-environment_id-design_studio-sms-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_smsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update an sms",
        "operationId": "put-v1-environments-environment_id-design_studio-sms-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_smsUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sms/{id}/link": {
      "post": {
        "summary": "Link an sms to a transactional message, newsletter, or campaign action",
        "operationId": "post-v1-environments-environment_id-design_studio-sms-id-link",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_linkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_linkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/sms/{id}/publish": {
      "post": {
        "summary": "Publish an sms to its linked Journeys destination",
        "operationId": "post-v1-environments-environment_id-design_studio-sms-id-publish",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_PublishRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_publishSmsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/whatsapp": {
      "get": {
        "summary": "List whatsapp templates",
        "operationId": "get-v1-environments-environment_id-design_studio-whatsapp",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_folder_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only list nodes directly within this folder (omit for root)."
          },
          {
            "name": "direct_descendants_only",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only direct children rather than the whole subtree."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "name"
              ]
            },
            "description": "Field to sort by. Defaults to created."
          },
          {
            "name": "sort_order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction. Defaults to asc."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created before this unix timestamp."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes created after this unix timestamp."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated before this unix timestamp."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Only nodes updated after this unix timestamp."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. Defaults to 1."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, 1-10000. Defaults to 1000."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_listWhatsAppResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a whatsapp template",
        "operationId": "post-v1-environments-environment_id-design_studio-whatsapp",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_createWhatsAppRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_whatsAppResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/whatsapp/{id}": {
      "delete": {
        "summary": "Delete a whatsapp template",
        "operationId": "delete-v1-environments-environment_id-design_studio-whatsapp-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a whatsapp template",
        "operationId": "get-v1-environments-environment_id-design_studio-whatsapp-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_whatsAppResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a whatsapp template",
        "operationId": "put-v1-environments-environment_id-design_studio-whatsapp-id",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_updateWhatsAppRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/whatsapp/{id}/link": {
      "post": {
        "summary": "Link a whatsapp template to a transactional message, newsletter, or campaign action",
        "operationId": "post-v1-environments-environment_id-design_studio-whatsapp-id-link",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_linkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_linkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/design_studio/whatsapp/{id}/publish": {
      "post": {
        "summary": "Publish a whatsapp template by submitting it to Meta for approval",
        "operationId": "post-v1-environments-environment_id-design_studio-whatsapp-id-publish",
        "tags": [
          "design_studio"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_PublishRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_design_studio_whatsAppPublishResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/device_attributes_values": {
      "get": {
        "summary": "List device attribute values",
        "operationId": "get-v1-environments-environment_id-device_attributes_values",
        "tags": [
          "value_lists"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Device attribute name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_StringListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains": {
      "get": {
        "summary": "List domains",
        "operationId": "get-v1-environments-environment_id-domains",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainListResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create domain",
        "operationId": "post-v1-environments-environment_id-domains",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_domains_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainCreateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}": {
      "delete": {
        "summary": "Delete domain",
        "operationId": "delete-v1-environments-environment_id-domains-domain_id",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get domain",
        "operationId": "get-v1-environments-environment_id-domains-domain_id",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update domain",
        "operationId": "put-v1-environments-environment_id-domains-domain_id",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_domains_updateDomainRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainUpdateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/check_dns": {
      "post": {
        "summary": "Check DNS records",
        "operationId": "post-v1-environments-environment_id-domains-domain_id-check_dns",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flow",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "domain_auth",
                "link_tracking"
              ]
            },
            "description": "Filter which DNS checks to run. Omit to check all record types."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainCheckDNSResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/dns_setup_link": {
      "post": {
        "summary": "Mint a DNS setup handoff link",
        "operationId": "post-v1-environments-environment_id-domains-domain_id-dns_setup_link",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flow",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "domain_auth",
                "link_tracking"
              ]
            },
            "description": "Which DNS records the setup link configures. Defaults to domain_auth."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_dnsSetupLinkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/enable_auto_tls": {
      "post": {
        "summary": "Enable auto TLS",
        "operationId": "post-v1-environments-environment_id-domains-domain_id-enable_auto_tls",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/entri_complete": {
      "post": {
        "summary": "Mark Entri setup complete",
        "operationId": "post-v1-environments-environment_id-domains-domain_id-entri_complete",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/entri_token": {
      "get": {
        "summary": "Get Entri token",
        "operationId": "get-v1-environments-environment_id-domains-domain_id-entri_token",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "flow",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "domain_auth",
                "link_tracking"
              ]
            },
            "description": "Which Entri flow to build the config for. Omitted or unknown values fall back to domain_auth."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_EntriTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/ip_pool": {
      "post": {
        "summary": "Request IP pool",
        "operationId": "post-v1-environments-environment_id-domains-domain_id-ip_pool",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_domains_ipPoolRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/mail_server": {
      "delete": {
        "summary": "Unpin a sending domain from its custom SMTP server",
        "operationId": "delete-v1-environments-environment_id-domains-domain_id-mail_server",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Pin a sending domain to a custom SMTP server",
        "operationId": "put-v1-environments-environment_id-domains-domain_id-mail_server",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_domains_setMailServerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/domains/{domain_id}/verify": {
      "post": {
        "summary": "Verify sending domain",
        "operationId": "post-v1-environments-environment_id-domains-domain_id-verify",
        "tags": [
          "domains"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_domains_domainVerifyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/ai/inline_edit": {
      "post": {
        "summary": "Rewrite one email component from a natural-language instruction",
        "operationId": "post-v1-environments-environment_id-ds-ai-inline_edit",
        "tags": [
          "ds_ai"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_ai_InlineEditRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_ai_InlineEditResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/brand_document/generate": {
      "delete": {
        "summary": "Terminate an in-flight brand document authoring run",
        "operationId": "delete-v1-environments-environment_id-ds-brand_document-generate",
        "tags": [
          "ds_brand_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow ID returned when generation was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run ID for the authoring workflow. Required."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "summary": "Author the brand document from a completed style extraction",
        "operationId": "post-v1-environments-environment_id-ds-brand_document-generate",
        "tags": [
          "ds_brand_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_brand_document_generateBrandDocumentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_brand_document_generateBrandDocumentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/brand_document/generate/status": {
      "get": {
        "summary": "Get the status of a brand document authoring run",
        "operationId": "get-v1-environments-environment_id-ds-brand_document-generate-status",
        "tags": [
          "ds_brand_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow ID returned when generation was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run ID for the authoring workflow."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_brand_document_generateStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/brand_document/rendered": {
      "get": {
        "summary": "Get the workspace brand document with global styles resolved",
        "operationId": "get-v1-environments-environment_id-ds-brand_document-rendered",
        "tags": [
          "ds_brand_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_brand_document_BrandDocumentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/component_definitions": {
      "get": {
        "summary": "List all components with parsed definitions (props, slots, presets)",
        "operationId": "get-v1-environments-environment_id-ds-component_definitions",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_content_api_parcel_integration_DefinitionRaw"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/components": {
      "get": {
        "summary": "List all component nodes",
        "operationId": "get-v1-environments-environment_id-ds-components",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_ComponentResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/components/references": {
      "post": {
        "summary": "Get component references",
        "operationId": "post-v1-environments-environment_id-ds-components-references",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_getComponentReferencesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_getComponentReferencesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/email_groups": {
      "get": {
        "summary": "List email groups",
        "operationId": "get-v1-environments-environment_id-ds-email_groups",
        "tags": [
          "ds_email_groups"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_email_groups_emailGroupResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create email group",
        "operationId": "post-v1-environments-environment_id-ds-email_groups",
        "tags": [
          "ds_email_groups"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_email_groups_emailGroupRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/email_groups/{id}": {
      "delete": {
        "summary": "Delete email group",
        "operationId": "delete-v1-environments-environment_id-ds-email_groups-id",
        "tags": [
          "ds_email_groups"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update email group",
        "operationId": "put-v1-environments-environment_id-ds-email_groups-id",
        "tags": [
          "ds_email_groups"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_email_groups_emailGroupRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/exports/screenshot": {
      "post": {
        "summary": "Render an email to a screenshot",
        "description": "Renders an email to an image and returns a signed URL for it, valid for ten minutes — fetch it promptly and do not store it. Send exactly one of html or node_id: html renders as sent (set compile=true to run uncompiled editor source through the Design Studio compile step first), node_id compiles and renders a saved EMAIL node exactly as the editor shows it. The image is the full width of the viewport and the full height of the rendered content; PNG normally, JPEG when the render is too large to serve inline. width is clamped to 300-2000. Besides the validation 400, expect 400 when the content cannot be compiled or rendered or takes too long, 429 when rate limited, and 503 when rendering is busy.",
        "operationId": "post-v1-environments-environment_id-ds-exports-screenshot",
        "tags": [
          "ds_exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_exports_screenshotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_exports_screenshotResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/folders": {
      "get": {
        "summary": "List all folders",
        "operationId": "get-v1-environments-environment_id-ds-folders",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_folderNodeResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/global_styles": {
      "get": {
        "summary": "Get global styles",
        "operationId": "get-v1-environments-environment_id-ds-global_styles",
        "tags": [
          "ds_global_styles"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update global styles",
        "operationId": "put-v1-environments-environment_id-ds-global_styles",
        "tags": [
          "ds_global_styles"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_global_styles_updateGlobalStylesRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/global_styles/process": {
      "post": {
        "summary": "Extract styles from one or more sources",
        "operationId": "post-v1-environments-environment_id-ds-global_styles-process",
        "tags": [
          "ds_global_styles"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processStylesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processStylesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/global_styles/process/status": {
      "get": {
        "summary": "Check multi-source style extraction status",
        "operationId": "get-v1-environments-environment_id-ds-global_styles-process-status",
        "tags": [
          "ds_global_styles"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow ID returned when the extraction was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run ID for the extraction workflow."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/global_styles/process/upload": {
      "post": {
        "summary": "Sign an upload URL for a style extraction source file",
        "operationId": "post-v1-environments-environment_id-ds-global_styles-process-upload",
        "tags": [
          "ds_global_styles"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processUploadResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/global_styles/references": {
      "get": {
        "summary": "List nodes that reference the workspace global styles",
        "operationId": "get-v1-environments-environment_id-ds-global_styles-references",
        "tags": [
          "ds_global_styles"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_in_app",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include in-app messages that reference global styles (default false)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_global_styles_referenceItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/client_groups": {
      "get": {
        "summary": "List saved inbox preview client groups",
        "description": "Lists the workspace's saved device groups, ordered by name. A group is a named, reusable set of preview clients. Unpaged — a workspace holds at most 50.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-client_groups",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_clientGroup"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an inbox preview client group",
        "description": "Saves a named set of preview clients for the workspace to reuse. Names are unique, compared case-sensitively, and a duplicate is a 409. Client ids are lowercased and then deduplicated, so the group reads back in that spelling.",
        "operationId": "post-v1-environments-environment_id-ds-inbox_previews-client_groups",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_createClientGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_clientGroup"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/client_groups/{client_group_id}": {
      "delete": {
        "summary": "Delete an inbox preview client group",
        "description": "Removes a saved device group. A group is only a shortcut for picking devices — past batches carry their own client ids, so this never changes what the history shows.",
        "operationId": "delete-v1-environments-environment_id-ds-inbox_previews-client_groups-client_group_id",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "patch": {
        "summary": "Update an inbox preview client group",
        "description": "Changes a group's name, its clients, or both. Both fields are optional and at least one is required; a supplied client list replaces the previous one entirely.",
        "operationId": "patch-v1-environments-environment_id-ds-inbox_previews-client_groups-client_group_id",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_updateClientGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_clientGroup"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/clients": {
      "get": {
        "summary": "List available inbox preview clients",
        "description": "Lists the devices an inbox preview can be rendered on — a mail client on an OS, optionally in a browser.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-clients",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_clientsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/credits": {
      "get": {
        "summary": "Get the inbox preview credits balance",
        "description": "Reports the pools behind the account's preview balance — the monthly allowance first, then the free-tier pools support has granted and the purchased packs, free before paid and earliest-expiring first. Near enough to the order a charge spends them to read as a drawdown, but not a promise of it: the allowance is pinned first, and a free pool expiring before the period ends is spent ahead of it. The balance is account-level; the workspace in the path only says who is asking. Sum credits_remaining for the previews available now, and credits_original for what those pools were granted. Every pool has at least one preview left in it, except the monthly allowance, which is always reported so an exhausted plan pool can be shown: an account that has not previewed yet this billing period is reported the whole allowance of 25, expiring with the period, before the grant behind it exists. Because a drained pool drops out of the response, both sums shrink as pools are spent — the difference between them is stable, the ratio is not, so this is a balance rather than a usage history.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-credits",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_creditPool"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/previews": {
      "get": {
        "summary": "List past inbox preview runs",
        "description": "Lists a workspace's past preview runs newest first, one entry per run — the Preview history view. A multi-language run is one entry, summarised by node_count and node_languages. Filter to one node with node_id, and add include_translations=true to widen that to the node's whole language group; a filtered entry summarises only the nodes that matched. Only runs recent enough for their screenshots to still be viewable are listed. Cursor-paged, counted in runs: page size defaults to 50 and anything above 200 is refused rather than reduced, and a page may hold fewer runs than asked for without being the end — page until meta.pagination.next_cursor is absent. The per-node and per-device detail is not here — reopen a run with GET .../previews/{preview_job_id}, passing either its run_id or its preview_job_id.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-previews",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 36
            },
            "description": "Only list runs of this Design Studio node, as a v4 UUID. Unset lists the whole workspace."
          },
          {
            "name": "include_translations",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Widen node_id to the node's whole language group. Requires node_id. Defaults to false."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Opaque pagination cursor. Pass meta.pagination.next_cursor from the previous response."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 200
            },
            "description": "Page size, counted in runs. Defaults to 50; a value above 200 is refused rather than reduced."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewHistoryResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Submit an inbox preview batch",
        "description": "Charges the account and starts generating previews of the given rendered nodes on the given devices. Every node is previewed on every client, and previews already generated for the same content within the reuse window are free. Returns the run's numeric run_id to poll and link with, alongside its derived preview_job_id — the replay key: submitting the same nodes, hashes and devices again on the same day returns the existing batch and charges nothing. An account without enough credits is refused before anything is created.",
        "operationId": "post-v1-environments-environment_id-ds-inbox_previews-previews",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_createPreviewJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_createPreviewJobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/previews/{preview_job_id}": {
      "get": {
        "summary": "Get an inbox preview job",
        "description": "Returns a preview batch: the totals for the whole run, and one entry per node with the devices it asked for and their screenshots. The path segment takes either of the run's ids — its numeric run_id or its derived preview_job_id. Poll the batch's is_processed until it is true — each entry carries its own for per-language progress. Tiles fill in as renders land, and a device with no screenshot carries the reason instead.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-previews-preview_job_id",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "preview_job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewJobResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Rename an inbox preview batch",
        "description": "Changes the name shown for a preview batch in the history list. The path segment takes either of the run's ids, as the GET does. Renames every node of a multi-language batch together, and returns the name as stored — trimmed, with line breaks and control characters replaced by spaces.",
        "operationId": "patch-v1-environments-environment_id-ds-inbox_previews-previews-preview_job_id",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "preview_job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_renameJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_renameJobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/previews/{preview_job_id}/captures/{client_id}": {
      "get": {
        "summary": "Get an inbox preview capture image",
        "description": "Streams one device tile's stored screenshot. The response body is the image itself. node_id names which node of a multi-language batch; variant picks screenshot (default), thumbnail or full_thumbnail; download=1 serves it as an attachment. The batch payload's tile URLs already point here — fetch them as given rather than constructing this route by hand.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-previews-preview_job_id-captures-client_id",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "preview_job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/renders": {
      "post": {
        "summary": "Start an inbox preview render job",
        "description": "Renders the given Design Studio email nodes as production would — carta, then Liquid over the supplied sample data — and returns the render job id to poll. Pass one node, or a message's whole language group. Set lax_mode to blank variables the sample data does not carry instead of failing those nodes.",
        "operationId": "post-v1-environments-environment_id-ds-inbox_previews-renders",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_startRenderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_startRenderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/inbox_previews/renders/{render_job_id}": {
      "get": {
        "summary": "Get the status of an inbox preview render job",
        "description": "Reports how far a render job has got, keyed by node id. Poll until no node is pending; each successful node carries the liquid render hash a preview is then submitted with. Pass include_content=true to get each successful node's rendered subject and HTML alongside its status.",
        "operationId": "get-v1-environments-environment_id-ds-inbox_previews-renders-render_job_id",
        "tags": [
          "ds_inbox_previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "render_job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_content",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Return each successful node's rendered subject and content. Defaults to false; pass include_content=true to opt in."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_nodeRenderStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/jist_theme": {
      "get": {
        "summary": "Get Jist theme",
        "operationId": "get-v1-environments-environment_id-ds-jist_theme",
        "tags": [
          "ds_jist_theme"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_design_studio_JistThemeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/journeys/{template_id}": {
      "get": {
        "summary": "Resolve a Journeys template to its Design Studio node",
        "description": "Returns the `node_id` of the Design Studio node linked to `template_id`, alongside the `environment_id` it was resolved in.\nReturns `400` when `template_id` is not a number, and `404` both when the template has no link in this environment and when the link is dangling — its node has been deleted — so a dangling link never resolves to a node id.",
        "operationId": "get-v1-environments-environment_id-ds-journeys-template_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_journeysTemplateNodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/language_attribute": {
      "put": {
        "summary": "Update the environment's language attribute",
        "operationId": "put-v1-environments-environment_id-ds-language_attribute",
        "tags": [
          "ds_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_settings_updateLanguageAttributeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_settings_updateLanguageAttributeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/bulk_delete": {
      "post": {
        "summary": "Bulk delete nodes",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-bulk_delete",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkDeleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkDeleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/bulk_duplicate": {
      "post": {
        "summary": "Bulk duplicate nodes",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-bulk_duplicate",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkDuplicateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkDuplicateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/bulk_move": {
      "post": {
        "summary": "Bulk move nodes",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-bulk_move",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkMoveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkMoveResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/bulk_publish": {
      "post": {
        "summary": "Bulk publish email nodes to their linked Journeys destinations",
        "description": "Answers with one of two statuses; the spec can only declare one response code, so both are documented here:\n- `202 {\"status\":\"pending\",\"workflow_id\":\"…\",\"run_id\":\"…\"}` — a background job is publishing. Nothing is live yet: poll `GET .../bulk_publish/status?workflow_id=…\u0026run_id=…` with the returned ids until it reports `done`.\n- `200 {\"status\":\"done\",\"successful\":[…],\"failed\":[…]}` — there was nothing to publish, so this is already the final answer. That happens when the selection is empty, when nothing in it is a publishable email node, or when every node was rejected up front (no Journeys link, several links, a live-content restriction, or a pending BEE conversion).\n`node_ids` is deduped and capped at 100. Only email nodes are considered; unknown ids and other node types are dropped silently.",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-bulk_publish",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkPublishRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkPublishResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/bulk_publish/status": {
      "get": {
        "summary": "Poll a bulk publish",
        "description": "Polls a bulk publish started by a `202`; pass back the `workflow_id` and `run_id` it returned.\n- `200 {\"status\":\"pending\"}` — still running, poll again.\n- `200 {\"status\":\"done\",\"successful\":[…],\"failed\":[…]}` — the job finished. `failed` carries a user-facing message per node; a node can fail while others in the same request succeed.\nA `workflow_id` belonging to another workspace, or an unknown job, returns `404`.",
        "operationId": "get-v1-environments-environment_id-ds-node_actions-bulk_publish-status",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when the publish was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the publish was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkPublishResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/confirm_bee_conversion": {
      "post": {
        "summary": "Confirm BEE to Design Studio conversion",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-confirm_bee_conversion",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_confirmBeeConversionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_confirmBeeConversionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/convert_from_bee": {
      "post": {
        "summary": "Convert BEE template to Design Studio node",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-convert_from_bee",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_convertFromBeeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_convertFromBeeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/get_started/{type}": {
      "post": {
        "summary": "Create a welcome email/template/whatsapp/sms node for a new workspace",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-get_started-type",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_getStartedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/linkable": {
      "get": {
        "summary": "List linkable nodes with pagination",
        "operationId": "get-v1-environments-environment_id-ds-node_actions-linkable",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            },
            "description": "Pagination offset"
          },
          {
            "name": "limit",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 250
            },
            "description": "Max results per page (max 250)"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "template",
                "linked",
                "unlinked",
                "all"
              ]
            },
            "description": "Filter: template, linked, unlinked, or all (default all)"
          },
          {
            "name": "node_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EMAIL",
                "WHATSAPP",
                "SMS",
                "SIGN_UP_FORM"
              ]
            },
            "description": "Node type to filter by (EMAIL, WHATSAPP, SMS, or SIGN_UP_FORM; default EMAIL)"
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring filter on node name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_linkableNodesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/relink": {
      "post": {
        "summary": "Transfer a journeys link from one node to another",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-relink",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_relinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_relinkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/revert_bee_conversion": {
      "post": {
        "summary": "Revert BEE to Design Studio conversion",
        "operationId": "post-v1-environments-environment_id-ds-node_actions-revert_bee_conversion",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_revertBeeConversionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_revertBeeConversionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/search": {
      "get": {
        "summary": "Search nodes",
        "operationId": "get-v1-environments-environment_id-ds-node_actions-search",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search_query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Text to search for"
          },
          {
            "name": "parent_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by parent folder UUID"
          },
          {
            "name": "allowed_types",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Node types to include (EMAIL, FOLDER, COMPONENT, WHATSAPP, IN_APP, INBOX_MESSAGE). SMS nodes are excluded from this search's results, so SMS is not an accepted value here. Repeat the parameter for several - a client that sets each key once (the cio CLI, which refuses a repeated key outright) can pass only one per call. Unrecognized values are ignored, and a filter with no recognized value matches nothing"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_searchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/node_actions/tree": {
      "get": {
        "summary": "Get workspace node tree with variants grouping",
        "operationId": "get-v1-environments-environment_id-ds-node_actions-tree",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_getTreeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes": {
      "get": {
        "summary": "List all nodes",
        "operationId": "get-v1-environments-environment_id-ds-nodes",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_NodeSkeletonsResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a design-studio node",
        "operationId": "post-v1-environments-environment_id-ds-nodes",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_createNodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_CreateNodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}": {
      "delete": {
        "summary": "Delete a design-studio node",
        "operationId": "delete-v1-environments-environment_id-ds-nodes-node_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a single design-studio node",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_getNodeResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Patch a design-studio node",
        "operationId": "patch-v1-environments-environment_id-ds-nodes-node_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_PatchNodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_PatchNodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/check_unpublished_changes": {
      "get": {
        "summary": "Check if node has unpublished changes",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-check_unpublished_changes",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_checkUnpublishedChangesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/discard_unpublished_changes": {
      "post": {
        "summary": "Discard a node's unpublished changes",
        "description": "Reverts the node's draft content to the snapshot saved the last time it was published to Journeys. Returns `404` when the node does not exist or has never been published. Scope is a single node: a multi-language email has one publish snapshot per language node, so a caller that wants to discard a whole language group calls this once per node. Two kinds of edit survive the discard and keep `check_unpublished_changes` reporting true: node settings are never reverted, and an envelope (subject, sender, recipient) is only restored when the publish snapshot captured one, so an envelope added after the publish stays.",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-discard_unpublished_changes",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/duplicate_multi_language_group": {
      "post": {
        "summary": "Duplicate an email language group",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-duplicate_multi_language_group",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_duplicateMultiLanguageGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_duplicateMultiLanguageGroupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/feedback/comments": {
      "get": {
        "summary": "List feedback comments",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-feedback-comments",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_CommentResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create feedback comment",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-feedback-comments",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_createCommentRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/feedback/comments/{comment_id}": {
      "delete": {
        "summary": "Delete feedback comment",
        "operationId": "delete-v1-environments-environment_id-ds-nodes-node_id-feedback-comments-comment_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/feedback/comments/{comment_id}/replies": {
      "get": {
        "summary": "Get feedback comment replies",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-feedback-comments-comment_id-replies",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_CommentResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/feedback/comments/{comment_id}/resolve": {
      "post": {
        "summary": "Resolve feedback comment",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-feedback-comments-comment_id-resolve",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/feedback/versions": {
      "get": {
        "summary": "List feedback versions for an email node",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-feedback-versions",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_feedbackVersion"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/html_to_carta": {
      "post": {
        "summary": "Convert an email node's HTML to Design Studio Carta source",
        "description": "Converts the node's saved HTML with an LLM and renders the result to validate it. The node is read only — nothing is written back, and the caller decides what to do with the converted markup.\n- `202 {\"status\":\"pending\",\"workflow_id\":\"…\",\"run_id\":\"…\"}` — always. The conversion takes minutes, so it runs as a background job: poll `GET .../html_to_carta/status?workflow_id=…\u0026run_id=…` with the returned ids until it reports `done`.\nThe request has no body; the node in the path is the whole input. An unknown node returns `404`. A node that is not an email, has no HTML content, already holds Design Studio content, or whose HTML is over the size limit returns `400`.",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-html_to_carta",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_htmlToCartaStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/html_to_carta/status": {
      "get": {
        "summary": "Poll an HTML-to-Carta conversion",
        "description": "Polls a conversion started by the `202`; pass back the `workflow_id` and `run_id` it returned.\n- `200 {\"status\":\"pending\",\"phase\":\"converting\"}` — still running, poll again. `phase` says what the job is doing — `converting` (the model is rebuilding the email), `rendering` (proving the result renders), `scoring` (comparing it with the original), or `repairing` (asking the model to fix the document it has). A repairing job also carries `repair_pass`, which pass it is on, and `repair_reason`: `compile-failure` when the document does not render, `low-fidelity` when it renders but does not look enough like the source email. The pass and reason stay set while that pass re-renders and re-scores its document. All three fields are best-effort detail on top of `pending` and are absent when the running job could not be asked, so treat a missing `phase` as no detail rather than as a state.\n- `200 {\"status\":\"done\",\"result\":{…}}` — the conversion finished. `result.carta_source` is the converted document, `result.rendered_html` is what it renders to (absent when the render failed), `result.issues` is never null and lists everything the conversion could not carry across, and `result.fidelity` — when present — scores how much the render still looks like the source email. A missing `fidelity` means not measured, never a bad score. `result.repair_passes` — when present — is how many times the job asked the model to fix the document it had, because it did not render or did not look enough like the source. It counts passes that ran, not passes that helped: the job returns the best document it saw, and discards a pass that came back no better. A non-zero count therefore means the first attempt had a problem, never that the answer is worse for it.\n- A conversion that failed in the model surfaces that failure instead of an opaque error — an overloaded provider reads as a `400` telling the user to try again. Anything else is a `500`.\nA `workflow_id` belonging to another workspace, or an unknown job, returns `404`.",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-html_to_carta-status",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when the conversion was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the conversion was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_htmlToCartaStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/journeys": {
      "get": {
        "summary": "List a node's Journeys links",
        "description": "Lists the Journeys destinations a node is linked to. Each entry names the linked template, the Journeys entity that owns it (`journeys_parent_entity_type` is `action`, `newsletter`, `transactional_message`, or `in_app_broadcast`, with `journeys_parent_entity_id` its id), and `tracked` — that entity's link-tracking setting, which reads `false` when the parent can no longer be resolved.\nReturns `404` when the node does not exist, and an empty `links` array when it exists but is unlinked.",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-journeys",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_nodeJourneysLinksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/language_translations": {
      "get": {
        "summary": "List the language group of an email or inbox message",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-language_translations",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_listLanguageTranslationsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create language translations for an email or inbox message",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-language_translations",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_createLanguageTranslationsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_createLanguageTranslationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/publish": {
      "post": {
        "summary": "Publish a node to its linked Journeys destination",
        "description": "Answers with one of two statuses; the spec can only declare one response code, so both are documented here:\n- `200 {\"status\":\"done\"}` — the publish ran inline and the content is live. Single email nodes and WhatsApp nodes always take this path.\n- `202 {\"status\":\"pending\",\"workflow_id\":\"…\",\"run_id\":\"…\"}` — the node belongs to a multi-language group, so the publish runs as a background job. Nothing is live yet: poll `GET .../publish/status?workflow_id=…\u0026run_id=…` with the returned ids until it reports `done` (or returns the publish error).\nPublishing the same group twice with no edits and no relink in between attaches to the in-flight job and returns its ids again; an edit or a relink starts a new job instead.",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-publish",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_publishNodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/publish/status": {
      "get": {
        "summary": "Poll an async node publish",
        "description": "Polls a publish started by a `202` from the publish route; pass back the `workflow_id` and `run_id` it returned.\n- `200 {\"status\":\"pending\"}` — still running, poll again.\n- `200 {\"status\":\"done\",\"mappings\":[…]}` — the content is live; mappings pair each node with the Journeys template it published to.\n- A terminal failure the user can fix returns the same HTTP error a synchronous publish would have — notably the `422` liquid-validation shape, whose `errors[0].meta` carries the per-node liquid errors, and a `409` when the email was relinked while publishing or its campaign is still backfilling (publish again). Anything else is a `500`.\nA `workflow_id` belonging to another workspace, or an unknown job, returns `404`.",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-publish-status",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when the publish was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the publish was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_publishNodeStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/publish_inbox": {
      "post": {
        "summary": "Publish an inbox message to its linked Journeys destination",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-publish_inbox",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_publishInboxResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/render": {
      "get": {
        "summary": "Get the rendered HTML preview for a node",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-render",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_renderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/request_feedback": {
      "put": {
        "summary": "Save a feedback version snapshot for an email",
        "operationId": "put-v1-environments-environment_id-ds-nodes-node_id-request_feedback",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_requestFeedbackRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/review": {
      "post": {
        "summary": "Compute the Design Studio review report (QA findings + readiness score) for an email node",
        "description": "Recomputes the report from the node's current content on every call. Link and image verdicts are cached per URL for up to 10 minutes (2 minutes for a failing verdict), so a fix to a link's destination may take that long to be reflected in the findings.",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-review",
        "tags": [
          "ds_review"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_review_ReviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_review_Report"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/take_over": {
      "post": {
        "summary": "Take over an editing session for a node",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-take_over",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_takeOverNodeRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/validate_component_name": {
      "get": {
        "summary": "Validate a component name and check for conflicts",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-validate_component_name",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Component name to validate"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_validateComponentNameResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/versions": {
      "get": {
        "summary": "List a node's versions",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-versions",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_ListVersionsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Save a version snapshot of a node",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-versions",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_designstudio_dsapi_SaveVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_SaveVersionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/versions/{version_id}": {
      "delete": {
        "summary": "Delete a node version",
        "operationId": "delete-v1-environments-environment_id-ds-nodes-node_id-versions-version_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a node version with its content snapshot",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-versions-version_id",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_GetVersionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/versions/{version_id}/restore": {
      "post": {
        "summary": "Restore a node to a saved version",
        "operationId": "post-v1-environments-environment_id-ds-nodes-node_id-versions-version_id-restore",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_designstudio_dsapi_RestoreVersionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/nodes/{node_id}/with_rendered_content_and_translations": {
      "get": {
        "summary": "Get node with rendered content and translations",
        "operationId": "get-v1-environments-environment_id-ds-nodes-node_id-with_rendered_content_and_translations",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_nodes_nodeWithRenderedContentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/org_patterns_document": {
      "get": {
        "summary": "Get the workspace org patterns document",
        "operationId": "get-v1-environments-environment_id-ds-org_patterns_document",
        "tags": [
          "ds_org_patterns_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_org_patterns_document_OrgPatternsDocumentResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update the workspace org patterns document",
        "operationId": "put-v1-environments-environment_id-ds-org_patterns_document",
        "tags": [
          "ds_org_patterns_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_org_patterns_document_updateOrgPatternsDocumentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_org_patterns_document_OrgPatternsDocumentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/org_patterns_document/generate": {
      "post": {
        "summary": "Distill an org patterns document from the workspace's emails",
        "operationId": "post-v1-environments-environment_id-ds-org_patterns_document-generate",
        "tags": [
          "ds_org_patterns_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_org_patterns_document_generateOrgPatternsDocumentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/org_patterns_document/generate/status": {
      "get": {
        "summary": "Get the status of a patterns distillation run",
        "operationId": "get-v1-environments-environment_id-ds-org_patterns_document-generate-status",
        "tags": [
          "ds_org_patterns_document"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow ID returned when generation was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run ID for the distillation workflow. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_org_patterns_document_generateStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/recently_edited": {
      "get": {
        "summary": "Get recently edited nodes",
        "operationId": "get-v1-environments-environment_id-ds-recently_edited",
        "tags": [
          "ds_nodes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 10
            },
            "description": "Number of results (default 10, max 10)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_ds_nodes_recentlyEditedNode"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/settings": {
      "get": {
        "summary": "Get design studio settings",
        "operationId": "get-v1-environments-environment_id-ds-settings",
        "tags": [
          "ds_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_settings_settingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update design studio settings",
        "operationId": "put-v1-environments-environment_id-ds-settings",
        "tags": [
          "ds_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_settings_settingsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/whatsapp/{node_id}/create": {
      "post": {
        "summary": "Create WhatsApp message template",
        "operationId": "post-v1-environments-environment_id-ds-whatsapp-node_id-create",
        "tags": [
          "ds_whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_channels_whatsapp_CreateMessageTemplateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/whatsapp/{node_id}/json": {
      "get": {
        "summary": "Get WhatsApp message template body JSON",
        "operationId": "get-v1-environments-environment_id-ds-whatsapp-node_id-json",
        "tags": [
          "ds_whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_channels_whatsapp_TemplateBody"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/whatsapp/{node_id}/status": {
      "get": {
        "summary": "Get WhatsApp message template status",
        "operationId": "get-v1-environments-environment_id-ds-whatsapp-node_id-status",
        "tags": [
          "ds_whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_whatsapp_templateStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/whatsapp/{node_id}/template_tags": {
      "get": {
        "summary": "Get WhatsApp message template tags",
        "operationId": "get-v1-environments-environment_id-ds-whatsapp-node_id-template_tags",
        "tags": [
          "ds_whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_whatsapp_templateTagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Get WhatsApp message template tags from content",
        "operationId": "post-v1-environments-environment_id-ds-whatsapp-node_id-template_tags",
        "tags": [
          "ds_whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ds_whatsapp_templateTagsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ds_whatsapp_templateTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ds/whatsapp/{node_id}/update": {
      "put": {
        "summary": "Update WhatsApp message template",
        "operationId": "put-v1-environments-environment_id-ds-whatsapp-node_id-update",
        "tags": [
          "ds_whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_channels_whatsapp_UpdateMessageTemplateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/emails/test": {
      "post": {
        "summary": "Send test email (legacy)",
        "operationId": "post-v1-environments-environment_id-emails-test",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_emailTestDocRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/estimate_conditions": {
      "post": {
        "summary": "Estimate conditions",
        "operationId": "post-v1-environments-environment_id-estimate_conditions",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_EstimateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_ConditionsEstimate"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_attributes/{event}/metadata/batch": {
      "post": {
        "summary": "Batch update event attribute metadata",
        "operationId": "post-v1-environments-environment_id-event_attributes-event-metadata-batch",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateEventAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateCountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_attributes_values": {
      "get": {
        "summary": "List event attribute values",
        "operationId": "get-v1-environments-environment_id-event_attributes_values",
        "tags": [
          "value_lists"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Event attribute name"
          },
          {
            "name": "ename",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Event name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_StringListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_keys": {
      "get": {
        "summary": "List event keys",
        "operationId": "get-v1-environments-environment_id-event_keys",
        "tags": [
          "value_lists"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Event name"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_StringListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names": {
      "get": {
        "summary": "List events",
        "description": "Returns a paginated list of events with metadata summaries including description, last seen format, tags, and sources. Supports server-side name search (search) plus in-use, tag, and source filters.",
        "operationId": "get-v1-environments-environment_id-event_names",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring to match event names server-side"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number (default 1)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size, capped server-side (default and max ItemsPerPage=50)"
          },
          {
            "name": "inUseOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only events currently in use (referenced by campaigns, segments, etc.)"
          },
          {
            "name": "searchTagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter to events tagged with any of these tag IDs"
          },
          {
            "name": "sourceIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter to events seen from any of these source IDs"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_SchemaListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names/metadata/batch": {
      "post": {
        "summary": "Batch update event metadata",
        "operationId": "post-v1-environments-environment_id-event_names-metadata-batch",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateEventMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names/profile_count": {
      "post": {
        "summary": "Get event profile counts",
        "description": "Returns the number of people who have triggered each of the specified events. Counts are cached and computed under a time budget: events whose counts are not ready yet are omitted from the response, and requesting them again returns them once computed.",
        "operationId": "post-v1-environments-environment_id-event_names-profile_count",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EventsProfileCountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EventsProfileCountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names/usage": {
      "post": {
        "summary": "Get event usage counts",
        "description": "Returns the number of segments, campaigns, and newsletters that reference each of the specified events.",
        "operationId": "post-v1-environments-environment_id-event_names-usage",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EventUsageCountRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EventsUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names/{event_name}": {
      "get": {
        "summary": "Get event details",
        "description": "Returns detailed information about an event including metadata, event attributes, daily event count, and segments, campaigns, and newsletters that reference it.",
        "operationId": "get-v1-environments-environment_id-event_names-event_name",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EventDetailWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names/{event}/metadata": {
      "put": {
        "summary": "Update event metadata",
        "operationId": "put-v1-environments-environment_id-event_names-event-metadata",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateEventMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names/{event}/tags": {
      "put": {
        "summary": "Update event tags",
        "operationId": "put-v1-environments-environment_id-event_names-event-tags",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateEventTagsRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/event_names_totals": {
      "get": {
        "summary": "Get event totals",
        "description": "Returns total and in-use counts for events without fetching the full list. Used by the frontend for pagination totals.",
        "operationId": "get-v1-environments-environment_id-event_names_totals",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring to match event names server-side"
          },
          {
            "name": "inUseOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, count only events currently in use (referenced by campaigns, segments, etc.)"
          },
          {
            "name": "searchTagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Count only events tagged with any of these tag IDs"
          },
          {
            "name": "sourceIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Count only events seen from any of these source IDs"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_TotalsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/events": {
      "post": {
        "summary": "Send event",
        "description": "Send a test event to existing People by internal CIO ID. This endpoint is for UI-driven testing; use the Track API for customer application event ingestion.",
        "operationId": "post-v1-environments-environment_id-events",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_events_sendEventRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments": {
      "get": {
        "summary": "List experiments",
        "operationId": "get-v1-environments-environment_id-experiments",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by experiment status; repeat the param for several statuses"
          },
          {
            "name": "attached",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Filter to experiments that are attached to a surface (true) or unattached (false)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page (default 25, max 100)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_listResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an experiment",
        "operationId": "post-v1-environments-environment_id-experiments",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_experiments_createBody"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_experimentModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments/{experiment_id}": {
      "delete": {
        "summary": "Delete an unattached draft experiment",
        "operationId": "delete-v1-environments-environment_id-experiments-experiment_id",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get an experiment",
        "operationId": "get-v1-environments-environment_id-experiments-experiment_id",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_experimentWithResults"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Replace a draft experiment",
        "operationId": "put-v1-environments-environment_id-experiments-experiment_id",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_experiments_updateBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_experimentWithAttachments"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments/{experiment_id}/apply_winner": {
      "post": {
        "summary": "Collapse a completed experiment to its winning path",
        "operationId": "post-v1-environments-environment_id-experiments-experiment_id-apply_winner",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_experiments_applyWinnerBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments/{experiment_id}/exposures": {
      "get": {
        "summary": "List experiment exposures",
        "operationId": "get-v1-environments-environment_id-experiments-experiment_id-exposures",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter to one variant"
          },
          {
            "name": "outcome",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "converted, pending, or expired"
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Unix seconds lower bound on first exposure"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page (default 25, max 100)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_exposuresResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments/{experiment_id}/snapshots": {
      "get": {
        "summary": "List the shapes recorded for an experiment",
        "operationId": "get-v1-environments-environment_id-experiments-experiment_id-snapshots",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_snapshotListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments/{experiment_id}/snapshots/{snapshot_id}/render": {
      "get": {
        "summary": "Render a path action from a recorded shape",
        "operationId": "get-v1-environments-environment_id-experiments-experiment_id-snapshots-snapshot_id-render",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Path action to render"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/experiments/{experiment_id}/transitions": {
      "post": {
        "summary": "Transition an experiment",
        "operationId": "post-v1-environments-environment_id-experiments-experiment_id-transitions",
        "tags": [
          "experiments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experiment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_experiments_transitionBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_experiments_experimentModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports": {
      "get": {
        "summary": "List exports",
        "operationId": "get-v1-environments-environment_id-exports",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_indexResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/analysis": {
      "post": {
        "summary": "Export analysis",
        "operationId": "post-v1-environments-environment_id-exports-analysis",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_analysisRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/anonymous_form_submissions": {
      "post": {
        "summary": "Export anonymous form submissions",
        "operationId": "post-v1-environments-environment_id-exports-anonymous_form_submissions",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_anonymousFormSubmissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/campaign_journeys": {
      "post": {
        "summary": "Export campaign journeys",
        "operationId": "post-v1-environments-environment_id-exports-campaign_journeys",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_campaignJourneysRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/consent_records": {
      "post": {
        "summary": "Export consent records",
        "operationId": "post-v1-environments-environment_id-exports-consent_records",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_consentRecordsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/content_metrics": {
      "post": {
        "summary": "Export content metrics",
        "operationId": "post-v1-environments-environment_id-exports-content_metrics",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_contentMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/deliveries": {
      "post": {
        "summary": "Export deliveries",
        "operationId": "post-v1-environments-environment_id-exports-deliveries",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_deliveriesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/delivery_metrics": {
      "post": {
        "summary": "Export delivery metrics",
        "operationId": "post-v1-environments-environment_id-exports-delivery_metrics",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_deliveryMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/delivery_totals": {
      "post": {
        "summary": "Export delivery totals",
        "operationId": "post-v1-environments-environment_id-exports-delivery_totals",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_deliveryTotalsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/devices": {
      "post": {
        "summary": "Export devices",
        "operationId": "post-v1-environments-environment_id-exports-devices",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_devicesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/duplicated_attribute": {
      "post": {
        "summary": "Export duplicated attributes",
        "operationId": "post-v1-environments-environment_id-exports-duplicated_attribute",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_duplicatedAttributeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/email_suppressions": {
      "post": {
        "summary": "Export email suppressions",
        "operationId": "post-v1-environments-environment_id-exports-email_suppressions",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/form_submissions": {
      "post": {
        "summary": "Export form submissions",
        "operationId": "post-v1-environments-environment_id-exports-form_submissions",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_formSubmissionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/journey_metrics": {
      "post": {
        "summary": "Export journey metrics",
        "operationId": "post-v1-environments-environment_id-exports-journey_metrics",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_journeyMetricsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/newsletter_delivery_totals": {
      "post": {
        "summary": "Export newsletter delivery totals",
        "operationId": "post-v1-environments-environment_id-exports-newsletter_delivery_totals",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_newsletterDeliveryTotalsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/object_data": {
      "post": {
        "summary": "Export object data",
        "operationId": "post-v1-environments-environment_id-exports-object_data",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_objectDataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/profile_data": {
      "post": {
        "summary": "Export profile data",
        "operationId": "post-v1-environments-environment_id-exports-profile_data",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_profileDataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/segment_memberships": {
      "post": {
        "summary": "Export segment memberships",
        "operationId": "post-v1-environments-environment_id-exports-segment_memberships",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_segmentMembershipRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/suppressed_identifiers": {
      "post": {
        "summary": "Export GDPR-suppressed identifiers",
        "operationId": "post-v1-environments-environment_id-exports-suppressed_identifiers",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/team_members": {
      "post": {
        "summary": "Export team members",
        "operationId": "post-v1-environments-environment_id-exports-team_members",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/tracked_responses": {
      "post": {
        "summary": "Export tracked responses",
        "operationId": "post-v1-environments-environment_id-exports-tracked_responses",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_exports_trackedResponsesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_exportCreatedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/{id}": {
      "get": {
        "summary": "Get export",
        "operationId": "get-v1-environments-environment_id-exports-id",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_getResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/{id}/cancel": {
      "post": {
        "summary": "Cancel a queued or in-progress export",
        "operationId": "post-v1-environments-environment_id-exports-id-cancel",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/exports/{id}/download": {
      "post": {
        "summary": "Get export download URL",
        "operationId": "post-v1-environments-environment_id-exports-id-download",
        "tags": [
          "exports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_exports_downloadURLResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ext_api_keys": {
      "post": {
        "summary": "Create external API key",
        "operationId": "post-v1-environments-environment_id-ext_api_keys",
        "tags": [
          "ext_api_keys"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ext_api_keys_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ext_api_keys_extAPIKeyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/ext_api_keys/{id}": {
      "delete": {
        "summary": "Delete external API key",
        "operationId": "delete-v1-environments-environment_id-ext_api_keys-id",
        "tags": [
          "ext_api_keys"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update external API key",
        "operationId": "put-v1-environments-environment_id-ext_api_keys-id",
        "tags": [
          "ext_api_keys"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_ext_api_keys_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_ext_api_keys_extAPIKeyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/facebook_access_token_scopes": {
      "get": {
        "summary": "Get Facebook access token scopes",
        "operationId": "get-v1-environments-environment_id-facebook_access_token_scopes",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "access_token",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Short-lived Facebook user access token to inspect"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_scopesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/facebook_lead_ads_credentials": {
      "delete": {
        "summary": "Delete Facebook Lead Ads credentials",
        "operationId": "delete-v1-environments-environment_id-facebook_lead_ads_credentials",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get Facebook Lead Ads credentials",
        "operationId": "get-v1-environments-environment_id-facebook_lead_ads_credentials",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_credentialResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create Facebook Lead Ads credentials",
        "operationId": "post-v1-environments-environment_id-facebook_lead_ads_credentials",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_createOrUpdateCredRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_credentialResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update Facebook Lead Ads credentials",
        "operationId": "put-v1-environments-environment_id-facebook_lead_ads_credentials",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_createOrUpdateCredRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_credentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/facebook_lead_ads_forms": {
      "get": {
        "summary": "List Facebook Lead Ads forms",
        "operationId": "get-v1-environments-environment_id-facebook_lead_ads_forms",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_formIndexResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/facebook_lead_ads_forms/update_all": {
      "post": {
        "summary": "Sync all Facebook Lead Ads forms",
        "operationId": "post-v1-environments-environment_id-facebook_lead_ads_forms-update_all",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/facebook_lead_ads_forms/{id}": {
      "get": {
        "summary": "Get Facebook Lead Ads form",
        "operationId": "get-v1-environments-environment_id-facebook_lead_ads_forms-id",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_formResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update Facebook Lead Ads form",
        "operationId": "put-v1-environments-environment_id-facebook_lead_ads_forms-id",
        "tags": [
          "facebook_lead_ads"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_updateFormRequestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_formResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/form_submissions": {
      "get": {
        "summary": "List form submissions",
        "operationId": "get-v1-environments-environment_id-form_submissions",
        "tags": [
          "form_submissions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "newsletter_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by newsletter ID"
          },
          {
            "name": "campaign_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by campaign ID"
          },
          {
            "name": "action_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by action ID within campaign (requires campaign_id)"
          },
          {
            "name": "template_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by template ID"
          },
          {
            "name": "form_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by form ID"
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Filter by submission date (unix timestamp)"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Filter by submission date (unix timestamp)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size (default 50, max 1000)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_FormSubmissionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/frequency_cap_supported_channels": {
      "get": {
        "summary": "List supported frequency cap channels",
        "operationId": "get-v1-environments-environment_id-frequency_cap_supported_channels",
        "tags": [
          "frequency_caps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_frequency_caps_supportedChannelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/frequency_caps": {
      "get": {
        "summary": "List frequency caps",
        "operationId": "get-v1-environments-environment_id-frequency_caps",
        "tags": [
          "frequency_caps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create frequency cap",
        "operationId": "post-v1-environments-environment_id-frequency_caps",
        "tags": [
          "frequency_caps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/frequency_caps/{frequency_cap_id}": {
      "delete": {
        "summary": "Delete frequency cap",
        "operationId": "delete-v1-environments-environment_id-frequency_caps-frequency_cap_id",
        "tags": [
          "frequency_caps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "frequency_cap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Delete the cap even while campaigns or broadcasts still reference it"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_frequency_caps_deleteConflictResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update frequency cap",
        "operationId": "put-v1-environments-environment_id-frequency_caps-frequency_cap_id",
        "tags": [
          "frequency_caps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "frequency_cap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/frequency_caps/{frequency_cap_id}/usage": {
      "get": {
        "summary": "Get frequency cap usage",
        "operationId": "get-v1-environments-environment_id-frequency_caps-frequency_cap_id-usage",
        "tags": [
          "frequency_caps"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "frequency_cap_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geolocation": {
      "get": {
        "summary": "Get geolocation setting",
        "operationId": "get-v1-environments-environment_id-geolocation",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update geolocation setting",
        "operationId": "post-v1-environments-environment_id-geolocation",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geolocation_attributes": {
      "delete": {
        "summary": "Delete geolocation attributes",
        "operationId": "delete-v1-environments-environment_id-geolocation_attributes",
        "tags": [
          "attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets": {
      "get": {
        "summary": "List geosets",
        "operationId": "get-v1-environments-environment_id-geosets",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create geoset",
        "operationId": "post-v1-environments-environment_id-geosets",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_geosetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}": {
      "delete": {
        "summary": "Delete geoset",
        "operationId": "delete-v1-environments-environment_id-geosets-id",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get geoset",
        "operationId": "get-v1-environments-environment_id-geosets-id",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update geoset",
        "operationId": "put-v1-environments-environment_id-geosets-id",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_geosetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/duplicate": {
      "post": {
        "summary": "Duplicate geoset",
        "operationId": "post-v1-environments-environment_id-geosets-id-duplicate",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_geosetRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/exports": {
      "post": {
        "summary": "Export geoset as GeoJSON",
        "operationId": "post-v1-environments-environment_id-geosets-id-exports",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetExportResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/fence_points": {
      "get": {
        "summary": "List geoset fence points",
        "operationId": "get-v1-environments-environment_id-geosets-id-fence_points",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetFencePointsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/fences": {
      "get": {
        "summary": "List geoset fences",
        "operationId": "get-v1-environments-environment_id-geosets-id-fences",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (1-indexed, default 1)"
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page (default 25, max 1000)"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "id",
                "name",
                "radius",
                "created_at"
              ]
            },
            "description": "Sort field (default id)"
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction (default asc)"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by fence name or external ID (case-insensitive substring)"
          },
          {
            "name": "bbox",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Bounding box filter as min_lng,min_lat,max_lng,max_lat (WGS84 degrees); matches fences whose circle intersects the box; min_lng \u003e max_lng spans the antimeridian"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetFencesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create geoset fence",
        "operationId": "post-v1-environments-environment_id-geosets-id-fences",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_fenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_fenceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/fences/delete": {
      "post": {
        "summary": "Bulk delete fences from a geoset",
        "operationId": "post-v1-environments-environment_id-geosets-id-fences-delete",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_deleteFencesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_deleteFencesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/fences/move": {
      "post": {
        "summary": "Move or copy fences to another geoset",
        "operationId": "post-v1-environments-environment_id-geosets-id-fences-move",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_moveFencesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_moveFencesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/fences/{fence_id}": {
      "delete": {
        "summary": "Delete geoset fence",
        "operationId": "delete-v1-environments-environment_id-geosets-id-fences-fence_id",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fence_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get geoset fence",
        "operationId": "get-v1-environments-environment_id-geosets-id-fences-fence_id",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fence_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_fenceResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update geoset fence",
        "operationId": "put-v1-environments-environment_id-geosets-id-fences-fence_id",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fence_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_geosets_fenceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_fenceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets/{id}/usage": {
      "get": {
        "summary": "Get geoset usage",
        "operationId": "get-v1-environments-environment_id-geosets-id-usage",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_geosets_geosetUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/geosets_usage": {
      "get": {
        "summary": "List geosets usage",
        "operationId": "get-v1-environments-environment_id-geosets_usage",
        "tags": [
          "geosets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "geoset_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated geoset IDs; omit for every referenced geoset in the workspace"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/services_ui_api_geosets_geosetUsageModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/goal_recommendations": {
      "get": {
        "summary": "List goal recommendations",
        "operationId": "get-v1-environments-environment_id-goal_recommendations",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "campaign",
                "broadcast",
                "newsletter"
              ]
            },
            "description": "Narrow to one source: campaign, broadcast, or newsletter. Requires source_id."
          },
          {
            "name": "source_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Narrow to the source with this id. Requires source_type."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/services_ui_api_goal_recommendations_indexResponse"
                    },
                    {
                      "$ref": "#/components/schemas/services_ui_api_goal_recommendations_indexResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/goals": {
      "get": {
        "summary": "List goals",
        "operationId": "get-v1-environments-environment_id-goals",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Return only goals whose name contains this text, case-insensitive. Requires the goals-to-conversions flag."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Zero-based page to return. Requires the goals-to-conversions flag."
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Goals per page. Without either page or size the whole list is returned."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_indexResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create goal",
        "operationId": "post-v1-environments-environment_id-goals",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_analytics_goals_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_createResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/goals/{id}": {
      "delete": {
        "summary": "Delete goal",
        "operationId": "delete-v1-environments-environment_id-goals-id",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get goal",
        "operationId": "get-v1-environments-environment_id-goals-id",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_getResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update goal",
        "operationId": "put-v1-environments-environment_id-goals-id",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_analytics_goals_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_updateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/goals/{id}/data": {
      "get": {
        "summary": "Refresh goal data",
        "operationId": "get-v1-environments-environment_id-goals-id-data",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_refreshResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/goals/{id}/funnel_refresh": {
      "get": {
        "summary": "Refresh funnel data",
        "operationId": "get-v1-environments-environment_id-goals-id-funnel_refresh",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_funnelRefreshResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/goals/{id}/goal_refresh": {
      "get": {
        "summary": "Refresh goal attribution data",
        "operationId": "get-v1-environments-environment_id-goals-id-goal_refresh",
        "tags": [
          "goals"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_analytics_goals_goalRefreshResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health": {
      "get": {
        "summary": "Get environment health",
        "operationId": "get-v1-environments-environment_id-health",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_Response"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/api_triggered_broadcasts": {
      "get": {
        "summary": "Get API triggered broadcasts health",
        "operationId": "get-v1-environments-environment_id-health-api_triggered_broadcasts",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_APITBResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/campaigns": {
      "get": {
        "summary": "Get campaign health",
        "operationId": "get-v1-environments-environment_id-health-campaigns",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_CampaignsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/check": {
      "get": {
        "summary": "Lightweight environment health check",
        "description": "Returns whether the heavy /health endpoint should be polled. Reads ingress/egress queue statuses via DRPC and task counts via DB; never queries Prometheus.",
        "operationId": "get-v1-environments-environment_id-health-check",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_CheckResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/cleanup_candidates": {
      "get": {
        "summary": "Get cleanup candidates",
        "description": "Returns a ranked list of segments and campaigns that are unused or stale and currently consuming a non-trivial share of ingress evaluation cost. Each candidate is scored by reclaimable cost over the past 24 hours; conditions shared with active segments are excluded from a segment's reclaimable cost since archiving cannot free them.",
        "operationId": "get-v1-environments-environment_id-health-cleanup_candidates",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_CleanupCandidatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/delay_history": {
      "get": {
        "summary": "Get delay history",
        "operationId": "get-v1-environments-environment_id-health-delay_history",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_DelayHistory"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/ingress_breakdown": {
      "get": {
        "summary": "Get ingress queue breakdown",
        "description": "Peeks the head of an ingress queue and returns aggregated counts by message kind, source, and identifier type. Designed to surface what's pending when a category-level alert fires (e.g. \"Profile updates delayed\" can be driven by identify, delete, change_devices, or suppress queues — pick one). The response intentionally omits PII: attribute and event names appear, but never their values; source keys are built only from non-PII metadata (type, subtype, api, campaignID, actionID, importID, formType).",
        "operationId": "get-v1-environments-environment_id-health-ingress_breakdown",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_IngressBreakdownResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/objects": {
      "get": {
        "summary": "Get objects health",
        "operationId": "get-v1-environments-environment_id-health-objects",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_ObjectsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/pipelines": {
      "get": {
        "summary": "Get pipelines health",
        "operationId": "get-v1-environments-environment_id-health-pipelines",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_PipelinesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/push": {
      "get": {
        "summary": "Get push health",
        "operationId": "get-v1-environments-environment_id-health-push",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_PushHealthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/segments": {
      "get": {
        "summary": "Get segment health",
        "operationId": "get-v1-environments-environment_id-health-segments",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_SegmentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/health/top_events": {
      "get": {
        "summary": "Get top events",
        "operationId": "get-v1-environments-environment_id-health-top_events",
        "tags": [
          "env_health"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "simulate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "healthy",
                "busy",
                "degraded"
              ]
            },
            "description": "Return mock data for the named health scenario instead of live data (UI development only)."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_env_health_TopEventsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/identifiers/migrate": {
      "post": {
        "summary": "Start an identifier migration",
        "operationId": "post-v1-environments-environment_id-identifiers-migrate",
        "tags": [
          "identifiers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_IdentifierMigrationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_IdentifierMigrationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/identifiers/migrate/{workflow_id}": {
      "get": {
        "summary": "Get identifier migration status",
        "operationId": "get-v1-environments-environment_id-identifiers-migrate-workflow_id",
        "tags": [
          "identifiers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_IdentifierMigrationStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/identities": {
      "get": {
        "summary": "List identities",
        "operationId": "get-v1-environments-environment_id-identities",
        "tags": [
          "identities"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Template type to list (e.g. email, twilio). Defaults to email when omitted."
          },
          {
            "name": "in_use",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, only identities currently referenced by a campaign, newsletter, or transactional message."
          },
          {
            "name": "hidden",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Omit to list hidden and non-hidden identities alike; hidden=true lists only hidden ones, hidden=false only non-hidden ones."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_identities_identitiesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create identity",
        "operationId": "post-v1-environments-environment_id-identities",
        "tags": [
          "identities"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_identities_createIdentityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_identities_identityResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/identities/{identity_id}": {
      "delete": {
        "summary": "Delete identity",
        "operationId": "delete-v1-environments-environment_id-identities-identity_id",
        "tags": [
          "identities"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identity_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update identity",
        "operationId": "put-v1-environments-environment_id-identities-identity_id",
        "tags": [
          "identities"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identity_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_identities_updateIdentityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_identities_identityResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/imports": {
      "get": {
        "summary": "List imports",
        "operationId": "get-v1-environments-environment_id-imports",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Narrow to one import type: people, event, object, relationship or segment. Omitted, the response lists event, people, object and relationship imports together and never segment imports — and so does a type the endpoint does not recognise."
          },
          {
            "name": "segment_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Segment whose imports to list. Required when type=segment, ignored otherwise."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "1-based page number. The response carries one page plus the unpaged total in meta.pagination. A page that cannot be read as a number above zero is ignored and the first page is returned. See limit for the page size."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Rows per page. Defaults to 50, is clamped to 1000, and a limit that cannot be read as a number above zero leaves the default in place."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_indexResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create import",
        "operationId": "post-v1-environments-environment_id-imports",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_imports_createImportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_importResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/imports/download/import/{id}": {
      "post": {
        "summary": "Download import file",
        "operationId": "post-v1-environments-environment_id-imports-download-import-id",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_downloadURLResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/imports/download/original/{id}": {
      "post": {
        "summary": "Download original import file",
        "operationId": "post-v1-environments-environment_id-imports-download-original-id",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_downloadURLResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/imports/sign": {
      "post": {
        "summary": "Generate upload signature",
        "operationId": "post-v1-environments-environment_id-imports-sign",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_imports_generateSignatureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_signResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/imports/validate": {
      "post": {
        "summary": "Validate import path",
        "operationId": "post-v1-environments-environment_id-imports-validate",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_imports_validateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_validateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/imports/{id}": {
      "delete": {
        "summary": "Delete import",
        "operationId": "delete-v1-environments-environment_id-imports-id",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get import",
        "operationId": "get-v1-environments-environment_id-imports-id",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_importResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update import",
        "description": "update_type selects which fields are processed; one of: reset, reset_preprocessed, preprocess_rules, validate_rules, import_rules, preprocess, validate, import, import_segment, name.\n\nFields specific to a value, in addition to the shared fields:\n- reset: type, sheet, path, filename, description, object_type_id\n- preprocess_rules: preprocess_rules\n- validate_rules: validate_rules\n- import_rules: import_rules\n- import_segment: segment_id, segment_name",
        "operationId": "put-v1-environments-environment_id-imports-id",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_imports_updateImportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_importResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/analyze_survey/start": {
      "post": {
        "summary": "Start survey analysis",
        "operationId": "post-v1-environments-environment_id-in_app-analyze_survey-start",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_analyzeSurveyRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_analyzeSurveyStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/analyze_survey/status": {
      "post": {
        "summary": "Poll survey analysis status",
        "operationId": "post-v1-environments-environment_id-in_app-analyze_survey-status",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Workflow ID returned when the job was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Run ID returned when the job was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_analyzeSurveyStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/check_send_test": {
      "get": {
        "summary": "Check in-app send test",
        "operationId": "get-v1-environments-environment_id-in_app-check_send_test",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_CheckQueueResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/provision": {
      "post": {
        "summary": "Provision in-app account",
        "operationId": "post-v1-environments-environment_id-in_app-provision",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_provisionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/route_rules/regex": {
      "post": {
        "summary": "Generate route rules regex",
        "operationId": "post-v1-environments-environment_id-in_app-route_rules-regex",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_routeRulesRegexRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/status": {
      "get": {
        "summary": "Get in-app status",
        "operationId": "get-v1-environments-environment_id-in_app-status",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_StatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/survey_templates": {
      "get": {
        "summary": "Get survey templates",
        "operationId": "get-v1-environments-environment_id-in_app-survey_templates",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_surveyTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app/tour_templates": {
      "get": {
        "summary": "Get tour templates",
        "operationId": "get-v1-environments-environment_id-in_app-tour_templates",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_tourTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts": {
      "get": {
        "summary": "List in-app broadcasts",
        "operationId": "get-v1-environments-environment_id-in_app_broadcasts",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "states[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by state. Omitted or \"all\" applies no state filter."
          },
          {
            "name": "types[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by broadcast type. Defaults to custom broadcasts; sign_up_form requires the sign-up forms feature."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "0-based page number; each page holds 20 broadcasts. When omitted, every matching broadcast is returned and meta is absent."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring match on broadcast names; surrounding whitespace is ignored."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_indexBroadcastResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create in-app broadcast",
        "operationId": "post-v1-environments-environment_id-in_app_broadcasts",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_bannerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}": {
      "delete": {
        "summary": "Delete in-app broadcast",
        "operationId": "delete-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get in-app broadcast",
        "operationId": "get-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update in-app broadcast",
        "description": "update_type selects which fields are processed; one of: send, schedule, deschedule, stop.\n\nFields specific to a value, in addition to the shared fields:\n- schedule: scheduled_at, timezone",
        "operationId": "put-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_inAppBroadcastUpdateBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/copy": {
      "post": {
        "summary": "Copy in-app broadcast",
        "operationId": "post-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-copy",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_copyBroadcastRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/metrics": {
      "get": {
        "summary": "Get in-app broadcast metrics",
        "operationId": "get-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_inAppBroadcastMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/output_metrics": {
      "get": {
        "summary": "Get sign-up form metrics per output",
        "operationId": "get-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-output_metrics",
        "tags": [
          "metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_inAppBroadcastOutputMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/outputs": {
      "post": {
        "summary": "Enable a sign-up form output",
        "operationId": "post-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-outputs",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_enableOutputRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/outputs/{output_type}": {
      "delete": {
        "summary": "Disable a sign-up form output",
        "operationId": "delete-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-outputs-output_type",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "output_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/preview": {
      "post": {
        "summary": "Preview a sign-up form output",
        "description": "Renders the submitted content as a view-only preview and returns an expiring, unguessable URL that is not stored anywhere: the hosted page's URL, or the embed script's for the embedded output. Submissions and content events are disabled on the preview, no broadcast state changes, and the link expires about 24 hours after the preview is created.",
        "operationId": "post-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-preview",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_previewBroadcastRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_previewBroadcastResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/tags": {
      "post": {
        "summary": "Add tags to broadcast",
        "operationId": "post-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-tags",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_in_app_addTagRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/tags/{tag_id}": {
      "delete": {
        "summary": "Remove tag from broadcast",
        "operationId": "delete-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-tags-tag_id",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_broadcastWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/tracked_response_metrics": {
      "get": {
        "summary": "Get in-app broadcast tracked response metrics",
        "operationId": "get-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-tracked_response_metrics",
        "tags": [
          "tracked_response_metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_response_metrics_metricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/in_app_broadcasts/{in_app_broadcast_id}/tracked_responses": {
      "get": {
        "summary": "Get broadcast tracked responses",
        "operationId": "get-v1-environments-environment_id-in_app_broadcasts-in_app_broadcast_id-tracked_responses",
        "tags": [
          "in_app"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "in_app_broadcast_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_in_app_trackedResponsesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations": {
      "get": {
        "summary": "List the integrations catalog for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_ListIntegrationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/cdp_out": {
      "get": {
        "summary": "Get the CDP event-forwarding integration for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations-cdp_out",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_GetCdpOutResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post-v1-environments-environment_id-integrations-cdp_out",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/cdp_out/{id}": {
      "delete": {
        "operationId": "delete-v1-environments-environment_id-integrations-cdp_out-id",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "operationId": "put-v1-environments-environment_id-integrations-cdp_out-id",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/data_out/{identifier}": {
      "delete": {
        "summary": "Disconnect a data-out integration for a workspace",
        "operationId": "delete-v1-environments-environment_id-integrations-data_out-identifier",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a data-out integration for a workspace by type",
        "operationId": "get-v1-environments-environment_id-integrations-data_out-identifier",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_GetDataOutResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Connect a data-out integration for a workspace",
        "operationId": "post-v1-environments-environment_id-integrations-data_out-identifier",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_CreateDataOutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_CreateDataOutResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a data-out integration for a workspace",
        "operationId": "put-v1-environments-environment_id-integrations-data_out-identifier",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_UpdateDataOutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_UpdateDataOutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/data_out/{identifier}/verify": {
      "post": {
        "summary": "Send a test event through a data-out integration's settings",
        "operationId": "post-v1-environments-environment_id-integrations-data_out-identifier-verify",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_VerifyDataOutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_VerifyDataOutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/mparticle": {
      "get": {
        "summary": "Get the mParticle integration for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations-mparticle",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_GetMParticleResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Connect the mParticle integration for a workspace",
        "operationId": "post-v1-environments-environment_id-integrations-mparticle",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_CreateMParticleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_CreateMParticleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/mparticle/{id}": {
      "delete": {
        "summary": "Disconnect the mParticle integration for a workspace",
        "operationId": "delete-v1-environments-environment_id-integrations-mparticle-id",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update the mParticle integration for a workspace",
        "operationId": "put-v1-environments-environment_id-integrations-mparticle-id",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_UpdateMParticleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_UpdateMParticleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/pipelines": {
      "get": {
        "summary": "List CDP Sources and Destinations for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations-pipelines",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_ListPipelinesConnectionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/segdotcom": {
      "delete": {
        "summary": "Disconnect the legacy Segment source integration for a workspace",
        "description": "Removes the connector. Answers 204 whether or not one was configured.",
        "operationId": "delete-v1-environments-environment_id-integrations-segdotcom",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get the legacy SegmentOut integration for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations-segdotcom",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_GetSegmentOutLegacyResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Create or update the legacy Segment source integration for a workspace",
        "description": "Configures the older generation of this connector, superseded by `POST /integrations/segment_out`. Writes the legacy settings block, so it has no effect on a `use_javascript` record — note that endpoint leaves the flag false by default, and such a record is written here. A create takes a body of `key` alone; an update rejects one that omits `events` or `eu` with a 422. Answers with the submitted body rather than the stored record, so re-read the GET for the saved state.",
        "operationId": "put-v1-environments-environment_id-integrations-segdotcom",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_UpsertSegmentOutLegacyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_UpsertSegmentOutLegacyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/segment_in": {
      "delete": {
        "summary": "Disconnect the Segment destination integration for a workspace",
        "operationId": "delete-v1-environments-environment_id-integrations-segment_in",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get the Segment destination integration for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations-segment_in",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_GetSegmentInResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/segment_out": {
      "get": {
        "summary": "Get the SegmentOut integration for a workspace",
        "operationId": "get-v1-environments-environment_id-integrations-segment_out",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_GetSegmentOutResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Connect the Segment source integration for a workspace",
        "operationId": "post-v1-environments-environment_id-integrations-segment_out",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_CreateSegmentOutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_CreateSegmentOutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/integrations/segment_out/{id}": {
      "delete": {
        "summary": "Disconnect the Segment source integration for a workspace",
        "operationId": "delete-v1-environments-environment_id-integrations-segment_out-id",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update the Segment source integration for a workspace",
        "operationId": "put-v1-environments-environment_id-integrations-segment_out-id",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_integrations_UpdateSegmentOutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_integrations_UpdateSegmentOutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/journey_attributes": {
      "get": {
        "summary": "Get journey attributes",
        "operationId": "get-v1-environments-environment_id-journey_attributes",
        "tags": [
          "journey_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Campaign ID"
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "External customer ID (provide this or internal_id)"
          },
          {
            "name": "internal_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Internal customer ID (provide this or customer_id)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_journey_attributes_getResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/knowledge_source_library": {
      "get": {
        "summary": "List knowledge source library entries",
        "operationId": "get-v1-environments-environment_id-knowledge_source_library",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_libraryListResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Upload a knowledge source to the library",
        "operationId": "post-v1-environments-environment_id-knowledge_source_library",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_createLibraryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_libraryEntryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/knowledge_source_library/upload": {
      "post": {
        "summary": "Upload a knowledge source file to the library",
        "operationId": "post-v1-environments-environment_id-knowledge_source_library-upload",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_uploadLibraryForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_libraryEntryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/knowledge_source_library/{id}": {
      "delete": {
        "summary": "Delete a knowledge source library entry",
        "operationId": "delete-v1-environments-environment_id-knowledge_source_library-id",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get a knowledge source library entry",
        "operationId": "get-v1-environments-environment_id-knowledge_source_library-id",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_libraryEntryResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update a knowledge source library entry (metadata or re-upload)",
        "operationId": "patch-v1-environments-environment_id-knowledge_source_library-id",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_updateLibraryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_libraryEntryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/knowledge_sources/sign": {
      "post": {
        "summary": "Generate signed upload URL for knowledge source",
        "operationId": "post-v1-environments-environment_id-knowledge_sources-sign",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_signRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_signResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layout_starters": {
      "get": {
        "summary": "List starter layouts",
        "operationId": "get-v1-environments-environment_id-layout_starters",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_starterLayoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts": {
      "get": {
        "summary": "List layouts",
        "operationId": "get-v1-environments-environment_id-layouts",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "description": "Set to 'true' to include archived layouts"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_layoutsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create layout",
        "operationId": "post-v1-environments-environment_id-layouts",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_layouts_layoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_layoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts/{id}": {
      "delete": {
        "summary": "Delete layout",
        "operationId": "delete-v1-environments-environment_id-layouts-id",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get layout",
        "operationId": "get-v1-environments-environment_id-layouts-id",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_layoutResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update layout",
        "operationId": "put-v1-environments-environment_id-layouts-id",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_layouts_layoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_layoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts/{id}/actions": {
      "get": {
        "summary": "Get layout actions",
        "operationId": "get-v1-environments-environment_id-layouts-id-actions",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_actionsLinksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts/{id}/archived": {
      "post": {
        "summary": "Toggle layout archived",
        "operationId": "post-v1-environments-environment_id-layouts-id-archived",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_layouts_toggleArchivedRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_layoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts/{id}/default": {
      "post": {
        "summary": "Set default layout",
        "operationId": "post-v1-environments-environment_id-layouts-id-default",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_layouts_setDefaultRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_layoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts/{id}/newsletters": {
      "get": {
        "summary": "Get layout newsletters",
        "operationId": "get-v1-environments-environment_id-layouts-id-newsletters",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_newslettersLinksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/layouts/{id}/transactional_messages": {
      "get": {
        "summary": "Get layout transactional messages",
        "operationId": "get-v1-environments-environment_id-layouts-id-transactional_messages",
        "tags": [
          "layouts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_layouts_transactionalLinksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_actions/{action_id}/knowledge_sources": {
      "get": {
        "summary": "List knowledge sources for an LLM action",
        "operationId": "get-v1-environments-environment_id-llm_actions-action_id-knowledge_sources",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_listResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create knowledge source for an LLM action",
        "operationId": "post-v1-environments-environment_id-llm_actions-action_id-knowledge_sources",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_knowledgeSourceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_actions/{action_id}/knowledge_sources/attach": {
      "post": {
        "summary": "Attach a library knowledge source to an LLM action",
        "operationId": "post-v1-environments-environment_id-llm_actions-action_id-knowledge_sources-attach",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_attachRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_knowledgeSourceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_actions/{action_id}/knowledge_sources/recent_events/preview": {
      "post": {
        "summary": "Preview a recent-events knowledge source against a sample customer",
        "operationId": "post-v1-environments-environment_id-llm_actions-action_id-knowledge_sources-recent_events-preview",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_previewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_previewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_actions/{action_id}/knowledge_sources/{id}": {
      "delete": {
        "summary": "Delete knowledge source",
        "operationId": "delete-v1-environments-environment_id-llm_actions-action_id-knowledge_sources-id",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get knowledge source",
        "operationId": "get-v1-environments-environment_id-llm_actions-action_id-knowledge_sources-id",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_knowledgeSourceResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update knowledge source (metadata or re-upload)",
        "operationId": "patch-v1-environments-environment_id-llm_actions-action_id-knowledge_sources-id",
        "tags": [
          "knowledge_sources"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_knowledge_sources_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_knowledge_sources_knowledgeSourceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configuration_models/{model_id}": {
      "delete": {
        "summary": "Remove LLM model",
        "operationId": "delete-v1-environments-environment_id-llm_configuration_models-model_id",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update LLM model",
        "operationId": "put-v1-environments-environment_id-llm_configuration_models-model_id",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_llm_configurations_updateModelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_configModelResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configuration_models_fetch": {
      "post": {
        "summary": "Fetch available LLM models",
        "operationId": "post-v1-environments-environment_id-llm_configuration_models_fetch",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_llm_configurations_fetchModelsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_modelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configuration_providers": {
      "get": {
        "summary": "List LLM providers",
        "operationId": "get-v1-environments-environment_id-llm_configuration_providers",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_providersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configuration_verify": {
      "post": {
        "summary": "Verify LLM credentials",
        "operationId": "post-v1-environments-environment_id-llm_configuration_verify",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_llm_configurations_verifyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_verifyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configurations": {
      "get": {
        "summary": "List LLM configurations",
        "operationId": "get-v1-environments-environment_id-llm_configurations",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_configurationsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create LLM configuration",
        "operationId": "post-v1-environments-environment_id-llm_configurations",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_llm_configurations_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_configurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configurations/{id}": {
      "delete": {
        "summary": "Delete LLM configuration",
        "operationId": "delete-v1-environments-environment_id-llm_configurations-id",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get LLM configuration",
        "operationId": "get-v1-environments-environment_id-llm_configurations-id",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_configurationResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update LLM configuration",
        "operationId": "put-v1-environments-environment_id-llm_configurations-id",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_llm_configurations_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_configurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configurations/{id}/models": {
      "post": {
        "summary": "Add models to LLM configuration",
        "operationId": "post-v1-environments-environment_id-llm_configurations-id-models",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_llm_configurations_addModelsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_configModelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_configurations/{id}/models/fetch": {
      "get": {
        "summary": "Fetch models for LLM configuration",
        "operationId": "get-v1-environments-environment_id-llm_configurations-id-models-fetch",
        "tags": [
          "llm_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_llm_configurations_modelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_models": {
      "get": {
        "summary": "List LLM models",
        "operationId": "get-v1-environments-environment_id-llm_models",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_listLLMModelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/llm_usage/events": {
      "get": {
        "summary": "List individual LLM credit usage events for a workspace",
        "operationId": "get-v1-environments-environment_id-llm_usage-events",
        "tags": [
          "accounts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "filter by campaign id"
          },
          {
            "name": "action_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "filter by action id"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "opaque pagination cursor from a prior response"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "page size (default 50, max 1000)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_llmUsageEventsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/logs": {
      "get": {
        "summary": "List activity logs",
        "operationId": "get-v1-environments-environment_id-logs",
        "tags": [
          "logs"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "anonymous",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return anonymous activity instead of identified-customer activity"
          },
          {
            "name": "content_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "When set with anonymous=true, scope anonymous logs to a content id"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by activity type (e.g. event, attribute_change)"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by event name"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Max logs to return per page (default 50; identified-customer logs are capped at 50)"
          },
          {
            "name": "continuation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Pagination token from a previous response's meta.continuation"
          },
          {
            "name": "filters",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Base64-encoded filter; returns matching log ids in meta.filter_matches without removing logs"
          },
          {
            "name": "match_limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "With filters, read further pages until this many matching events are found. Returns only the matches. Omit for the single-page behavior."
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Scope to a single external customer id"
          },
          {
            "name": "internal_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Scope to a single internal (cio) customer id"
          },
          {
            "name": "cio_object_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Scope to a single object by internal object id"
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "One bound of the activity time window (RFC3339 timestamp)"
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Other bound of the activity time window (RFC3339 timestamp)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_logs_logsReply"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/mail_servers": {
      "get": {
        "summary": "List mail servers",
        "operationId": "get-v1-environments-environment_id-mail_servers",
        "tags": [
          "mailservers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mailservers_mailServersResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create mail server",
        "operationId": "post-v1-environments-environment_id-mail_servers",
        "tags": [
          "mailservers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_mailservers_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mailservers_mailServerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/mail_servers/{id}": {
      "delete": {
        "summary": "Delete mail server",
        "operationId": "delete-v1-environments-environment_id-mail_servers-id",
        "tags": [
          "mailservers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get mail server",
        "operationId": "get-v1-environments-environment_id-mail_servers-id",
        "tags": [
          "mailservers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mailservers_mailServerResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update mail server",
        "operationId": "put-v1-environments-environment_id-mail_servers-id",
        "tags": [
          "mailservers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_mailservers_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mailservers_mailServerResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/mail_servers/{id}/default/{type}": {
      "post": {
        "summary": "Set default mail server",
        "operationId": "post-v1-environments-environment_id-mail_servers-id-default-type",
        "tags": [
          "mailservers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "none",
                "all",
                "transactional",
                "behavioral",
                "newsletter",
                "triggered_broadcast",
                "transactional_message"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mailservers_mailServersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/message_channels/{channel_name}/settings": {
      "get": {
        "summary": "Get message channel settings",
        "description": "Returns the currently-stored settings for a single message channel. The channel_name path parameter must be one of the valid channel names: \"sms\" or \"whatsapp\". Any other value returns 400. Fields not applicable to the channel are omitted (e.g. disable_smart_encoding for whatsapp).",
        "operationId": "get-v1-environments-environment_id-message_channels-channel_name-settings",
        "tags": [
          "message_channels"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_message_channels_settingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update message channel settings",
        "description": "Replaces the stored settings for a single message channel. The channel_name path parameter must be one of the valid channel names: \"sms\" or \"whatsapp\". Any other value returns 400. When auto_tls_domain_id is set (non-zero), the referenced auto TLS domain must exist and be in state \"active\" and auto_tls_domain_name must exactly match the domain stored for that ID — otherwise the request returns 400. A successful update with a valid auto_tls_domain_id also upserts the domain into edge in the same transaction. disable_smart_encoding applies to sms only and is ignored on other channels; shorten_links + auto_tls_domain_* apply to channels that support link shortening.",
        "operationId": "put-v1-environments-environment_id-message_channels-channel_name-settings",
        "tags": [
          "message_channels"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_message_channels_updateSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_message_channels_settingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/message_library_items": {
      "get": {
        "summary": "List message library items",
        "operationId": "get-v1-environments-environment_id-message_library_items",
        "tags": [
          "messages"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Base64-encoded search term (min 3 characters once decoded)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of records to return (default 50, max 200)"
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction on updated_at (default desc)"
          },
          {
            "name": "from_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by sender (From address) identity ID"
          },
          {
            "name": "reply_to_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by reply-to (Reply-to address) identity ID"
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Unix timestamp upper bound on updated_at"
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Unix timestamp lower bound on updated_at"
          },
          {
            "name": "include_archived_campaigns",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include messages from archived campaigns (default false)"
          },
          {
            "name": "include_stopped_campaigns",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Include messages from stopped campaigns (default false)"
          },
          {
            "name": "parents[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by parent entity type (campaign, newsletter, transactional_message, api_triggered_broadcast, in_app_broadcast)"
          },
          {
            "name": "channel[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by channel/action type"
          },
          {
            "name": "status[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by parent-type + state combinations (e.g. campaign_automatic, apitb_draft, newsletter_sent)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_messages_messageLibraryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/message_limits": {
      "get": {
        "summary": "Get message limits",
        "operationId": "get-v1-environments-environment_id-message_limits",
        "tags": [
          "message_limits"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_message_limits_messageLimitsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update message limits",
        "operationId": "put-v1-environments-environment_id-message_limits",
        "tags": [
          "message_limits"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_message_limits_updateMessageLimitsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/all_deliveries": {
      "get": {
        "summary": "Get delivery metrics",
        "operationId": "get-v1-environments-environment_id-metrics-all_deliveries",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_v2_DeliveryMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/all_links": {
      "get": {
        "summary": "Get tracked link metrics",
        "operationId": "get-v1-environments-environment_id-metrics-all_links",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_v2_LinkMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/analysis": {
      "get": {
        "summary": "Get analysis metrics",
        "operationId": "get-v1-environments-environment_id-metrics-analysis",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter analysis results by name"
          },
          {
            "name": "data_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by data type (repeatable)"
          },
          {
            "name": "tag_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by tag id (repeatable)"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter by status (repeatable)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_Analysis"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/dashboard_tests": {
      "get": {
        "summary": "Get dashboard test metrics",
        "operationId": "get-v1-environments-environment_id-metrics-dashboard_tests",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_v2_DashboardTestsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/deliverability": {
      "get": {
        "summary": "Get deliverability metrics",
        "operationId": "get-v1-environments-environment_id-metrics-deliverability",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Metrics API version. Send \"2\" for the response shapes documented here"
          },
          {
            "name": "tz",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "IANA timezone name (version 2 only), e.g. America/New_York"
          },
          {
            "name": "res",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start (Unix seconds). When omitted, a default period is calculated from res"
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end (Unix seconds)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_DeliverabilityAnalysis"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/segment_membership": {
      "get": {
        "summary": "Get segment membership metrics",
        "operationId": "get-v1-environments-environment_id-metrics-segment_membership",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Segment to report membership for"
          },
          {
            "name": "resolution",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Time bucket resolution: days, weeks, or months"
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Window start (Unix seconds)"
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Window end (Unix seconds). Must be after start, by at most 2 years"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_metrics_v2_SegmentMembershipResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/metrics/{name}": {
      "get": {
        "summary": "Get metrics by name",
        "operationId": "get-v1-environments-environment_id-metrics-name",
        "tags": [
          "metrics_v2"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters": {
      "get": {
        "summary": "List newsletters",
        "operationId": "get-v1-environments-environment_id-newsletters",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "0-based page number; the response is always one page. Defaults to 0 when omitted."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring match on newsletter names."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort key (e.g. name, created, sent). Defaults to the handler's updated-time ordering."
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Sort ascending when true."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by newsletter type."
          },
          {
            "name": "channel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by message channel name. Omitted or \"all\" applies no channel filter."
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Unix timestamp (seconds); inclusive lower bound on the date the current sort key selects. Values \u003c= 0, or omitted, apply no bound."
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Unix timestamp (seconds); inclusive upper bound on the date the current sort key selects. Values \u003c= 0, or omitted, apply no bound."
          },
          {
            "name": "tagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by tag IDs."
          },
          {
            "name": "subscriptionTopicId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter by subscription topic ID. Applies only when the param is present and non-empty; 0 selects newsletters with no assigned topic."
          },
          {
            "name": "sendToUnsubscribed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by send-to-unsubscribed setting. The filter applies only when the param is present and non-empty."
          },
          {
            "name": "objectTypeIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by object type IDs."
          },
          {
            "name": "goalIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Filter by goal IDs."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_listNewslettersResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create newsletter",
        "operationId": "post-v1-environments-environment_id-newsletters",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_createNewsletterBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}": {
      "delete": {
        "summary": "Delete newsletter",
        "operationId": "delete-v1-environments-environment_id-newsletters-id",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_deleteNewsletterResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Get newsletter",
        "operationId": "get-v1-environments-environment_id-newsletters-id",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTopicsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update newsletter",
        "description": "update_type selects which fields are processed; one of: main, channel, recipients, recipients_file, tracking, rate_limits, schedule, send, test, end_test, pause, resume, cancel, draft_schedule.\n\nFields specific to a value, in addition to the shared fields:\n- main: name, description\n- recipients: filters, send_to_everyone, use_message_limits, deduped, frequency_cap_mode, frequency_cap_id, test_recipient_internal_ids, send_to_unsubscribed, subscription_topic_id\n- recipients_file: recipient_file_path, send_to_unsubscribed, subscription_topic_id\n- tracking: conversion, conversion_type, conversion_action, conversion_window, conversion_segment_id, conversion_event_name, conversion_event_filters, goal_id\n- test: platform, tracked, automatic_winner, test_metric, test_duration\n- end_test: winner_template_id\n- draft_schedule: draft_scheduled_at, draft_send_mode",
        "operationId": "put-v1-environments-environment_id-newsletters-id",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_updateNewsletterRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTopicsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/analyze_survey": {
      "post": {
        "summary": "Analyze newsletter survey",
        "operationId": "post-v1-environments-environment_id-newsletters-id-analyze_survey",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_analyzeSurveyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ai_content_SurveyAnalysisResult"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/copy": {
      "post": {
        "summary": "Copy newsletter",
        "operationId": "post-v1-environments-environment_id-newsletters-id-copy",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterCopyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_copyNewsletterResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/counts": {
      "get": {
        "summary": "Get newsletter recipient counts",
        "operationId": "get-v1-environments-environment_id-newsletters-id-counts",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterCountsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/forms": {
      "get": {
        "summary": "List newsletter forms",
        "operationId": "get-v1-environments-environment_id-newsletters-id-forms",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_FormsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/forward": {
      "post": {
        "summary": "Forward newsletter",
        "operationId": "post-v1-environments-environment_id-newsletters-id-forward",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_forwardRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/metrics": {
      "get": {
        "summary": "Get newsletter metrics",
        "operationId": "get-v1-environments-environment_id-newsletters-id-metrics",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Series resolution: hourly/hours, daily/days, weekly/weeks or monthly/months. Defaults to monthly when omitted; any other value is a 400."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/optimal_time/start": {
      "post": {
        "summary": "Start recommended send time",
        "operationId": "post-v1-environments-environment_id-newsletters-id-optimal_time-start",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_recommendedSendTimeStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/optimal_time/status": {
      "get": {
        "summary": "Poll recommended send time status",
        "operationId": "get-v1-environments-environment_id-newsletters-id-optimal_time-status",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the recommendation was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_recommendedSendTimeStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/pacing_preview": {
      "get": {
        "summary": "Get newsletter pacing preview",
        "operationId": "get-v1-environments-environment_id-newsletters-id-pacing_preview",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_pacingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/preview_recipient_counts": {
      "get": {
        "summary": "Get newsletter preview recipient counts",
        "operationId": "get-v1-environments-environment_id-newsletters-id-preview_recipient_counts",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_previewCountsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/schedule": {
      "get": {
        "summary": "Get newsletter schedule",
        "operationId": "get-v1-environments-environment_id-newsletters-id-schedule",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterScheduleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/segments": {
      "get": {
        "summary": "Get newsletter segments",
        "operationId": "get-v1-environments-environment_id-newsletters-id-segments",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterSegmentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/send_status": {
      "get": {
        "summary": "Get newsletter send status",
        "operationId": "get-v1-environments-environment_id-newsletters-id-send_status",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_sendStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/send_timing": {
      "get": {
        "summary": "Get per-bucket send counts for a newsletter's send",
        "operationId": "get-v1-environments-environment_id-newsletters-id-send_timing",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window start, unix seconds. Required."
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Window end, unix seconds. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_sendTimingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tags": {
      "post": {
        "summary": "Add tags to newsletter",
        "operationId": "post-v1-environments-environment_id-newsletters-id-tags",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_tagCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tags/{tag_id}": {
      "delete": {
        "summary": "Remove tag from newsletter",
        "operationId": "delete-v1-environments-environment_id-newsletters-id-tags-tag_id",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/template_metrics": {
      "get": {
        "summary": "Get newsletter variation metrics",
        "operationId": "get-v1-environments-environment_id-newsletters-id-template_metrics",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Series resolution: hourly/hours, daily/days, weekly/weeks or monthly/months. Defaults to monthly when omitted; any other value is a 400."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_variationMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/templates": {
      "get": {
        "summary": "Get newsletter templates",
        "operationId": "get-v1-environments-environment_id-newsletters-id-templates",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/test": {
      "delete": {
        "summary": "Delete newsletter test",
        "operationId": "delete-v1-environments-environment_id-newsletters-id-test",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tests": {
      "delete": {
        "summary": "Delete all newsletter tests",
        "operationId": "delete-v1-environments-environment_id-newsletters-id-tests",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "summary": "Create newsletter test variation",
        "operationId": "post-v1-environments-environment_id-newsletters-id-tests",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tests/{test_group_id}": {
      "delete": {
        "summary": "Delete newsletter test group",
        "operationId": "delete-v1-environments-environment_id-newsletters-id-tests-test_group_id",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "test_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tracked_link_metric": {
      "get": {
        "summary": "Get newsletter tracked link metrics",
        "operationId": "get-v1-environments-environment_id-newsletters-id-tracked_link_metric",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_trackedLinkMetricEnvelope"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tracked_response_metrics": {
      "get": {
        "summary": "Get newsletter tracked response metrics",
        "operationId": "get-v1-environments-environment_id-newsletters-id-tracked_response_metrics",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_response_metrics_metricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/tracked_responses": {
      "get": {
        "summary": "Get newsletter tracked responses",
        "operationId": "get-v1-environments-environment_id-newsletters-id-tracked_responses",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_trackedResponsesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/newsletters/{id}/translations": {
      "post": {
        "summary": "Create newsletter translations",
        "operationId": "post-v1-environments-environment_id-newsletters-id-translations",
        "tags": [
          "newsletters"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_newsletters_createTranslationsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_newsletters_newsletterWithTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/oauth_credentials": {
      "get": {
        "summary": "List workspace OAuth credentials",
        "operationId": "get-v1-environments-environment_id-oauth_credentials",
        "tags": [
          "oauth_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_oauth_credentials_listResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Connect a workspace OAuth credential (e.g. Google Drive)",
        "operationId": "post-v1-environments-environment_id-oauth_credentials",
        "tags": [
          "oauth_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_oauth_credentials_connectRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_oauth_credentials_credentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/oauth_credentials/{id}/access_token": {
      "get": {
        "summary": "Mint a short-lived access token for the Drive Picker",
        "operationId": "get-v1-environments-environment_id-oauth_credentials-id-access_token",
        "tags": [
          "oauth_credentials"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_oauth_credentials_accessTokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes/{type_id}/metadata/batch": {
      "post": {
        "summary": "Batch update object attribute metadata",
        "operationId": "post-v1-environments-environment_id-object_attributes-type_id-metadata-batch",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateObjectAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes/{type_id}/object_count": {
      "post": {
        "summary": "Get object attribute counts",
        "description": "Returns the number of objects that have each attribute set, for all attributes of the given object type.",
        "operationId": "post-v1-environments-environment_id-object_attributes-type_id-object_count",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_ObjectAttributesCountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes/{type_id}/usage": {
      "post": {
        "summary": "Get object attribute usage counts",
        "description": "Returns the number of segments, campaigns, and newsletters that reference each of the specified object attributes for a given object type.",
        "operationId": "post-v1-environments-environment_id-object_attributes-type_id-usage",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_ObjectAttributesUsageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_ObjectAttributesUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes/{type_id}/{attribute}": {
      "delete": {
        "summary": "Delete an object attribute",
        "operationId": "delete-v1-environments-environment_id-object_attributes-type_id-attribute",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get object attribute details",
        "description": "Returns detailed information about an object attribute for a given object type, including metadata, segments, campaigns, newsletters, templates, snippets, and layouts that reference it.",
        "operationId": "get-v1-environments-environment_id-object_attributes-type_id-attribute",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_AttributeDetailWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes/{type_id}/{attribute}/metadata": {
      "put": {
        "summary": "Update object attribute metadata",
        "operationId": "put-v1-environments-environment_id-object_attributes-type_id-attribute-metadata",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes/{type_id}/{attribute}/tags": {
      "put": {
        "summary": "Update object attribute tags",
        "operationId": "put-v1-environments-environment_id-object_attributes-type_id-attribute-tags",
        "tags": [
          "object_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateAttributeTagsRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_attributes_values/{type_id}": {
      "get": {
        "summary": "List object attribute values",
        "operationId": "get-v1-environments-environment_id-object_attributes_values-type_id",
        "tags": [
          "value_lists"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Object attribute name"
          },
          {
            "name": "relationship",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Whether this is a relationship attribute"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_StringListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_relationship_attributes/{type_id}/metadata/batch": {
      "post": {
        "summary": "Batch update relationship attribute metadata",
        "operationId": "post-v1-environments-environment_id-object_relationship_attributes-type_id-metadata-batch",
        "tags": [
          "relationship_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateObjectRelAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_BatchUpdateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_relationship_attributes/{type_id}/usage": {
      "post": {
        "summary": "Get relationship attribute usage counts",
        "description": "Returns the number of segments, campaigns, and newsletters that reference each of the specified relationship attributes for a given object type.",
        "operationId": "post-v1-environments-environment_id-object_relationship_attributes-type_id-usage",
        "tags": [
          "relationship_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_RelationshipAttributesUsageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_RelationshipAttributesUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_relationship_attributes/{type_id}/{attribute}": {
      "delete": {
        "summary": "Delete a relationship attribute",
        "operationId": "delete-v1-environments-environment_id-object_relationship_attributes-type_id-attribute",
        "tags": [
          "relationship_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get relationship attribute details",
        "description": "Returns detailed information about a relationship attribute for a given object type, including metadata, segments, campaigns, newsletters, templates, snippets, and layouts that reference it.",
        "operationId": "get-v1-environments-environment_id-object_relationship_attributes-type_id-attribute",
        "tags": [
          "relationship_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_AttributeDetailWithTagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_relationship_attributes/{type_id}/{attribute}/metadata": {
      "put": {
        "summary": "Update relationship attribute metadata",
        "operationId": "put-v1-environments-environment_id-object_relationship_attributes-type_id-attribute-metadata",
        "tags": [
          "relationship_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateAttributeMetadataRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_relationship_attributes/{type_id}/{attribute}/tags": {
      "put": {
        "summary": "Update relationship attribute tags",
        "operationId": "put-v1-environments-environment_id-object_relationship_attributes-type_id-attribute-tags",
        "tags": [
          "relationship_attributes"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attribute",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateAttributeTagsRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_type_snippets": {
      "get": {
        "summary": "List snippets by object type",
        "operationId": "get-v1-environments-environment_id-object_type_snippets",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objectTypeIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "Object type IDs to filter by"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snippets_objectTypeSnippetsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types": {
      "get": {
        "summary": "List object types",
        "description": "Returns all active (non-deleted) object types with their attributes, relationship attributes, object counts, and usage info.",
        "operationId": "get-v1-environments-environment_id-object_types",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_listObjectTypesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create object type",
        "description": "Creates a new object type. Required fields: name, slug, singular_name, singular_slug.\nSlugs must match `^[a-zA-Z][a-zA-Z0-9_]*$`.\nWhen the account's object type limit is reached, the type is still created but with `enabled=false` — callers must check the response to detect this.",
        "operationId": "post-v1-environments-environment_id-object_types",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_objects_createObjectTypeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_createObjectTypeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}": {
      "delete": {
        "summary": "Delete object type",
        "description": "Deletes an object type. Blocked if the type is in use.\nAssociated objects are cleaned up asynchronously via a background backfill after the type is deleted.",
        "operationId": "delete-v1-environments-environment_id-object_types-type_id",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update object type",
        "description": "Updates an object type. All fields are optional; only fields that differ from the current value are applied.\nEmpty strings and whitespace-only values are treated as 'not provided' and preserve the existing value.\nSlug renames are blocked if the type has liquid usage. Disabling is blocked if the type is in use.\nRe-enabling is blocked if the account's object type limit is reached.",
        "operationId": "put-v1-environments-environment_id-object_types-type_id",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_objects_updateObjectTypeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_updateObjectTypeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}/objects": {
      "get": {
        "summary": "List objects by type (with filtering and pagination)",
        "description": "Supports two pagination modes: continuation-based (default, descending) and page-based (activated by sending `page`).\nThe `name` param triggers a name search (lowercased, supports wildcards) capped at 1000 results; when this cap is hit, `total` is set to -1.\nWhen both `name` and `filters` are provided, `name` takes priority and `filters` is ignored.\nThe `filters` param must be base64-encoded, URL-encoded JSON.\n`without_relationships=true` and `with_relationships=true` narrow the result to objects with no relationships or with at least one; they are mutually exclusive.\nIf the user's permissions require attribute redaction and `filters` is non-empty, the response is emptied silently.",
        "operationId": "get-v1-environments-environment_id-object_types-type_id-objects",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "continuation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Continuation token from a previous response (default pagination mode, descending)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number; sending page\u003e0 switches to page-based pagination"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page (default 50)"
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Sort ascending"
          },
          {
            "name": "filters",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Base64-encoded, URL-encoded JSON filter; ignored when name is set"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Name search (lowercased, supports wildcards); capped at 1000 results"
          },
          {
            "name": "without_relationships",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Only return objects without relationships; mutually exclusive with with_relationships"
          },
          {
            "name": "with_relationships",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Only return objects with at least one relationship; mutually exclusive with without_relationships"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_listResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create object",
        "description": "Queues object creation asynchronously via ingress. Returns 202 before the object is actually created.\nRejects duplicate `object_id` values synchronously. The attribute name `relationship` is reserved and cannot be used.\nWhen `attributes` is null, the `object_id` validation is skipped and a no-attributes event is queued.\nObject ID and attribute names/values are validated against environment-specific character limits.",
        "operationId": "post-v1-environments-environment_id-object_types-type_id-objects",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_objects_createObjectRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}/objects/delete": {
      "post": {
        "summary": "Delete many objects",
        "description": "Queues bulk object deletion via a background backfill. Three modes (by priority):\n1. By filter — when `filters` or `without_relationships` is set. If both `filters` and `cio_object_ids` are provided, the IDs are ignored.\n2. By internal IDs — when `cio_object_ids` is set.\n3. No-op — when the body is empty, returns 204 with no side effects.\nSetting only `without_relationships=true` without filters will delete all objects of this type that lack relationships.",
        "operationId": "post-v1-environments-environment_id-object_types-type_id-objects-delete",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_objects_deleteManyObjectsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}/objects/exports": {
      "post": {
        "summary": "Export objects",
        "description": "Queues an object export for background processing. When `export_relationships` is true, a second independent export is queued.\nThe two exports run in separate transactions — if the relationship export fails, the object export still proceeds.",
        "operationId": "post-v1-environments-environment_id-object_types-type_id-objects-exports",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_objects_exportObjectsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}/objects/{cio_object_id}": {
      "delete": {
        "summary": "Delete object",
        "description": "Deletes a single object by its CIO internal ID. Unlike get/upsert, external object IDs are not accepted.\nA blank internal ID silently returns 204 with no side effects.\nCreates an audit record before queuing the deletion via ingress.",
        "operationId": "delete-v1-environments-environment_id-object_types-type_id-objects-cio_object_id",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cio_object_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}/objects/{identifier}": {
      "get": {
        "summary": "Get object",
        "description": "The `identifier` is first parsed as a CIO internal object ID; if that fails, it is treated as an external object ID.\nAn external ID that happens to match internal ID format will be resolved as an internal ID.",
        "operationId": "get-v1-environments-environment_id-object_types-type_id-objects-identifier",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_getObjectResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Upsert object",
        "description": "Creates or updates an object asynchronously via ingress. Returns 202 before changes are applied.\nUnlike the create endpoint, this does not check for duplicates — it always queues an identify event.\nThe `identifier` is resolved the same way as GET: internal ID first, then external ID.\nThe attribute name `relationship` is reserved. Object ID and attribute names/values are validated against environment-specific character limits.",
        "operationId": "put-v1-environments-environment_id-object_types-type_id-objects-identifier",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "identifier",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_objects_upsertObjectRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/object_types/{type_id}/relationships/objects/related_to/{cio_id}": {
      "get": {
        "summary": "List objects related to a person (single type, paginated)",
        "description": "Returns a paginated list of objects of a specific type related to a person.\nRelationships pointing to deleted objects are silently filtered out.",
        "operationId": "get-v1-environments-environment_id-object_types-type_id-relationships-objects-related_to-cio_id",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cio_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_ListRelatedObjectsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/page_views": {
      "get": {
        "summary": "List page views",
        "description": "Returns recently seen unique page view names, optionally filtered by a search term.",
        "operationId": "get-v1-environments-environment_id-page_views",
        "tags": [
          "events"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-sensitive substring to match page view names against; omit it for the most recent names"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_SchemaListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/parcel_integration/messages/{parcel_node_id}": {
      "get": {
        "summary": "Get Parcel node content",
        "operationId": "get-v1-environments-environment_id-parcel_integration-messages-parcel_node_id",
        "tags": [
          "messages"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parcel_node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_content_api_parcel_integration_ParcelNodeContent"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/places/autocomplete": {
      "post": {
        "summary": "Google Places autocomplete proxy",
        "operationId": "post-v1-environments-environment_id-places-autocomplete",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_places_AutocompleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_places_AutocompleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/places/details": {
      "post": {
        "summary": "Google Place details proxy",
        "operationId": "post-v1-environments-environment_id-places-details",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_places_DetailsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_places_PlaceDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/places/geocode": {
      "post": {
        "summary": "Google geocoding proxy (forward + reverse)",
        "operationId": "post-v1-environments-environment_id-places-geocode",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_places_GeocodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_places_GeocodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/places/maps-js-key": {
      "get": {
        "summary": "Google Maps JS API key for browser SDK",
        "operationId": "get-v1-environments-environment_id-places-maps-js-key",
        "tags": [
          "places"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_places_mapsJSKeyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/preserve_unsubscribes_on_merge": {
      "get": {
        "summary": "Get preserve unsubscribes on merge setting",
        "operationId": "get-v1-environments-environment_id-preserve_unsubscribes_on_merge",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update preserve unsubscribes on merge setting",
        "operationId": "post-v1-environments-environment_id-preserve_unsubscribes_on_merge",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/attribute": {
      "post": {
        "summary": "Preview attribute",
        "operationId": "post-v1-environments-environment_id-previews-attribute",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_attributePreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_attributePreviewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/carta_content": {
      "post": {
        "summary": "Preview Carta content",
        "operationId": "post-v1-environments-environment_id-previews-carta_content",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_PreviewCartaContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_previewCartaContentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/check_liquid": {
      "post": {
        "summary": "Check Liquid syntax",
        "operationId": "post-v1-environments-environment_id-previews-check_liquid",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_CheckLiquidPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_deliveries_ChannelRenderErrors"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/create_event": {
      "post": {
        "summary": "Preview create event",
        "operationId": "post-v1-environments-environment_id-previews-create_event",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_createEventPreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_deliveries_RenderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/create_or_update_person": {
      "post": {
        "summary": "Preview create or update person",
        "operationId": "post-v1-environments-environment_id-previews-create_or_update_person",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_createUpdatePersonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_deliveries_RenderResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/email": {
      "post": {
        "summary": "Preview email",
        "operationId": "post-v1-environments-environment_id-previews-email",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_emailPreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_EmailPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/email_template": {
      "post": {
        "summary": "Strictly preview a saved email template with sample data; does not save or send a message",
        "operationId": "post-v1-environments-environment_id-previews-email_template",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_emailTemplatePreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_emailTemplatePreviewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/in_app": {
      "post": {
        "summary": "Preview in-app message",
        "operationId": "post-v1-environments-environment_id-previews-in_app",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_InAppPreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_InAppPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/in_app/{template_id}/live": {
      "post": {
        "summary": "Create in-app live preview session",
        "operationId": "post-v1-environments-environment_id-previews-in_app-template_id-live",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_livePreviewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/in_app/{template_id}/live/{session_id}": {
      "delete": {
        "summary": "Delete in-app live preview session",
        "operationId": "delete-v1-environments-environment_id-previews-in_app-template_id-live-session_id",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/inbox": {
      "post": {
        "summary": "Preview inbox message",
        "operationId": "post-v1-environments-environment_id-previews-inbox",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_InboxChannelPreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_InboxChannelPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/line": {
      "post": {
        "summary": "Preview LINE message",
        "operationId": "post-v1-environments-environment_id-previews-line",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_LinePreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_LinePreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/link_statuses": {
      "post": {
        "summary": "Check link statuses",
        "operationId": "post-v1-environments-environment_id-previews-link_statuses",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_checkLinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_checkLinksResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/llm": {
      "post": {
        "summary": "Preview LLM action",
        "operationId": "post-v1-environments-environment_id-previews-llm",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_LLMActionPreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_LLMActionPreviewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/message_channel": {
      "post": {
        "summary": "Preview message channel",
        "operationId": "post-v1-environments-environment_id-previews-message_channel",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_ChannelPreviewPayload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_ChannelPreviewPayload"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/object_date": {
      "post": {
        "summary": "Preview date-triggered object campaign match",
        "operationId": "post-v1-environments-environment_id-previews-object_date",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_objectDatePreviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_objectDatePreviewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/push": {
      "post": {
        "summary": "Preview push notification",
        "operationId": "post-v1-environments-environment_id-previews-push",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_PushPreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_PushPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/slack": {
      "post": {
        "summary": "Preview Slack message",
        "operationId": "post-v1-environments-environment_id-previews-slack",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_SlackPreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_SlackPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/twilio": {
      "post": {
        "summary": "Preview Twilio SMS",
        "operationId": "post-v1-environments-environment_id-previews-twilio",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_TwilioPreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_TwilioPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/twilio_content_template": {
      "post": {
        "summary": "Preview Twilio content template",
        "operationId": "post-v1-environments-environment_id-previews-twilio_content_template",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_TwilioContentTemplatePreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_TwilioContentTemplatePreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/urban_airship": {
      "post": {
        "summary": "Preview Urban Airship push",
        "operationId": "post-v1-environments-environment_id-previews-urban_airship",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_UrbanAirshipPreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_UrbanAirshipPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/previews/webhook": {
      "post": {
        "summary": "Preview webhook",
        "operationId": "post-v1-environments-environment_id-previews-webhook",
        "tags": [
          "previews"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_previews_WebhookPreview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_previews_WebhookPreview"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/profile/profile_matchtime": {
      "post": {
        "summary": "Get profile match time",
        "operationId": "post-v1-environments-environment_id-profile-profile_matchtime",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_ProfileMatchTimeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_profileMatchTimeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/profile_shortcuts": {
      "get": {
        "summary": "List shortcuts",
        "operationId": "get-v1-environments-environment_id-profile_shortcuts",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_shortcuts_shortcutListResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create shortcut",
        "operationId": "post-v1-environments-environment_id-profile_shortcuts",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_shortcuts_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_shortcuts_shortcutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/profile_shortcuts/{id}": {
      "delete": {
        "summary": "Delete shortcut",
        "operationId": "delete-v1-environments-environment_id-profile_shortcuts-id",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get shortcut",
        "operationId": "get-v1-environments-environment_id-profile_shortcuts-id",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_shortcuts_shortcutResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update shortcut",
        "operationId": "put-v1-environments-environment_id-profile_shortcuts-id",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_shortcuts_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_shortcuts_shortcutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/profile_shortcuts/{id}/send": {
      "post": {
        "summary": "Send shortcut",
        "operationId": "post-v1-environments-environment_id-profile_shortcuts-id-send",
        "tags": [
          "shortcuts"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_shortcuts_sendRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_shortcuts_sendResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/recent_triggers": {
      "get": {
        "summary": "List recent triggers",
        "operationId": "get-v1-environments-environment_id-recent_triggers",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_recentTriggersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/recents": {
      "get": {
        "summary": "List recently edited resources",
        "operationId": "get-v1-environments-environment_id-recents",
        "tags": [
          "recents"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Max resources to return (1–20, default 10)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_recents_RecentResource"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/recents/shipped": {
      "get": {
        "summary": "List recently shipped resources",
        "operationId": "get-v1-environments-environment_id-recents-shipped",
        "tags": [
          "recents"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Max resources to return (1–20, default 10)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_recents_ShippedResource"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/recommended_profiles": {
      "post": {
        "summary": "Get recommended preview profiles",
        "operationId": "post-v1-environments-environment_id-recommended_profiles",
        "tags": [
          "sample_data"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_recommended_profiles_Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_recommended_profiles_Reply"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/relationships": {
      "delete": {
        "summary": "Delete customer-object relationships",
        "description": "Queues relationship deletion via the ingress pipeline. Same request format as create.",
        "operationId": "delete-v1-environments-environment_id-relationships",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_relationshipsRequestBody"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "post": {
        "summary": "Create customer-object relationships",
        "description": "Queues relationship creation via the ingress pipeline. Accepts a batch of relationships; each must pair a customer (entity1) with an object (entity2) using internal IDs.",
        "operationId": "post-v1-environments-environment_id-relationships",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_customers_relationshipsRequestBody"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/relationships/customers/related_to/{cio_object_id}": {
      "get": {
        "summary": "List customers related to an object",
        "description": "Returns paginated customers that have a relationship with the specified object, along with the relationship details.",
        "operationId": "get-v1-environments-environment_id-relationships-customers-related_to-cio_object_id",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cio_object_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_listRelatedCustomersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/relationships/objects/related_to/{cio_id}": {
      "get": {
        "summary": "List objects related to a person (all types, paginated)",
        "description": "Returns a paginated list of objects related to a person across all object types.\nRelationships pointing to deleted objects are silently filtered out, so the actual item count may be less than `total`.",
        "operationId": "get-v1-environments-environment_id-relationships-objects-related_to-cio_id",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cio_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (1-based)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Results per page"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_ListRelatedObjectsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/relationships/objects/related_to_all_types/{cio_id}": {
      "get": {
        "summary": "List objects related to a person (top N per type, for preview)",
        "description": "Returns up to 10 related objects per object type for preview/liquid usage.\nDoes not support pagination. Relationships pointing to deleted objects are silently filtered out.",
        "operationId": "get-v1-environments-environment_id-relationships-objects-related_to_all_types-cio_id",
        "tags": [
          "objects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cio_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_objects_ListRelatedObjectsForEachTypeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/relsegments/{segment_id}/count": {
      "get": {
        "summary": "Get relationship segment count",
        "operationId": "get-v1-environments-environment_id-relsegments-segment_id-count",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SegmentCount"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/reusable_conditions": {
      "get": {
        "summary": "List reusable conditions",
        "operationId": "get-v1-environments-environment_id-reusable_conditions",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "attribute",
                "device_attribute",
                "event",
                "relationship",
                "related_object_attribute",
                "relationship_attribute",
                "optout"
              ]
            },
            "description": "Filter by condition type"
          },
          {
            "name": "event_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter event conditions by event name (e.g. purchase)"
          },
          {
            "name": "attribute_field",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter attribute / device-attribute conditions by field name"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (0-indexed)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size (default 50, max 200)"
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "Sort direction by condition id (default asc)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_reusableConditionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sample_data": {
      "get": {
        "summary": "Get sample data",
        "operationId": "get-v1-environments-environment_id-sample_data",
        "tags": [
          "sample_data"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sample_data_getSampleDataReply"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sample_data/{template_id}": {
      "put": {
        "summary": "Update sample data",
        "operationId": "put-v1-environments-environment_id-sample_data-template_id",
        "tags": [
          "sample_data"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sample_data_updateSampleDataRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/saved_rows": {
      "get": {
        "summary": "List saved rows",
        "operationId": "get-v1-environments-environment_id-saved_rows",
        "tags": [
          "saved_rows"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_saved_rows_savedRowsListResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create saved row",
        "operationId": "post-v1-environments-environment_id-saved_rows",
        "tags": [
          "saved_rows"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_saved_rows_createSavedRowRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_saved_rows_savedRowResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/saved_rows/{saved_row_id}": {
      "delete": {
        "summary": "Delete saved row",
        "operationId": "delete-v1-environments-environment_id-saved_rows-saved_row_id",
        "tags": [
          "saved_rows"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saved_row_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get saved row",
        "operationId": "get-v1-environments-environment_id-saved_rows-saved_row_id",
        "tags": [
          "saved_rows"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saved_row_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_saved_rows_savedRowResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update saved row",
        "operationId": "put-v1-environments-environment_id-saved_rows-saved_row_id",
        "tags": [
          "saved_rows"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "saved_row_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_saved_rows_updateSavedRowRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_saved_rows_savedRowResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/saved_rows_jwt": {
      "get": {
        "summary": "Get JWT for BEE editor",
        "operationId": "get-v1-environments-environment_id-saved_rows_jwt",
        "tags": [
          "saved_rows"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_saved_rows_jwtResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/scan_for_forms": {
      "get": {
        "summary": "Scan URL for forms",
        "operationId": "get-v1-environments-environment_id-scan_for_forms",
        "tags": [
          "custom_forms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Absolute http(s) URL of the page to scan for forms"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_scanFormsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/search": {
      "get": {
        "summary": "Universal Search",
        "description": "The `filters` parameter accepts a URL-safe base64-encoded JSON object mapping field names to arrays of allowed values, e.g. `{\"kind\":[\"segment\",\"campaign\"]}`. Supported filter fields: `kind` (segment, campaign, action, template, newsletter, navigation). Entity-specific fields (e.g. `segment_type`, `campaign_type`, `archived`) are allowed when the corresponding kind is selected.",
        "operationId": "get-v1-environments-environment_id-search",
        "tags": [
          "search"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Search query string"
          },
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter to one or more entity kinds. The route reads the parameter repeated, so a client that can send repeated keys may pass several here; a client that sets each key once (the cio CLI, which refuses a repeated key outright) can pass only one, and should encode several kinds into filters instead. Valid kinds: segment, campaign, action, template, newsletter, goal, transactional_message, anonymous_in_app, snippet, email_layout, collection."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Maximum results to return (default 10, max 49)"
          },
          {
            "name": "filters",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "URL-safe base64-encoded JSON map of filter field names to value arrays, e.g. {\"kind\":[\"segment\",\"campaign\"]}. Use this for entity-specific fields such as segment_type or archived, and for several kinds at once when the client cannot send a repeated key. Note kinds given here are not validated - an unrecognized kind returns 200 with no results rather than 400."
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort order"
          },
          {
            "name": "test",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If non-empty, return test search results"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_search_searchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments": {
      "get": {
        "summary": "List segments",
        "description": "Response shape depends on query parameters:\n- `short=1`: returns getSegmentsShortResponse (abbreviated segment list)\n- `size \u003e 0`: returns getSegmentsPaginatedResponse (full segments with pagination metadata)\n- default: returns getSegmentsDefaultResponse (full segments without pagination)",
        "operationId": "get-v1-environments-environment_id-segments",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "short",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Set to 1 for abbreviated segment descriptions"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (0-indexed, pagination mode)"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page size (enables pagination mode when \u003e 0)"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by name, description, or ID"
          },
          {
            "name": "searchTagIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "JSON array of tag IDs to filter by"
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Set to true to list archived segments"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "dynamic",
                "snapshot",
                "static",
                "temporary",
                "hidden"
              ]
            },
            "description": "Filter by segment type"
          },
          {
            "name": "usage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "in_use",
                "not_in_use",
                "in_sent_newsletters",
                "all"
              ]
            },
            "description": "Filter by usage: in_use, not_in_use, in_sent_newsletters, or all (no filter)"
          },
          {
            "name": "audience_status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "JSON array of audience statuses to filter by"
          },
          {
            "name": "audience_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "JSON array of audience types to filter by"
          },
          {
            "name": "objectTypeIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "JSON array of object type IDs to filter by"
          },
          {
            "name": "linked_form_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by linked custom form ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/services_ui_api_segments_getSegmentsShortResponse"
                    },
                    {
                      "$ref": "#/components/schemas/services_ui_api_segments_getSegmentsPaginatedResponse"
                    },
                    {
                      "$ref": "#/components/schemas/services_ui_api_segments_getSegmentsDefaultResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create segment",
        "operationId": "post-v1-environments-environment_id-segments",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_createSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/archive": {
      "post": {
        "summary": "Archive segments",
        "operationId": "post-v1-environments-environment_id-segments-archive",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_segmentIDsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/auto_archive_exempt": {
      "post": {
        "summary": "Set segment auto-archive exemption",
        "operationId": "post-v1-environments-environment_id-segments-auto_archive_exempt",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_autoArchiveExemptRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/delete": {
      "post": {
        "summary": "Bulk delete segments",
        "operationId": "post-v1-environments-environment_id-segments-delete",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_segmentIDsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/unarchive": {
      "post": {
        "summary": "Unarchive segments",
        "operationId": "post-v1-environments-environment_id-segments-unarchive",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_segmentIDsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}": {
      "delete": {
        "summary": "Delete segment",
        "operationId": "delete-v1-environments-environment_id-segments-segment_id",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get segment",
        "operationId": "get-v1-environments-environment_id-segments-segment_id",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_getSegmentResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update segment",
        "operationId": "put-v1-environments-environment_id-segments-segment_id",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_requestBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_updateSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/cancel": {
      "post": {
        "summary": "Cancel segment backfill",
        "operationId": "post-v1-environments-environment_id-segments-segment_id-cancel",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/count": {
      "get": {
        "summary": "Get segment count",
        "operationId": "get-v1-environments-environment_id-segments-segment_id-count",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SegmentCount"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/members": {
      "put": {
        "summary": "Update static segment membership",
        "operationId": "put-v1-environments-environment_id-segments-segment_id-members",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_segments_staticMembershipRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/metrics": {
      "get": {
        "summary": "Get segment metrics",
        "operationId": "get-v1-environments-environment_id-segments-segment_id-metrics",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_segmentMetricsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/refresh": {
      "post": {
        "summary": "Refresh snapshot segment",
        "operationId": "post-v1-environments-environment_id-segments-segment_id-refresh",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/status": {
      "get": {
        "summary": "Get segment status",
        "operationId": "get-v1-environments-environment_id-segments-segment_id-status",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_segmentStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/tags": {
      "post": {
        "summary": "Add tags to segment",
        "operationId": "post-v1-environments-environment_id-segments-segment_id-tags",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "description": "Provide exactly one of tag_ids or tags; sending both is a 400. Both shapes append to the segment's existing tags. An empty or omitted list is tolerated as a no-op for backwards compatibility.",
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "tag_ids": {
                        "type": "array",
                        "description": "IDs of existing tags to attach. Unknown IDs are rejected with a 400; no tags are created.",
                        "items": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "minItems": 1
                      }
                    },
                    "required": [
                      "tag_ids"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "tags": {
                        "type": "array",
                        "description": "Tags to attach, matched by name; a name with no match creates a new tag.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "color": {
                              "type": "string",
                              "description": "Color for a newly created tag; ignored for existing tags."
                            },
                            "id": {
                              "type": "integer",
                              "format": "int32",
                              "description": "Ignored; this shape matches by name. Use tag_ids to attach by ID."
                            },
                            "name": {
                              "type": "string",
                              "description": "Tag name to attach; a name with no existing match creates a new tag."
                            }
                          },
                          "required": [
                            "name"
                          ]
                        },
                        "minItems": 1
                      }
                    },
                    "required": [
                      "tags"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_getSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/tags_delete/{tag_id}": {
      "post": {
        "summary": "Remove tag from segment",
        "operationId": "post-v1-environments-environment_id-segments-segment_id-tags_delete-tag_id",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_segments_getSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments/{segment_id}/usage": {
      "get": {
        "summary": "Get segment usage",
        "operationId": "get-v1-environments-environment_id-segments-segment_id-usage",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SegmentUsage"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments_suggestions": {
      "get": {
        "summary": "Get segment suggestions",
        "operationId": "get-v1-environments-environment_id-segments_suggestions",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ai_segments_SegmentSuggestionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/segments_usage": {
      "get": {
        "summary": "List segments usage",
        "operationId": "get-v1-environments-environment_id-segments_usage",
        "tags": [
          "segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated segment IDs"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/services_ui_api_model_SegmentUsage"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sendgrid/delete_suppression": {
      "post": {
        "summary": "Delete suppressions (legacy)",
        "operationId": "post-v1-environments-environment_id-sendgrid-delete_suppression",
        "tags": [
          "suppressions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_suppressions_deleteRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sendgrid/suppression/{type}": {
      "get": {
        "summary": "List suppressions (legacy)",
        "operationId": "get-v1-environments-environment_id-sendgrid-suppression-type",
        "tags": [
          "suppressions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "blocks",
                "bounces",
                "spam_reports",
                "invalid_emails"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Max results (default 50, max 50)"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Offset for pagination"
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by email (min 3 characters)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_suppressions_indexResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/settings/workspace": {
      "get": {
        "summary": "Get workspace settings",
        "operationId": "get-v1-environments-environment_id-settings-workspace",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_GetSettingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update workspace settings",
        "operationId": "put-v1-environments-environment_id-settings-workspace",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_UpdateSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_UpdateSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/setup_guide/current": {
      "get": {
        "summary": "Get setup guide",
        "operationId": "get-v1-environments-environment_id-setup_guide-current",
        "tags": [
          "setup_guide"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_setup_guide_setupGuideResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update setup guide",
        "operationId": "put-v1-environments-environment_id-setup_guide-current",
        "tags": [
          "setup_guide"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_setup_guide_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_setup_guide_setupGuideResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/setup_guide/integration_status": {
      "get": {
        "summary": "Get integration status",
        "operationId": "get-v1-environments-environment_id-setup_guide-integration_status",
        "tags": [
          "setup_guide"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_setup_guide_environmentDataResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/signing_secret": {
      "get": {
        "summary": "Get the environment's signing secret",
        "operationId": "get-v1-environments-environment_id-signing_secret",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_GetSigningSecretResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Rotate the environment's signing secret",
        "operationId": "put-v1-environments-environment_id-signing_secret",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_RotateSigningSecretResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/site_ids": {
      "get": {
        "summary": "Get site IDs for an environment",
        "operationId": "get-v1-environments-environment_id-site_ids",
        "tags": [
          "environments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_GetSiteIDsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/business_profile": {
      "get": {
        "summary": "Get SMS business profile",
        "operationId": "get-v1-environments-environment_id-sms-business_profile",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfileResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create SMS business profile",
        "operationId": "post-v1-environments-environment_id-sms-business_profile",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfileResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update SMS business profile",
        "operationId": "put-v1-environments-environment_id-sms-business_profile",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfileResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/business_profile/submit": {
      "post": {
        "summary": "Submit SMS business profile to Twilio",
        "operationId": "post-v1-environments-environment_id-sms-business_profile-submit",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfileResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/settings": {
      "get": {
        "summary": "Get SMS settings",
        "operationId": "get-v1-environments-environment_id-sms-settings",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_GetSMSSettingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update SMS settings",
        "operationId": "put-v1-environments-environment_id-sms-settings",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_UpdateSMSSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_UpdateSMSSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/setup": {
      "post": {
        "summary": "Provision SMS",
        "operationId": "post-v1-environments-environment_id-sms-setup",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_SetupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/twilio/phone_numbers": {
      "get": {
        "summary": "List SMS phone numbers",
        "operationId": "get-v1-environments-environment_id-sms-twilio-phone_numbers",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_GetSMSPhoneNumbersResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create SMS phone number",
        "operationId": "post-v1-environments-environment_id-sms-twilio-phone_numbers",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_CreateSMSPhoneNumberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_CreateSMSPhoneNumberResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/twilio/phone_numbers/search_available": {
      "get": {
        "summary": "Search available SMS phone numbers",
        "operationId": "get-v1-environments-environment_id-sms-twilio-phone_numbers-search_available",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Digits or letters to match within the phone number. Empty returns unfiltered results."
          },
          {
            "name": "position",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "start",
                "end",
                "contains"
              ]
            },
            "description": "Where the query must appear in the number: start, end, or contains (default)."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "US",
                "CA"
              ]
            },
            "description": "Country to search toll-free numbers in. Must be US or CA."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_SearchSMSPhoneNumbersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms/twilio/phone_numbers/{phone_number_id}": {
      "delete": {
        "summary": "Delete SMS phone number",
        "operationId": "delete-v1-environments-environment_id-sms-twilio-phone_numbers-phone_number_id",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone_number_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update SMS phone number",
        "operationId": "put-v1-environments-environment_id-sms-twilio-phone_numbers-phone_number_id",
        "tags": [
          "sms"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone_number_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_UpdateSMSPhoneNumberRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_UpdateSMSPhoneNumberResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms_providers": {
      "delete": {
        "summary": "Delete SMS vendor connection",
        "operationId": "delete-v1-environments-environment_id-sms_providers",
        "tags": [
          "sms_providers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "credential_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "actions_credentials row id to delete"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "List SMS vendor connections",
        "operationId": "get-v1-environments-environment_id-sms_providers",
        "tags": [
          "sms_providers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_providers_connectionsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create SMS vendor connection",
        "operationId": "post-v1-environments-environment_id-sms_providers",
        "tags": [
          "sms_providers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_providers_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_providers_connectionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sms_providers/sync": {
      "post": {
        "summary": "Sync sender identities from an SMS vendor",
        "operationId": "post-v1-environments-environment_id-sms_providers-sync",
        "tags": [
          "sms_providers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sms_providers_syncRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sms_providers_syncResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/snippets": {
      "get": {
        "summary": "List snippets",
        "operationId": "get-v1-environments-environment_id-snippets",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100
            },
            "description": "Results per page (default 10, max 100)"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter snippets by name or value"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "updated_at",
                "name",
                "value"
              ]
            },
            "description": "Sort field: updated_at, name, or value (default updated_at)"
          },
          {
            "name": "asc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "description": "Set to 'true' for ascending sort (default descending)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snippets_snippetsListResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create snippet",
        "operationId": "post-v1-environments-environment_id-snippets",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_snippets_snippetUpsertRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snippets_snippetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/snippets/{id}": {
      "delete": {
        "summary": "Delete snippet",
        "operationId": "delete-v1-environments-environment_id-snippets-id",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get snippet",
        "operationId": "get-v1-environments-environment_id-snippets-id",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snippets_snippetDetailResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update snippet",
        "operationId": "put-v1-environments-environment_id-snippets-id",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_snippets_snippetUpsertRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snippets_snippetResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/snippets/{id}/usage/{continuation}": {
      "get": {
        "summary": "Get snippet usage",
        "operationId": "get-v1-environments-environment_id-snippets-id-usage-continuation",
        "tags": [
          "snippets"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "continuation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snippets_snippetUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/snowflake_query": {
      "post": {
        "summary": "Run a Snowflake query",
        "operationId": "post-v1-environments-environment_id-snowflake_query",
        "tags": [
          "snowflake"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_snowflake_query_queryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_snowflake_query_queryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/spreadsheets/{spreadsheet_id}/sheets": {
      "get": {
        "summary": "Get spreadsheet sheets",
        "operationId": "get-v1-environments-environment_id-spreadsheets-spreadsheet_id-sheets",
        "tags": [
          "imports"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "spreadsheet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_imports_sheetsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sql_segments": {
      "get": {
        "summary": "List SQL-backed segments",
        "operationId": "get-v1-environments-environment_id-sql_segments",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_listResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create a SQL-backed segment",
        "description": "Creates a static segment from SQL returned by the asynchronous generation API. Requires the `sql_segments` feature flag; returns 403 when it is not enabled for the account.",
        "operationId": "post-v1-environments-environment_id-sql_segments",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sql_segments_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_sqlSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sql_segments/{segment_id}": {
      "get": {
        "summary": "Get a SQL-backed segment",
        "operationId": "get-v1-environments-environment_id-sql_segments-segment_id",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_sqlSegmentResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update a SQL-backed segment's query",
        "description": "Replaces the prompt and query. Membership is unchanged until the next refresh. Requires the `sql_segments` feature flag; returns 403 when it is not enabled for the account.",
        "operationId": "put-v1-environments-environment_id-sql_segments-segment_id",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sql_segments_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_sqlSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sql_segments/{segment_id}/refresh": {
      "post": {
        "summary": "Refresh a SQL-backed segment",
        "description": "Starts a refresh and returns immediately with status `resolving`; poll the get endpoint for the outcome. Pressing refresh while one is already running joins it rather than starting a second. Requires the `sql_segments` feature flag; returns 403 when it is not enabled for the account.",
        "operationId": "post-v1-environments-environment_id-sql_segments-segment_id-refresh",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "segment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_sqlSegmentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sql_segments_generate": {
      "post": {
        "summary": "Start generating a segment query from a description",
        "description": "Starts asynchronous compilation of a natural-language audience description. Poll sql_segments_generate/status with the returned workflow_id and run_id. Requires the `sql_segments` feature flag; returns 403 when it is not enabled for the account. Compiling a prompt also requires the account to have opted into Customer.io AI.",
        "operationId": "post-v1-environments-environment_id-sql_segments_generate",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_sql_segments_generateRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_generateStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/sql_segments_generate/status": {
      "post": {
        "summary": "Poll segment query generation",
        "description": "Returns pending while generation or the optional preview is running, then returns either the generated query or a not_expressible status with a reason. Requires the `sql_segments` feature flag; returns 403 when it is not enabled for the account. Compiling a prompt also requires the account to have opted into Customer.io AI.",
        "operationId": "post-v1-environments-environment_id-sql_segments_generate-status",
        "tags": [
          "sql_segments"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when generation was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when generation was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_sql_segments_generateStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subjects": {
      "get": {
        "summary": "List subjects",
        "operationId": "get-v1-environments-environment_id-subjects",
        "tags": [
          "subjects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subjects_subjectsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subjects/{id}": {
      "get": {
        "summary": "Get subject details",
        "operationId": "get-v1-environments-environment_id-subjects-id",
        "tags": [
          "subjects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_subjectResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subjects/{subject_id}/force_exit": {
      "post": {
        "summary": "Force exit subject from journey",
        "operationId": "post-v1-environments-environment_id-subjects-subject_id-force_exit",
        "tags": [
          "subjects"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subject_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_center_settings": {
      "get": {
        "summary": "Get subscription center settings",
        "operationId": "get-v1-environments-environment_id-subscription_center_settings",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_subscription_center_settings_SubscriptionSettings"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update subscription center settings",
        "operationId": "put-v1-environments-environment_id-subscription_center_settings",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_domains_subscription_center_settings_SubscriptionSettings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_domains_subscription_center_settings_SubscriptionSettings"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_channel_order": {
      "put": {
        "summary": "Save subscription channel order",
        "operationId": "put-v1-environments-environment_id-subscription_channel_order",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_ChannelOrderReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_channels": {
      "get": {
        "summary": "List subscription channels",
        "operationId": "get-v1-environments-environment_id-subscription_channels",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionChannelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_channels/{channel_type}": {
      "delete": {
        "summary": "Delete subscription channel",
        "operationId": "delete-v1-environments-environment_id-subscription_channels-channel_type",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "twilio",
                "urban_airship",
                "slack",
                "push",
                "in_app",
                "line",
                "inbox",
                "whatsapp",
                "sms"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Upsert subscription channel",
        "operationId": "put-v1-environments-environment_id-subscription_channels-channel_type",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "twilio",
                "urban_airship",
                "slack",
                "push",
                "in_app",
                "line",
                "inbox",
                "whatsapp",
                "sms"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_UpsertChannelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionChannelResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_languages": {
      "delete": {
        "summary": "Delete subscription languages",
        "operationId": "delete-v1-environments-environment_id-subscription_languages",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_DeleteLanguagesRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "List subscription languages",
        "operationId": "get-v1-environments-environment_id-subscription_languages",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguages"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create subscription languages",
        "operationId": "post-v1-environments-environment_id-subscription_languages",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_CreateLanguagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguages"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Enable or disable subscription languages",
        "operationId": "put-v1-environments-environment_id-subscription_languages",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_EnableDisableLanguagesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguages"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_languages/{language_id}": {
      "delete": {
        "summary": "Delete subscription language",
        "operationId": "delete-v1-environments-environment_id-subscription_languages-language_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get subscription language",
        "operationId": "get-v1-environments-environment_id-subscription_languages-language_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_GetLanguageResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update subscription language",
        "operationId": "put-v1-environments-environment_id-subscription_languages-language_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_UpdateLanguageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguages"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_pages": {
      "get": {
        "summary": "List subscription pages",
        "operationId": "get-v1-environments-environment_id-subscription_pages",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterPages"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create subscription page",
        "operationId": "post-v1-environments-environment_id-subscription_pages",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionPageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterPages"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_pages/{subscription_page_id}": {
      "put": {
        "summary": "Update subscription page",
        "operationId": "put-v1-environments-environment_id-subscription_pages-subscription_page_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_page_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionPageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterPages"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_topic_messages/list": {
      "get": {
        "summary": "List subscription topic messages",
        "description": "Returns a filtered, paginated list of campaigns, newsletters, and actions with their subscription topic assignments.",
        "operationId": "get-v1-environments-environment_id-subscription_topic_messages-list",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "0-based page number; the response is always one page. Defaults to 0 when omitted."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive substring match on the message name or description."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "campaign",
                "newsletter",
                "api_triggered_broadcast"
              ]
            },
            "description": "Filter by message type; matched case-insensitively."
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "pending",
                "completed"
              ]
            },
            "description": "Filter by whether the message still needs a subscription preference."
          },
          {
            "name": "globalPreference",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "all_subscribed",
                "all_subscribed_and_unsubscribed"
              ]
            },
            "description": "Filter by global subscription preference."
          },
          {
            "name": "topicId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Filter to messages assigned to this subscription topic."
          },
          {
            "name": "tagIds[]",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter to messages carrying every one of these tag IDs."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_MessageListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_topic_messages/update": {
      "put": {
        "summary": "Update subscription topic message assignments",
        "description": "Assigns a subscription topic or send-to-unsubscribed preference to campaigns, newsletters, and campaign actions in bulk.",
        "operationId": "put-v1-environments-environment_id-subscription_topic_messages-update",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_MessageUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_topic_order": {
      "put": {
        "summary": "Save subscription topic order",
        "operationId": "put-v1-environments-environment_id-subscription_topic_order",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_TopicOrderReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_topics": {
      "get": {
        "summary": "List subscription topics",
        "operationId": "get-v1-environments-environment_id-subscription_topics",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionTopicsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create subscription topic",
        "operationId": "post-v1-environments-environment_id-subscription_topics",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_CreateTopicRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionTopicResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/subscription_topics/{topic_id}": {
      "delete": {
        "summary": "Delete subscription topic",
        "operationId": "delete-v1-environments-environment_id-subscription_topics-topic_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topic_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get subscription topic",
        "operationId": "get-v1-environments-environment_id-subscription_topics-topic_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topic_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionTopicResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update subscription topic",
        "operationId": "put-v1-environments-environment_id-subscription_topics-topic_id",
        "tags": [
          "subscription_center"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topic_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_subscription_center_UpdateTopicRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionTopicResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/suppression/{type}": {
      "get": {
        "summary": "List suppressions",
        "operationId": "get-v1-environments-environment_id-suppression-type",
        "tags": [
          "suppressions"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "blocks",
                "bounces",
                "spam_reports",
                "invalid_emails"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Max results (default 50, max 50)"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Offset for pagination"
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by email (min 3 characters)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_suppressions_indexResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/tags": {
      "get": {
        "summary": "List tags",
        "operationId": "get-v1-environments-environment_id-tags",
        "tags": [
          "tags"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tags_tagsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create tag",
        "operationId": "post-v1-environments-environment_id-tags",
        "tags": [
          "tags"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_tags_tagCreateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tags_tagResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/tags/{tag_id}": {
      "delete": {
        "summary": "Delete tag",
        "operationId": "delete-v1-environments-environment_id-tags-tag_id",
        "tags": [
          "tags"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get tag",
        "operationId": "get-v1-environments-environment_id-tags-tag_id",
        "tags": [
          "tags"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tags_tagResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update tag",
        "operationId": "put-v1-environments-environment_id-tags-tag_id",
        "tags": [
          "tags"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_tags_tagCreateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tags_tagResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates": {
      "get": {
        "summary": "List templates",
        "operationId": "get-v1-environments-environment_id-templates",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "in_app"
              ]
            },
            "description": "Filter by channel type"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Page number (default 1)"
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of templates per page (default 25, max 100)"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter templates by name"
          },
          {
            "name": "editor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filter by editor type"
          },
          {
            "name": "filter_by_language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "When 'true', filter templates by language"
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Language code to filter by (used with filter_by_language)"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_listTemplatesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create template",
        "operationId": "post-v1-environments-environment_id-templates",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_templates_createTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateWithLayoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/analyze/start": {
      "post": {
        "summary": "Start template analysis",
        "operationId": "post-v1-environments-environment_id-templates-analyze-start",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_templates_analyzeTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateWorkflowStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/analyze/status": {
      "post": {
        "summary": "Poll template analysis status",
        "operationId": "post-v1-environments-environment_id-templates-analyze-status",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when the job was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the job was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_analyzeTemplateStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/by_id": {
      "post": {
        "summary": "Batch get templates by ID",
        "operationId": "post-v1-environments-environment_id-templates-by_id",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_templates_batchGetTemplatesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_batchGetTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/generate/start": {
      "post": {
        "summary": "Start template generation",
        "operationId": "post-v1-environments-environment_id-templates-generate-start",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_templates_generateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateWorkflowStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/generate/status": {
      "post": {
        "summary": "Poll template generation status",
        "operationId": "post-v1-environments-environment_id-templates-generate-status",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when the job was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the job was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_generateTemplateStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/guess-the-message/start": {
      "post": {
        "summary": "Start guess the message",
        "operationId": "post-v1-environments-environment_id-templates-guess-the-message-start",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_templates_guessTheMessageRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateWorkflowStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/guess-the-message/status": {
      "post": {
        "summary": "Poll guess the message status",
        "operationId": "post-v1-environments-environment_id-templates-guess-the-message-status",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned when the job was started. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned when the job was started. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_guessTheMessageStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/{template_id}": {
      "delete": {
        "summary": "Delete template",
        "operationId": "delete-v1-environments-environment_id-templates-template_id",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get template",
        "operationId": "get-v1-environments-environment_id-templates-template_id",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateWithLayoutsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update template",
        "operationId": "put-v1-environments-environment_id-templates-template_id",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_templates_updateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateWithLayoutsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/{template_id}/tracked_link_metric": {
      "get": {
        "summary": "Get template tracked link metrics",
        "operationId": "get-v1-environments-environment_id-templates-template_id-tracked_link_metric",
        "tags": [
          "tracked_link_metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_trackedLinkMetricEnvelope"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates/{template_id}/variables": {
      "get": {
        "summary": "Get template variables",
        "operationId": "get-v1-environments-environment_id-templates-template_id-variables",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_templates_templateVariablesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/templates_parent_entity_name": {
      "get": {
        "summary": "Get parent entity names",
        "operationId": "get-v1-environments-environment_id-templates_parent_entity_name",
        "tags": [
          "templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/services_ui_api_templates_parentEntity"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/test_users": {
      "get": {
        "summary": "List test users",
        "description": "Returns up to 10 profiles flagged with cio_test_user=true. Default returns both pending and double-opt-in-verified test users (matches /test_users/count). Pass ?verified=true to narrow to the double-opt-in subset (used by the Builder-plan newsletter recipients UI).",
        "operationId": "get-v1-environments-environment_id-test_users",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "verified",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "When true, return only test users confirmed via double opt-in. When false (default), return all test users, including those pending confirmation."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_ListTestUsersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/test_users/count": {
      "get": {
        "summary": "Get verified test-user count",
        "description": "Returns the number of verified test users (cio_test_user=true) in the workspace and the per-workspace cap. Used by the Builders onboarding flow to render remaining test-user spots.",
        "operationId": "get-v1-environments-environment_id-test_users-count",
        "tags": [
          "customers"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_customers_TestUserCountResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/tracked_link_metric": {
      "get": {
        "summary": "Get environment tracked link metrics",
        "operationId": "get-v1-environments-environment_id-tracked_link_metric",
        "tags": [
          "tracked_link_metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_trackedLinkMetricEnvelope"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/tracked_links_append_internal": {
      "get": {
        "summary": "Get tracked links append internal setting",
        "operationId": "get-v1-environments-environment_id-tracked_links_append_internal",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_environments_EnabledResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update tracked links append internal setting",
        "operationId": "post-v1-environments-environment_id-tracked_links_append_internal",
        "tags": [
          "workspace_settings"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_environments_EnabledRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages": {
      "get": {
        "summary": "List transactional messages",
        "operationId": "get-v1-environments-environment_id-transactional_messages",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessagesResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create transactional message",
        "operationId": "post-v1-environments-environment_id-transactional_messages",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_transactional_createTransactionalRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}": {
      "delete": {
        "summary": "Delete transactional message",
        "operationId": "delete-v1-environments-environment_id-transactional_messages-transactional_message_id",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get transactional message",
        "operationId": "get-v1-environments-environment_id-transactional_messages-transactional_message_id",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update transactional message",
        "description": "update_type selects which fields are processed; one of: name_and_description, content_source, settings, activate, channel, sample_data, frequency_cap.\n\nFields specific to a value, in addition to the shared fields:\n- name_and_description: name, description\n- content_source: content_source\n- settings: trigger_name, send_to_unsubscribed, link_tracking, hide_message_body, queue_drafts\n- channel: type\n- sample_data: sample_data",
        "operationId": "put-v1-environments-environment_id-transactional_messages-transactional_message_id",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_transactional_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/cancel": {
      "post": {
        "summary": "Cancel queued transactional messages",
        "operationId": "post-v1-environments-environment_id-transactional_messages-transactional_message_id-cancel",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/copy": {
      "post": {
        "summary": "Copy transactional message",
        "operationId": "post-v1-environments-environment_id-transactional_messages-transactional_message_id-copy",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_transactional_messageCopyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/metrics": {
      "get": {
        "summary": "Get transactional message metrics",
        "operationId": "get-v1-environments-environment_id-transactional_messages-transactional_message_id-metrics",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_metricResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/tags": {
      "post": {
        "summary": "Add tags to transactional message",
        "operationId": "post-v1-environments-environment_id-transactional_messages-transactional_message_id-tags",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_transactional_tagsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_tagCreateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/tags/{tag_id}": {
      "delete": {
        "summary": "Remove tag from transactional message",
        "operationId": "delete-v1-environments-environment_id-transactional_messages-transactional_message_id-tags-tag_id",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_tagDeleteResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/tracked_link_metric": {
      "get": {
        "summary": "Get transactional message tracked link metrics",
        "operationId": "get-v1-environments-environment_id-transactional_messages-transactional_message_id-tracked_link_metric",
        "tags": [
          "tracked_link_metrics"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_trackedLinkMetricEnvelope"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages/{transactional_message_id}/translations": {
      "post": {
        "summary": "Create transactional message translations",
        "operationId": "post-v1-environments-environment_id-transactional_messages-transactional_message_id-translations",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactional_message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_transactional_createTranslationsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages_cancel/{id}": {
      "post": {
        "summary": "Cancel scheduled transactional delivery",
        "operationId": "post-v1-environments-environment_id-transactional_messages_cancel-id",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages_sample/": {
      "post": {
        "summary": "Create sample transactional message",
        "operationId": "post-v1-environments-environment_id-transactional_messages_sample",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/transactional_messages_sample/{type}": {
      "post": {
        "summary": "Create sample transactional message by type",
        "operationId": "post-v1-environments-environment_id-transactional_messages_sample-type",
        "tags": [
          "transactional"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_transactional_transactionalMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/twilio/sync": {
      "post": {
        "summary": "Sync Twilio identities",
        "operationId": "post-v1-environments-environment_id-twilio-sync",
        "tags": [
          "identities"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/twilio_content_templates": {
      "get": {
        "summary": "Search Twilio content templates",
        "operationId": "get-v1-environments-environment_id-twilio_content_templates",
        "tags": [
          "twilio_content_templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_twilio_content_templates_searchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/twilio_content_templates/{content_template_id}": {
      "get": {
        "summary": "Get Twilio content template",
        "operationId": "get-v1-environments-environment_id-twilio_content_templates-content_template_id",
        "tags": [
          "twilio_content_templates"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content_template_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_deliveries_clients_ContentTemplate"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/update_campaign_from_template/{campaign_id}": {
      "put": {
        "summary": "Update campaign from template",
        "operationId": "put-v1-environments-environment_id-update_campaign_from_template-campaign_id",
        "tags": [
          "campaigns"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaign_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_campaigns_updateFromTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_campaigns_createFromTemplateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/url_params": {
      "get": {
        "summary": "Get URL params",
        "operationId": "get-v1-environments-environment_id-url_params",
        "tags": [
          "url_params"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_url_params_urlParamsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Update URL params",
        "operationId": "post-v1-environments-environment_id-url_params",
        "tags": [
          "url_params"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_url_params_updateURLParamsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/validate_warehouse_config": {
      "post": {
        "summary": "Validate warehouse config",
        "operationId": "post-v1-environments-environment_id-validate_warehouse_config",
        "tags": [
          "warehouse"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/email": {
      "post": {
        "summary": "Send test email",
        "operationId": "post-v1-environments-environment_id-verify-email",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_emailTestDocRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/email_template": {
      "post": {
        "summary": "Send test email from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-email_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_emailTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_emailTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/in_app": {
      "post": {
        "summary": "Test in-app message",
        "operationId": "post-v1-environments-environment_id-verify-in_app",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_inAppRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_gistQueueReply"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/in_app_template": {
      "post": {
        "summary": "Send test in-app message from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-in_app_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_inAppTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_gistTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/inbox": {
      "post": {
        "summary": "Test inbox message",
        "operationId": "post-v1-environments-environment_id-verify-inbox",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_inboxRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_gistQueueReply"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/inbox_template": {
      "post": {
        "summary": "Send test inbox message from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-inbox_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_inboxTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_gistTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/line": {
      "post": {
        "summary": "Test Line message",
        "operationId": "post-v1-environments-environment_id-verify-line",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_lineRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_statusErrorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/line_template": {
      "post": {
        "summary": "Send test LINE message from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-line_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_lineTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_lineTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/llm/start": {
      "post": {
        "summary": "Start async LLM action test",
        "operationId": "post-v1-environments-environment_id-verify-llm-start",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_LLMActionVerify"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_verifyLLMStartResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/llm/status": {
      "post": {
        "summary": "Poll async LLM action test",
        "operationId": "post-v1-environments-environment_id-verify-llm-status",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflow_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal workflow id returned by the start endpoint. Required."
          },
          {
            "name": "run_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Temporal run id returned by the start endpoint. Required."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_verifyLLMStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/message_channel": {
      "post": {
        "summary": "Test message channel",
        "operationId": "post-v1-environments-environment_id-verify-message_channel",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_messageChannelRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/message_channel_template": {
      "post": {
        "summary": "Send test WhatsApp or SMS message from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-message_channel_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_messageChannelTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_messageChannelTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/push": {
      "post": {
        "summary": "Test push notification",
        "operationId": "post-v1-environments-environment_id-verify-push",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_pushRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_statusErrorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/push_template": {
      "post": {
        "summary": "Send test push notification from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-push_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_pushTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_pushTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/reporting_webhook": {
      "post": {
        "summary": "Test reporting webhook",
        "operationId": "post-v1-environments-environment_id-verify-reporting_webhook",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_reportingWebhookRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/slack": {
      "post": {
        "summary": "Test Slack message",
        "operationId": "post-v1-environments-environment_id-verify-slack",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_slackRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_statusErrorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/slack_template": {
      "post": {
        "summary": "Send test Slack message from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-slack_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_slackTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_slackTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/time_zone_match": {
      "post": {
        "summary": "Test timezone match",
        "operationId": "post-v1-environments-environment_id-verify-time_zone_match",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_timeZoneMatchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_timeZoneMatchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/twilio": {
      "post": {
        "summary": "Test Twilio SMS",
        "operationId": "post-v1-environments-environment_id-verify-twilio",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_twilioRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_twilioResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/twilio_template": {
      "post": {
        "summary": "Send test SMS from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-twilio_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_twilioTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_twilioTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/urban_airship": {
      "post": {
        "summary": "Test Urban Airship push",
        "operationId": "post-v1-environments-environment_id-verify-urban_airship",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_urbanAirshipRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_statusErrorsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/webhook": {
      "post": {
        "summary": "Test webhook",
        "operationId": "post-v1-environments-environment_id-verify-webhook",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_webhookRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_webhookResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/verify/webhook_template": {
      "post": {
        "summary": "Send test webhook from an existing template",
        "operationId": "post-v1-environments-environment_id-verify-webhook_template",
        "tags": [
          "verify"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_webhookTemplateTestRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_webhookTemplateTestResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/warehouse_sync": {
      "get": {
        "summary": "Get warehouse sync",
        "operationId": "get-v1-environments-environment_id-warehouse_sync",
        "tags": [
          "warehouse"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_warehouse_warehouseSyncResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create warehouse sync",
        "operationId": "post-v1-environments-environment_id-warehouse_sync",
        "tags": [
          "warehouse"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_warehouse_warehouseSyncResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/warehouse_sync/{id}": {
      "delete": {
        "summary": "Delete warehouse sync",
        "operationId": "delete-v1-environments-environment_id-warehouse_sync-id",
        "tags": [
          "warehouse"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "put": {
        "summary": "Update warehouse sync",
        "description": "update_type selects which fields are processed; one of: settings, s3_config, gcs_config, yandex_config, azure_config, schema_version.\n\nFields specific to a value, in addition to the shared fields:\n- settings: deliveries, metrics, people, objects, object_attributes, campaigns, events, broadcasts, inbound\n- s3_config: s3_config\n- gcs_config: gcs_config\n- yandex_config: yandex_config\n- azure_config: azure_config\n- schema_version: version",
        "operationId": "put-v1-environments-environment_id-warehouse_sync-id",
        "tags": [
          "warehouse"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_warehouse_warehouseSyncResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhook_configurations": {
      "get": {
        "summary": "List webhook configurations",
        "operationId": "get-v1-environments-environment_id-webhook_configurations",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_webhook_configurations_configurationsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create webhook configuration",
        "operationId": "post-v1-environments-environment_id-webhook_configurations",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_webhook_configurations_createConfigurationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_webhook_configurations_configurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhook_configurations/{id}": {
      "delete": {
        "summary": "Delete webhook configuration",
        "operationId": "delete-v1-environments-environment_id-webhook_configurations-id",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get webhook configuration",
        "operationId": "get-v1-environments-environment_id-webhook_configurations-id",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_webhook_configurations_configurationResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update webhook configuration",
        "operationId": "put-v1-environments-environment_id-webhook_configurations-id",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_webhook_configurations_updateConfigurationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_webhook_configurations_configurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhook_configurations_minimal": {
      "get": {
        "summary": "List minimal webhook configurations",
        "operationId": "get-v1-environments-environment_id-webhook_configurations_minimal",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_webhook_configurations_minimalConfigurationsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhook_configurations_minimal/{id}": {
      "get": {
        "summary": "Get minimal webhook configuration",
        "operationId": "get-v1-environments-environment_id-webhook_configurations_minimal-id",
        "tags": [
          "webhook_configurations"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_webhook_configurations_minimalConfigurationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhooks": {
      "get": {
        "summary": "List reporting webhooks",
        "operationId": "get-v1-environments-environment_id-webhooks",
        "tags": [
          "reporting_webhooks"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhooksResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create reporting webhook",
        "operationId": "post-v1-environments-environment_id-webhooks",
        "tags": [
          "reporting_webhooks"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookCreateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhooks/{id}": {
      "delete": {
        "summary": "Delete reporting webhook",
        "operationId": "delete-v1-environments-environment_id-webhooks-id",
        "tags": [
          "reporting_webhooks"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get reporting webhook",
        "operationId": "get-v1-environments-environment_id-webhooks-id",
        "tags": [
          "reporting_webhooks"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update reporting webhook",
        "operationId": "put-v1-environments-environment_id-webhooks-id",
        "tags": [
          "reporting_webhooks"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookCreateUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/webhooks/{id}/signing_key": {
      "put": {
        "summary": "Rotate webhook signing key",
        "operationId": "put-v1-environments-environment_id-webhooks-id-signing_key",
        "tags": [
          "reporting_webhooks"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/check": {
      "get": {
        "summary": "Check WhatsApp credentials",
        "operationId": "get-v1-environments-environment_id-whatsapp-check",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_checkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/phone_number_details": {
      "get": {
        "summary": "Get WhatsApp phone number details",
        "operationId": "get-v1-environments-environment_id-whatsapp-phone_number_details",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_phoneDetailsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/request_code": {
      "post": {
        "summary": "Request a WhatsApp phone-number verification code",
        "operationId": "post-v1-environments-environment_id-whatsapp-request_code",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_whatsapp_requestCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_requestCodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/settings": {
      "get": {
        "summary": "Get WhatsApp settings",
        "operationId": "get-v1-environments-environment_id-whatsapp-settings",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_settingsResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update WhatsApp settings",
        "operationId": "put-v1-environments-environment_id-whatsapp-settings",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_whatsapp_updateSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_settingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/setup": {
      "post": {
        "summary": "Setup WhatsApp",
        "operationId": "post-v1-environments-environment_id-whatsapp-setup",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_whatsapp_setupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_setupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/sync": {
      "get": {
        "summary": "Sync WhatsApp identities",
        "operationId": "get-v1-environments-environment_id-whatsapp-sync",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/templates": {
      "get": {
        "summary": "Search WhatsApp message templates",
        "operationId": "get-v1-environments-environment_id-whatsapp-templates",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_messageTemplatesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/environments/{environment_id}/whatsapp/verify_code": {
      "post": {
        "summary": "Submit a WhatsApp phone-number verification code",
        "operationId": "post-v1-environments-environment_id-whatsapp-verify_code",
        "tags": [
          "whatsapp"
        ],
        "parameters": [
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_whatsapp_verifyCodeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_whatsapp_verifyCodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/games/{game}/leaderboard": {
      "get": {
        "summary": "Get a game's per-account leaderboard",
        "operationId": "get-v1-games-game-leaderboard",
        "tags": [
          "game_scores"
        ],
        "parameters": [
          {
            "name": "game",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_game_scores_leaderboardResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/games/{game}/scores": {
      "post": {
        "summary": "Submit a game score",
        "operationId": "post-v1-games-game-scores",
        "tags": [
          "game_scores"
        ],
        "parameters": [
          {
            "name": "game",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_game_scores_submitRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_game_scores_submitResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/guest_invitations/{token}": {
      "get": {
        "summary": "Preview a guest invitation",
        "operationId": "get-v1-guest_invitations-token",
        "tags": [
          "guest_invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_guest_invitations_previewResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/guest_invitations/{token}/accept": {
      "post": {
        "summary": "Accept a guest invitation",
        "operationId": "post-v1-guest_invitations-token-accept",
        "tags": [
          "guest_invitations"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_guest_invitations_acceptResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/inbox_link": {
      "post": {
        "summary": "Lookup inbox provider by email",
        "operationId": "post-v1-inbox_link",
        "tags": [
          "mx_lookup"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_mx_lookup_InboxLinkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mx_lookup_InboxLinkResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations": {
      "get": {
        "operationId": "get-v1-integrations",
        "tags": [
          "integrations"
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/join_request_tokens/{token}/accounts": {
      "get": {
        "summary": "List orgs a verified signup can request to join",
        "description": "Returns the verified email's domain and the selection outcome. Only paid orgs are offered (a free org is never a join target), and among those the org with the most members (last login breaks a tie) is auto-selected. match=\"single\" resolves to exactly one org, returned as `account_id` (the UI offers to join it). match=\"multiple\" means the selection hit an unbreakable tie: the UI shows a \"couldn't auto-connect\" message and `account_id` is omitted, so no org id is exposed for a request that can't be made. No match omits both `match` and `account_id`. Account names and member counts are never exposed. The token is minted by signup code verification; missing, expired, and consumed tokens are an opaque 404.",
        "operationId": "get-v1-join_request_tokens-token-accounts",
        "tags": [
          "join_requests"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_join_requests_accountsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/join_request_tokens/{token}/join_requests": {
      "post": {
        "summary": "Request to join an org",
        "description": "Records a join request for one of the eligible domain-matched accounts, consumes the token, and notifies the account's admins. The chosen account must be one the picker could offer — a paid account on the verified email's domain — so anything else (including a free org) is rejected with a 422. The response is uniform (\"sent\") whether or not a live request already existed, so a decline can't be probed.",
        "operationId": "post-v1-join_request_tokens-token-join_requests",
        "tags": [
          "join_requests"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_join_requests_createRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_join_requests_createResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/link_domain/test": {
      "post": {
        "summary": "Test link domain",
        "operationId": "post-v1-link_domain-test",
        "tags": [
          "verify"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_linkDomainRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_verify_linkDomainResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/mcp_sessions": {
      "get": {
        "summary": "List MCP sessions",
        "operationId": "get-v1-mcp_sessions",
        "tags": [
          "mcp"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mcp_listSessionsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/mcp_sessions/{session_id}": {
      "delete": {
        "summary": "Delete MCP session",
        "operationId": "delete-v1-mcp_sessions-session_id",
        "tags": [
          "mcp"
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      },
      "get": {
        "summary": "Get MCP session",
        "operationId": "get-v1-mcp_sessions-session_id",
        "tags": [
          "mcp"
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mcp_getSessionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/mcp_tools": {
      "get": {
        "summary": "List MCP tools",
        "operationId": "get-v1-mcp_tools",
        "tags": [
          "mcp"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_mcp_listToolsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/memberships": {
      "get": {
        "summary": "List accounts the current user belongs to",
        "operationId": "get-v1-memberships",
        "tags": [
          "memberships"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_domains_accounts_AccountMembership"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/onboarding/answers": {
      "get": {
        "summary": "Get the account's onboarding answers",
        "operationId": "get-v1-onboarding-answers",
        "tags": [
          "onboarding"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_onboarding_answersResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Update the account's onboarding answers",
        "description": "Answers are shared by every member of the account, and any member may update them. Partial update: only answers present in the request are changed. An absent or null field leaves the stored answer unchanged. listen_targets accepts an empty array to clear it; the other answers are set-only, so a new value replaces the old one.",
        "operationId": "put-v1-onboarding-answers",
        "tags": [
          "onboarding"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_onboarding_updateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_onboarding_answersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/public_feature_flags": {
      "post": {
        "summary": "Resolve public feature flags",
        "operationId": "post-v1-public_feature_flags",
        "tags": [
          "feature-flags"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_accounts_publicFeatureFlagsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_publicFeatureFlagsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sample_accounts": {
      "get": {
        "summary": "Get sample account information for the runtime environment",
        "operationId": "get-v1-sample_accounts",
        "tags": [
          "accounts"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_accounts_sampleAccountsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/service_accounts/oauth/token": {
      "post": {
        "summary": "OAuth token exchange",
        "operationId": "post-v1-service_accounts-oauth-token",
        "tags": [
          "service_accounts"
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/sessions/metadata": {
      "get": {
        "summary": "Get metadata for all active session cookies",
        "operationId": "get-v1-sessions-metadata",
        "tags": [
          "sessions"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_ui_api_auth_SessionMetadataEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/smtp/test": {
      "post": {
        "summary": "Test SMTP connection",
        "operationId": "post-v1-smtp-test",
        "tags": [
          "verify"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_verify_smtpTestRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful response"
          }
        }
      }
    },
    "/v1/status/health": {
      "get": {
        "summary": "Health check",
        "operationId": "get-v1-status-health",
        "tags": [
          "status"
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services_ui_api_status_healthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/track_anon": {
      "post": {
        "summary": "Track anonymous event",
        "operationId": "post-v1-track_anon",
        "tags": [
          "tracking"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/services_ui_api_tracking_trackEventAnonRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Time": {
        "type": "string",
        "format": "date-time"
      },
      "github_com_bitly_go-simplejson_Json": {
        "type": "object"
      },
      "services_ai_ExtractedButton": {
        "type": "object",
        "properties": {
          "background": {
            "type": "string",
            "nullable": true
          },
          "border_color": {
            "type": "string",
            "nullable": true
          },
          "border_radius": {
            "type": "string",
            "nullable": true
          },
          "border_style": {
            "type": "string",
            "nullable": true
          },
          "border_width": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "font_family": {
            "type": "string",
            "nullable": true
          },
          "font_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "font_weight": {
            "type": "string",
            "nullable": true
          },
          "hover_background": {
            "type": "string",
            "nullable": true
          },
          "hover_color": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "padding": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ai_ExtractedColor": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ai_ExtractedDivider": {
        "type": "object",
        "properties": {
          "background_color": {
            "type": "string",
            "nullable": true
          },
          "height": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ai_ExtractedFont": {
        "type": "object",
        "properties": {
          "font_family": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "font_family",
          "name"
        ]
      },
      "services_ai_ExtractedGlobalStyles": {
        "type": "object",
        "properties": {
          "buttons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedButton"
            }
          },
          "colors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedColor"
            }
          },
          "dividers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedDivider"
            },
            "nullable": true
          },
          "fonts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedFont"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedLink"
            },
            "nullable": true
          },
          "radii": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedRadius"
            },
            "nullable": true
          },
          "spacing": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedSpacing"
            },
            "nullable": true
          },
          "text_styles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_ExtractedTextStyle"
            }
          }
        },
        "required": [
          "buttons",
          "colors",
          "fonts",
          "text_styles"
        ]
      },
      "services_ai_ExtractedLink": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "font_weight": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "text_decoration": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ai_ExtractedRadius": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ai_ExtractedSpacing": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ai_ExtractedTextStyle": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "font_family": {
            "type": "string",
            "nullable": true
          },
          "font_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "font_weight": {
            "type": "string",
            "nullable": true
          },
          "letter_spacing": {
            "type": "string",
            "nullable": true
          },
          "line_height": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ai_content_EmailAnalysisResult": {
        "type": "object",
        "properties": {
          "areas_for_improvement": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brand": {
            "type": "object",
            "properties": {
              "deviations": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "score": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "deviations",
              "score"
            ]
          },
          "clarity": {
            "type": "object",
            "properties": {
              "examples": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "score": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "examples",
              "score"
            ]
          },
          "grammar_and_spelling": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "industry_specific_adjustments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "liquid_issues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "overall_score": {
            "type": "integer",
            "format": "int32"
          },
          "positive_elements": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string"
          },
          "tones": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "color": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "color",
                "label"
              ]
            }
          },
          "trustworthiness": {
            "type": "object",
            "properties": {
              "reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "score": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "reasons",
              "score"
            ]
          }
        },
        "required": [
          "areas_for_improvement",
          "brand",
          "clarity",
          "grammar_and_spelling",
          "industry_specific_adjustments",
          "liquid_issues",
          "overall_score",
          "positive_elements",
          "summary",
          "tones",
          "trustworthiness"
        ]
      },
      "services_ai_content_GenerateTemplateResult": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          }
        },
        "required": [
          "content"
        ]
      },
      "services_ai_content_GuessTheMessageResult": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          }
        },
        "required": [
          "description"
        ]
      },
      "services_ai_content_SurveyAnalysisResult": {
        "type": "object",
        "properties": {
          "actionable_insights": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "insight": {
                  "type": "string"
                },
                "priority": {
                  "type": "string"
                }
              },
              "required": [
                "insight",
                "priority"
              ]
            }
          },
          "confidence_score": {
            "type": "integer",
            "format": "int32"
          },
          "data_quality_assessment": {
            "type": "string"
          },
          "key_findings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "finding": {
                  "type": "string"
                },
                "importance": {
                  "type": "string"
                },
                "sentiment": {
                  "type": "string"
                }
              },
              "required": [
                "finding",
                "importance",
                "sentiment"
              ]
            }
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "actionable_insights",
          "confidence_score",
          "data_quality_assessment",
          "key_findings",
          "summary"
        ]
      },
      "services_ai_enrichment_ImportedBrandAsset": {
        "type": "object",
        "properties": {
          "alt": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "source_url": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "role",
          "url"
        ]
      },
      "services_ai_enrichment_SkippedBrandAsset": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "type": "string"
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "reason"
        ]
      },
      "services_ai_htmlconvert_ConvertHTMLResult": {
        "type": "object",
        "properties": {
          "carta_source": {
            "type": "string"
          },
          "fidelity": {
            "$ref": "#/components/schemas/services_ai_htmlconvert_Fidelity",
            "nullable": true
          },
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_htmlconvert_Issue"
            }
          },
          "rendered_html": {
            "type": "string",
            "nullable": true
          },
          "repair_passes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "carta_source",
          "issues"
        ]
      },
      "services_ai_htmlconvert_Fidelity": {
        "type": "object",
        "properties": {
          "desktop_diff_percent": {
            "type": "number",
            "format": "double"
          },
          "score": {
            "type": "number",
            "format": "double"
          },
          "width_px": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "desktop_diff_percent",
          "score",
          "width_px"
        ]
      },
      "services_ai_htmlconvert_Issue": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "message",
          "type"
        ]
      },
      "services_ai_llm_action_LoopTraceTurn": {
        "type": "object",
        "properties": {
          "cache_read_tokens": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cache_write_tokens": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "forced": {
            "type": "boolean"
          },
          "index": {
            "type": "integer",
            "format": "int32"
          },
          "input_tokens": {
            "type": "integer",
            "format": "int32"
          },
          "latency_ns": {
            "type": "integer",
            "format": "int64"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int32"
          },
          "reformat": {
            "type": "boolean"
          },
          "schema_attached": {
            "type": "boolean"
          }
        },
        "required": [
          "forced",
          "index",
          "input_tokens",
          "latency_ns",
          "output_tokens",
          "reformat",
          "schema_attached"
        ]
      },
      "services_ai_llm_action_ModelOption": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "multiplier": {
            "type": "number",
            "format": "double"
          },
          "provider": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "label",
          "multiplier",
          "provider",
          "value"
        ]
      },
      "services_ai_segments_SegmentSuggestion": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "name"
        ]
      },
      "services_ai_segments_SegmentSuggestionsResponse": {
        "type": "object",
        "properties": {
          "suggestions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_segments_SegmentSuggestion"
            }
          }
        },
        "required": [
          "suggestions"
        ]
      },
      "services_billing_CumulativeTier": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "count",
          "price"
        ]
      },
      "services_billing_MAUUsage": {
        "type": "object",
        "properties": {
          "active_count": {
            "type": "integer",
            "format": "int32"
          },
          "mau_count": {
            "type": "integer",
            "format": "int32"
          },
          "sent_count": {
            "type": "integer",
            "format": "int32"
          },
          "total_users": {
            "type": "integer",
            "format": "int32"
          },
          "v2_count": {
            "type": "integer",
            "format": "int32"
          },
          "workspace_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "active_count",
          "mau_count",
          "sent_count",
          "total_users",
          "v2_count",
          "workspace_id"
        ]
      },
      "services_channels_whatsapp_ComponentParameter": {
        "type": "object",
        "properties": {
          "parameter_name": {
            "type": "string",
            "nullable": true
          },
          "sub_type": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "services_channels_whatsapp_ComponentParameters": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_ComponentParameter"
            }
          },
          "sub_type": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "parameters",
          "type"
        ]
      },
      "services_channels_whatsapp_CreateMessageTemplateResponse": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "error": {
            "$ref": "#/components/schemas/services_channels_whatsapp_errorMessage"
          },
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "error",
          "id",
          "status"
        ]
      },
      "services_channels_whatsapp_MessageTemplate": {
        "type": "object",
        "properties": {
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_MessageTemplateComponent"
            }
          },
          "id": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parameter_format": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "components",
          "id",
          "language",
          "name",
          "parameter_format",
          "status"
        ]
      },
      "services_channels_whatsapp_MessageTemplateButton": {
        "type": "object",
        "properties": {
          "example": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "example",
          "text",
          "type",
          "url"
        ]
      },
      "services_channels_whatsapp_MessageTemplateComponent": {
        "type": "object",
        "properties": {
          "buttons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_MessageTemplateButton"
            }
          },
          "example": {
            "$ref": "#/components/schemas/services_channels_whatsapp_MessageTemplateExample"
          },
          "format": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "buttons",
          "example",
          "format",
          "text",
          "type"
        ]
      },
      "services_channels_whatsapp_MessageTemplateExample": {
        "type": "object",
        "properties": {
          "body_text": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "body_text_named_params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_Param"
            }
          },
          "header_handle": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "header_text": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "header_text_named_params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_Param"
            }
          }
        },
        "required": [
          "body_text",
          "body_text_named_params",
          "header_handle",
          "header_text",
          "header_text_named_params"
        ]
      },
      "services_channels_whatsapp_Param": {
        "type": "object",
        "properties": {
          "example": {
            "type": "string"
          },
          "param_name": {
            "type": "string"
          }
        },
        "required": [
          "example",
          "param_name"
        ]
      },
      "services_channels_whatsapp_ParsedTemplateTag": {
        "type": "object",
        "properties": {
          "component": {
            "type": "string"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "message_template_text": {
            "type": "string"
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "component",
          "message_template_text",
          "tags"
        ]
      },
      "services_channels_whatsapp_TemplateBody": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "template_parameters": {
            "$ref": "#/components/schemas/services_channels_whatsapp_templateParameters"
          },
          "whatsapp_message_template": {
            "$ref": "#/components/schemas/services_channels_whatsapp_MessageTemplate"
          }
        },
        "required": [
          "body",
          "image_url",
          "template_parameters",
          "whatsapp_message_template"
        ]
      },
      "services_channels_whatsapp_UpdateMessageTemplateResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/services_channels_whatsapp_errorMessage"
          },
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "error",
          "success"
        ]
      },
      "services_channels_whatsapp_WhatsAppNumber": {
        "type": "object",
        "properties": {
          "code_verification_status": {
            "type": "string"
          },
          "display_name_status": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          },
          "platform_type": {
            "type": "string"
          },
          "quality_rating": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "throughput_level": {
            "type": "string"
          },
          "webhook_url": {
            "type": "string"
          }
        },
        "required": [
          "code_verification_status",
          "display_name_status",
          "id",
          "name",
          "phone_number",
          "platform_type",
          "quality_rating",
          "status",
          "throughput_level",
          "webhook_url"
        ]
      },
      "services_channels_whatsapp_errorMessage": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "error_subcode": {
            "type": "integer",
            "format": "int32"
          },
          "error_user_msg": {
            "type": "string"
          },
          "error_user_title": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "error_subcode",
          "error_user_msg",
          "error_user_title",
          "message",
          "type"
        ]
      },
      "services_channels_whatsapp_store_WhatsAppMessageTemplateStatus": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "last_submitted_at": {
            "$ref": "#/components/schemas/Time"
          },
          "node_id": {
            "type": "string"
          },
          "rejection_info": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "status_reason": {
            "type": "string"
          },
          "whats_app_template_id": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "last_submitted_at",
          "node_id",
          "rejection_info",
          "status",
          "status_reason",
          "whats_app_template_id"
        ]
      },
      "services_channels_whatsapp_templateParameters": {
        "type": "object",
        "properties": {
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_ComponentParameters"
            }
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "components",
          "name"
        ]
      },
      "services_channels_whatsapp_whatsAppErrorField": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/services_channels_whatsapp_errorMessage"
          }
        },
        "required": [
          "error"
        ]
      },
      "services_clients_mailgun_previews_StatusDetails": {
        "type": "object",
        "properties": {
          "bounceCode": {
            "type": "string"
          },
          "bounceMessage": {
            "type": "string"
          },
          "completed": {
            "type": "integer",
            "format": "int64"
          },
          "submitted": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "bounceCode",
          "bounceMessage",
          "completed",
          "submitted"
        ]
      },
      "services_clients_ordway_BillingTotals": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string"
          },
          "due_today": {
            "type": "integer",
            "format": "int32"
          },
          "due_today_pre_savings": {
            "type": "integer",
            "format": "int32"
          },
          "due_today_savings": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "currency",
          "due_today",
          "due_today_pre_savings",
          "due_today_savings"
        ]
      },
      "services_clients_ordway_Contact": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "county": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "job_title": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "address1",
          "address2",
          "city",
          "country",
          "county",
          "customer_id",
          "department",
          "display_name",
          "email",
          "first_name",
          "id",
          "job_title",
          "last_name",
          "mobile",
          "phone",
          "state",
          "zip"
        ]
      },
      "services_clients_ordway_ContactAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "address1",
          "address2",
          "city",
          "country",
          "state",
          "zip"
        ]
      },
      "services_clients_ordway_PaymentMethod": {
        "type": "object",
        "properties": {
          "account_holder_name": {
            "type": "string"
          },
          "account_number": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "customer_payment_gateway_id": {
            "type": "string"
          },
          "default": {
            "type": "boolean"
          },
          "expiry": {
            "type": "string"
          },
          "payment_method_id": {
            "type": "string"
          },
          "payment_type": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "account_holder_name",
          "account_number",
          "country",
          "customer_id",
          "customer_payment_gateway_id",
          "default",
          "expiry",
          "payment_method_id",
          "payment_type",
          "type"
        ]
      },
      "services_content_api_parcel_integration_DefinitionRaw": {
        "type": "object",
        "properties": {
          "definition": {},
          "error": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "definition",
          "id",
          "name"
        ]
      },
      "services_content_api_parcel_integration_ParcelNodeContent": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "amp",
          "html",
          "source",
          "text"
        ]
      },
      "services_core_EventFilter": {
        "type": "object",
        "properties": {
          "etype": {
            "type": "integer",
            "format": "int32"
          },
          "inverse": {
            "type": "boolean"
          },
          "times": {
            "type": "integer",
            "format": "int32"
          },
          "within": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "etype",
          "inverse",
          "times",
          "within"
        ]
      },
      "services_core_MapFilter": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_core_MapFilter"
            },
            "nullable": true
          },
          "attribute": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "formType": {
                "type": "string"
              },
              "inverse": {
                "type": "boolean"
              },
              "operator": {
                "type": "string",
                "description": "Comparison operator. Marshalled as one of \"eq\", \"exists\", \"contains\", \"gt\", \"lt\", \"bw\", \"timestamp\", \"timestamp_gt\", \"timestamp_lt\", \"timestamp_gta\", \"timestamp_lta\", \"timestamp_bw\", \"email_valid\", \"contained_in_array\", \"one_of\", or \"unknown\". Parsing additionally accepts \"==\", \"=\", \"=~\", \"\u003e\" and \"\u003c\"."
              },
              "value": {
                "type": "string"
              },
              "value2": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "operator"
            ],
            "nullable": true
          },
          "attribute_compare": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "field_source": {
                "type": "string"
              },
              "inverse": {
                "type": "boolean"
              },
              "operator": {
                "type": "string",
                "description": "Comparison operator. Marshalled as one of \"eq\", \"exists\", \"contains\", \"gt\", \"lt\", \"bw\", \"timestamp\", \"timestamp_gt\", \"timestamp_lt\", \"timestamp_gta\", \"timestamp_lta\", \"timestamp_bw\", \"email_valid\", \"contained_in_array\", \"one_of\", or \"unknown\". Parsing additionally accepts \"==\", \"=\", \"=~\", \"\u003e\" and \"\u003c\"."
              },
              "value": {
                "type": "string"
              },
              "value2": {
                "type": "string"
              },
              "value_source": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "field_source",
              "operator"
            ],
            "nullable": true
          },
          "not": {
            "$ref": "#/components/schemas/services_core_MapFilter",
            "nullable": true
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_core_MapFilter"
            },
            "nullable": true
          }
        }
      },
      "services_core_ids_Internal": {
        "type": "object",
        "properties": {
          "Chunk": {
            "type": "integer",
            "format": "int32"
          },
          "Env": {
            "type": "integer",
            "format": "int32"
          },
          "ID": {
            "type": "integer",
            "format": "int32"
          },
          "Offset": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "Chunk",
          "Env",
          "ID",
          "Offset"
        ]
      },
      "services_core_ids_ObjectInternal": {
        "type": "object",
        "properties": {
          "Chunk": {
            "type": "integer",
            "format": "int32"
          },
          "Env": {
            "type": "integer",
            "format": "int32"
          },
          "ID": {
            "type": "integer",
            "format": "int32"
          },
          "ObjectTypeID": {
            "type": "integer",
            "format": "int32"
          },
          "Offset": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "Chunk",
          "Env",
          "ID",
          "ObjectTypeID",
          "Offset"
        ]
      },
      "services_core_objects_ObjectIdentifiers": {
        "type": "object",
        "properties": {
          "cio_object_id": {
            "type": "string"
          },
          "object_id": {
            "type": "string"
          }
        },
        "required": [
          "cio_object_id",
          "object_id"
        ]
      },
      "services_db_NullUnixTimestamp": {
        "type": "object",
        "properties": {
          "Timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "Valid": {
            "type": "boolean"
          }
        },
        "required": [
          "Timestamp",
          "Valid"
        ]
      },
      "services_deliveries_ChannelRenderErrors": {
        "type": "object",
        "properties": {
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_ChannelVariable"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "event",
          "fields",
          "message",
          "snippets",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_ChannelVariable": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_deliveries_EmailPreview": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "body_amp": {
            "type": "string"
          },
          "body_plain": {
            "type": "string"
          },
          "cc": {
            "type": "string"
          },
          "editor": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_EmailRenderErrors"
          },
          "from_address": {
            "type": "string"
          },
          "from_name": {
            "type": "string"
          },
          "from_override": {
            "type": "string",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "layout": {
            "type": "string"
          },
          "preheader_text": {
            "type": "string"
          },
          "reply_to": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "template_engine": {
            "type": "integer",
            "format": "int32"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "bcc",
          "body",
          "body_amp",
          "body_plain",
          "cc",
          "editor",
          "errors",
          "from_address",
          "from_name",
          "headers",
          "layout",
          "preheader_text",
          "reply_to",
          "subject",
          "template_engine",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_EmailRenderErrors": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "body_amp": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "body_plain": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cc": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "from": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_HeaderError"
            }
          },
          "layout": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "preheader_text": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reply_to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "subject": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "bcc",
          "body",
          "body_amp",
          "body_plain",
          "cc",
          "event",
          "from",
          "headers",
          "layout",
          "message",
          "preheader_text",
          "reply_to",
          "snippets",
          "subject",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_HeaderError": {
        "type": "object",
        "properties": {
          "name": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_deliveries_InAppPreview": {
        "type": "object",
        "properties": {
          "body_html": {
            "type": "string"
          },
          "body_json": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_InAppRenderErrors"
          },
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity",
            "nullable": true
          },
          "lax_mode": {
            "type": "boolean"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body_html",
          "body_json",
          "errors",
          "lax_mode",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_InAppRenderErrors": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "body_html": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "body_json": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "display_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excluded_route_rules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiration_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "form_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "identity": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message_id": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "route_rules": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "targeting": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tooltip_target": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes",
          "body_html",
          "body_json",
          "display_value",
          "event",
          "excluded_route_rules",
          "expiration_value",
          "form_fields",
          "identity",
          "message",
          "message_id",
          "route_rules",
          "snippets",
          "targeting",
          "tooltip_target",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_InboxMessagePreview": {
        "type": "object",
        "properties": {
          "body_json": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_InboxMessageRenderErrors"
          },
          "expiration": {
            "type": "string"
          },
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity",
            "nullable": true
          },
          "lax_mode": {
            "type": "boolean"
          },
          "properties": {
            "type": "object",
            "additionalProperties": {}
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body_json",
          "errors",
          "expiration",
          "lax_mode",
          "properties",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_InboxMessageRenderErrors": {
        "type": "object",
        "properties": {
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiration_value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "identity": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "event",
          "expiration_value",
          "identity",
          "message",
          "properties",
          "snippets",
          "trigger"
        ]
      },
      "services_deliveries_LinePreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_LineRenderErrors"
          },
          "image_url": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "errors",
          "image_url",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_LineRenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "image_url": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "event",
          "image_url",
          "message",
          "snippets",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_PushPreview": {
        "type": "object",
        "properties": {
          "android_priority": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "custom_data": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_PushRenderErrors"
          },
          "image_url": {
            "type": "string"
          },
          "ios_priority": {
            "type": "string"
          },
          "link": {
            "type": "string"
          },
          "sound": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "android_priority",
          "body",
          "custom_data",
          "errors",
          "image_url",
          "ios_priority",
          "link",
          "sound",
          "title",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_PushRenderErrors": {
        "type": "object",
        "properties": {
          "android_priority": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "custom_data": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "image_url": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ios_priority": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "link": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sound": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "android_priority",
          "body",
          "custom_data",
          "event",
          "image_url",
          "ios_priority",
          "link",
          "message",
          "snippets",
          "sound",
          "title",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_RenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recipient": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "event",
          "message",
          "name",
          "recipient",
          "snippets",
          "trigger"
        ]
      },
      "services_deliveries_RenderResponse": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_RenderErrors"
          },
          "name": {
            "type": "string"
          },
          "recipient": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "errors",
          "name",
          "recipient"
        ]
      },
      "services_deliveries_SlackPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_SlackRenderErrors"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "errors",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_SlackRenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "event",
          "message",
          "snippets",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_TwilioContentTemplatePreview": {
        "type": "object",
        "properties": {
          "content_sid": {
            "type": "string"
          },
          "content_template_variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariable"
            }
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateRenderErrors"
          },
          "from": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "content_sid",
          "content_template_variables",
          "errors",
          "from",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_TwilioContentTemplateRenderErrors": {
        "type": "object",
        "properties": {
          "content_template_variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariableError"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "from": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "content_template_variables",
          "event",
          "from",
          "message",
          "snippets",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_TwilioContentTemplateVariable": {
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "identifier",
          "value"
        ]
      },
      "services_deliveries_TwilioContentTemplateVariableError": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "identifier"
        ]
      },
      "services_deliveries_TwilioPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "content_sid": {
            "type": "string"
          },
          "content_variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariable"
            }
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_TwilioRenderErrors"
          },
          "from": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "content_sid",
          "content_variables",
          "errors",
          "from",
          "image_url",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_TwilioRenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "content_template_variables": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "from": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "image_url": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "content_template_variables",
          "event",
          "from",
          "image_url",
          "message",
          "snippets",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_UrbanAirshipPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_UrbanAirshipRenderErrors"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "errors",
          "to",
          "url_params"
        ]
      },
      "services_deliveries_UrbanAirshipRenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "event",
          "message",
          "snippets",
          "to",
          "trigger",
          "url_params"
        ]
      },
      "services_deliveries_VarRenderErrors": {
        "type": "object",
        "properties": {
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "event",
          "message",
          "snippets",
          "trigger"
        ]
      },
      "services_deliveries_WebhookPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_WebhookRenderErrors"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "hostname": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "errors",
          "headers",
          "hostname",
          "url",
          "url_params"
        ]
      },
      "services_deliveries_WebhookRenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_HeaderError"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url_params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "event",
          "headers",
          "message",
          "snippets",
          "trigger",
          "url",
          "url_params"
        ]
      },
      "services_deliveries_clients_ContentAction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "title"
        ]
      },
      "services_deliveries_clients_ContentTemplate": {
        "type": "object",
        "properties": {
          "default_type": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_clients_TemplateDetails"
            }
          },
          "id": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "variable_identifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_clients_ContentTemplateVariableIdentifiers"
            }
          }
        },
        "required": [
          "default_type",
          "details",
          "id",
          "language",
          "name",
          "status",
          "variable_identifiers"
        ]
      },
      "services_deliveries_clients_ContentTemplateVariableIdentifiers": {
        "type": "object",
        "properties": {
          "example": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          }
        },
        "required": [
          "example",
          "identifier"
        ]
      },
      "services_deliveries_clients_TemplateDetails": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_clients_ContentAction"
            },
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "footer": {
            "type": "string",
            "nullable": true
          },
          "header_text": {
            "type": "string",
            "nullable": true
          },
          "media": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "parse_error": {
            "type": "boolean",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "type_name": {
            "type": "string"
          }
        },
        "required": [
          "type_name"
        ]
      },
      "services_designstudio_dsapi_DesignStudioComponent": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "content",
          "created",
          "id",
          "name",
          "tag",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioComponentStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "name",
          "tag",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmail": {
        "type": "object",
        "properties": {
          "available_languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "content": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailContent"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "envelope": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailEnvelope"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "transformers": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailTransformers"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "available_languages",
          "content",
          "created",
          "envelope",
          "id",
          "is_linked",
          "is_template",
          "name",
          "transformers",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmailContent": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "preheader_text": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "amp",
          "html",
          "preheader_text",
          "subject",
          "text"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmailEnvelope": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string"
          },
          "cc": {
            "type": "string"
          },
          "fake_bcc": {
            "type": "boolean"
          },
          "from": {
            "type": "string"
          },
          "from_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailHeader"
            }
          },
          "recipient": {
            "type": "string"
          },
          "reply_to": {
            "type": "string"
          },
          "reply_to_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "bcc",
          "cc",
          "fake_bcc",
          "from",
          "headers",
          "recipient",
          "reply_to"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmailHeader": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmailStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "has_translations": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "has_translations",
          "id",
          "is_linked",
          "is_template",
          "name",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmailTransformers": {
        "type": "object",
        "properties": {
          "accessibility": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersAccessibility"
          },
          "css_inliner": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersCSSInliner"
          },
          "css_variables": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersCSSVariables"
          },
          "encode_entities": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersEncodeEntities"
          },
          "formatter": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersFormatter"
          },
          "prevent_widows": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersPreventWidows"
          },
          "remove_unused_css": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersRemoveUnusedCSS"
          },
          "url_parameters": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersURLParameters"
          }
        },
        "required": [
          "accessibility",
          "css_inliner",
          "css_variables",
          "encode_entities",
          "formatter",
          "prevent_widows",
          "remove_unused_css",
          "url_parameters"
        ]
      },
      "services_designstudio_dsapi_DesignStudioEmailTranslation": {
        "type": "object",
        "properties": {
          "available_languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "content": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailContent"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "envelope": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailEnvelope"
          },
          "is_linked": {
            "type": "boolean"
          },
          "is_template": {
            "type": "boolean"
          },
          "language": {
            "type": "string"
          },
          "language_group_id": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "transformers": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailTransformers"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "available_languages",
          "content",
          "created",
          "envelope",
          "is_linked",
          "is_template",
          "language",
          "language_group_id",
          "transformers",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioFolder": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "name",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioInApp": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "content",
          "created",
          "id",
          "is_linked",
          "name",
          "settings",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioInAppStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "is_linked",
          "name",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioInbox": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "content",
          "created",
          "id",
          "is_linked",
          "name",
          "settings",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioInboxStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "is_linked",
          "name",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioPagination": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "limit",
          "page",
          "total"
        ]
      },
      "services_designstudio_dsapi_DesignStudioResponseMeta": {
        "type": "object",
        "properties": {
          "filters": {},
          "pagination": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioPagination"
          }
        },
        "required": [
          "filters",
          "pagination"
        ]
      },
      "services_designstudio_dsapi_DesignStudioSignUpForm": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32",
            "description": "ID of the in-app broadcast backing this form. Null until the form is linked to a broadcast.",
            "nullable": true
          },
          "in_app_broadcast_state": {
            "type": "string",
            "description": "Raw state of the backing in-app broadcast, unchanged from the broadcast API. The frontend decides which states lock the editor (running is active). Null when in_app_broadcast_id is null.",
            "enum": [
              "drafted",
              "scheduled",
              "starting",
              "running",
              "stopping",
              "expired",
              "stopped",
              "deleting"
            ],
            "nullable": true
          },
          "is_linked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioSignUpFormTemplate"
            }
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "is_linked",
          "name",
          "templates",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioSignUpFormStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "is_linked",
          "name",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioSignUpFormTemplate": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Rendered HTML of the template."
          },
          "body_json": {
            "type": "string",
            "description": "Stored in-app settings; the editor's carta markup is its carta_content. Sent back on save with carta_content replaced."
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "output_type": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "body_json",
          "id",
          "output_type"
        ]
      },
      "services_designstudio_dsapi_DesignStudioSms": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Message body as Carta markup."
          },
          "created": {
            "type": "integer",
            "format": "int64",
            "description": "Creation time, unix seconds."
          },
          "id": {
            "type": "string",
            "description": "Node id."
          },
          "is_linked": {
            "type": "boolean",
            "description": "The SMS is attached to a transactional message, newsletter or campaign action."
          },
          "name": {
            "type": "string",
            "description": "Name shown in Design Studio."
          },
          "parent_folder_id": {
            "type": "string",
            "description": "Containing folder, or null at the root.",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "description": "Liquid expression for the destination number. Empty when the SMS carries no recipient of its own."
          },
          "sender_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender identity to send from, or null.",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64",
            "description": "Last modification time, unix seconds."
          }
        },
        "required": [
          "content",
          "created",
          "id",
          "is_linked",
          "name",
          "recipient",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioSmsStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64",
            "description": "Creation time, unix seconds."
          },
          "id": {
            "type": "string",
            "description": "Node id."
          },
          "is_linked": {
            "type": "boolean",
            "description": "The SMS is attached to a transactional message, newsletter or campaign action."
          },
          "name": {
            "type": "string",
            "description": "Name shown in Design Studio."
          },
          "parent_folder_id": {
            "type": "string",
            "description": "Containing folder, or null at the root.",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int64",
            "description": "Last modification time, unix seconds."
          }
        },
        "required": [
          "created",
          "id",
          "is_linked",
          "name",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioWhatsApp": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "is_template": {
            "type": "boolean"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "recipient": {
            "type": "string"
          },
          "sender_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "category",
          "content",
          "created",
          "id",
          "is_linked",
          "is_template",
          "language",
          "name",
          "recipient",
          "status",
          "updated"
        ]
      },
      "services_designstudio_dsapi_DesignStudioWhatsAppStub": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created",
          "id",
          "is_linked",
          "is_template",
          "name",
          "status",
          "updated"
        ]
      },
      "services_designstudio_dsapi_EmailContentBody": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "preheader_text": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_EmailEnvelopeBody": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "nullable": true
          },
          "fake_bcc": {
            "type": "boolean",
            "nullable": true
          },
          "from_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_emailEnvelopeHeaderInput"
            },
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "nullable": true
          },
          "reply_to_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_EmailTransformersBody": {
        "type": "object",
        "properties": {
          "accessibility": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailAccessibilityInput",
            "nullable": true
          },
          "css_inliner": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailCSSInlinerInput",
            "nullable": true
          },
          "css_variables": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailCSSVariablesInput",
            "nullable": true
          },
          "encode_entities": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailEncodeEntitiesInput",
            "nullable": true
          },
          "formatter": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailFormatterInput",
            "nullable": true
          },
          "prevent_widows": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailPreventWidowsInput",
            "nullable": true
          },
          "remove_unused_css": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailRemoveUnusedCSSInput",
            "nullable": true
          },
          "url_parameters": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailURLParametersInput",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_GetVersionResponse": {
        "type": "object",
        "properties": {
          "dependencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_VersionNode"
            }
          },
          "node": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_VersionNode"
          },
          "version": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_VersionSummary"
          }
        },
        "required": [
          "dependencies",
          "node",
          "version"
        ]
      },
      "services_designstudio_dsapi_ListVersionsResponse": {
        "type": "object",
        "properties": {
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_VersionSummary"
            }
          }
        },
        "required": [
          "versions"
        ]
      },
      "services_designstudio_dsapi_PublishRequest": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_RestoreVersionResponse": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "restored_node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "version_id": {
            "type": "string"
          }
        },
        "required": [
          "node_id",
          "restored_node_ids",
          "version_id"
        ]
      },
      "services_designstudio_dsapi_SaveVersionRequest": {
        "type": "object",
        "properties": {
          "auto_saved": {
            "type": "boolean",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_SaveVersionResponse": {
        "type": "object",
        "properties": {
          "created": {
            "type": "boolean"
          },
          "version": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_VersionSummary"
          }
        },
        "required": [
          "created",
          "version"
        ]
      },
      "services_designstudio_dsapi_TransformersAccessibility": {
        "type": "object",
        "properties": {
          "add_dir_to_content": {
            "type": "boolean"
          },
          "add_dir_to_html": {
            "type": "boolean"
          },
          "add_empty_alt_to_images": {
            "type": "boolean"
          },
          "add_lang_to_content": {
            "type": "boolean"
          },
          "add_lang_to_html": {
            "type": "boolean"
          },
          "add_role_to_tables": {
            "type": "boolean"
          },
          "add_title_to_head": {
            "type": "boolean"
          },
          "add_vml_alt_text": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "language": {
            "type": "string"
          },
          "remove_button_role_from_links": {
            "type": "boolean"
          },
          "remove_zoom_meta_tag": {
            "type": "boolean"
          }
        },
        "required": [
          "add_dir_to_content",
          "add_dir_to_html",
          "add_empty_alt_to_images",
          "add_lang_to_content",
          "add_lang_to_html",
          "add_role_to_tables",
          "add_title_to_head",
          "add_vml_alt_text",
          "enabled",
          "language",
          "remove_button_role_from_links",
          "remove_zoom_meta_tag"
        ]
      },
      "services_designstudio_dsapi_TransformersBackendMarker": {
        "type": "object",
        "properties": {
          "heads": {
            "type": "string"
          },
          "tails": {
            "type": "string"
          }
        },
        "required": [
          "heads",
          "tails"
        ]
      },
      "services_designstudio_dsapi_TransformersCSSInliner": {
        "type": "object",
        "properties": {
          "apply_html_attributes": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersCSSInlinerApplyHtmlAttributes"
          },
          "apply_style_tags": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "inline_pseudo_elements": {
            "type": "boolean"
          },
          "preserve_font_faces": {
            "type": "boolean"
          },
          "preserve_important": {
            "type": "boolean"
          },
          "preserve_keyframes": {
            "type": "boolean"
          },
          "preserve_media_queries": {
            "type": "boolean"
          },
          "preserve_pseudos": {
            "type": "boolean"
          },
          "remove_style_tags": {
            "type": "boolean"
          }
        },
        "required": [
          "apply_html_attributes",
          "apply_style_tags",
          "enabled",
          "inline_pseudo_elements",
          "preserve_font_faces",
          "preserve_important",
          "preserve_keyframes",
          "preserve_media_queries",
          "preserve_pseudos",
          "remove_style_tags"
        ]
      },
      "services_designstudio_dsapi_TransformersCSSInlinerApplyHtmlAttributes": {
        "type": "object",
        "properties": {
          "apply_height_attributes": {
            "type": "boolean"
          },
          "apply_table_element_attributes": {
            "type": "boolean"
          },
          "apply_width_attributes": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "apply_height_attributes",
          "apply_table_element_attributes",
          "apply_width_attributes",
          "enabled"
        ]
      },
      "services_designstudio_dsapi_TransformersCSSVariables": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "preserve": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled",
          "preserve"
        ]
      },
      "services_designstudio_dsapi_TransformersEncodeEntities": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "services_designstudio_dsapi_TransformersFormatter": {
        "type": "object",
        "properties": {
          "minify": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersMinify"
          },
          "prettify": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersPrettify"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "minify",
          "prettify",
          "type"
        ]
      },
      "services_designstudio_dsapi_TransformersMinify": {
        "type": "object",
        "properties": {
          "line_length_limit": {
            "type": "integer",
            "format": "int32"
          },
          "remove_css_comments": {
            "type": "boolean"
          },
          "remove_html_comments": {
            "type": "string"
          },
          "remove_indentations": {
            "type": "boolean"
          },
          "remove_line_breaks": {
            "type": "boolean"
          }
        },
        "required": [
          "line_length_limit",
          "remove_css_comments",
          "remove_html_comments",
          "remove_indentations",
          "remove_line_breaks"
        ]
      },
      "services_designstudio_dsapi_TransformersPrettify": {
        "type": "object",
        "properties": {
          "indent_character": {
            "type": "string"
          },
          "indent_size": {
            "type": "integer",
            "format": "int32"
          },
          "wrap_attributes": {
            "type": "boolean"
          }
        },
        "required": [
          "indent_character",
          "indent_size",
          "wrap_attributes"
        ]
      },
      "services_designstudio_dsapi_TransformersPreventWidows": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "services_designstudio_dsapi_TransformersRemoveUnusedCSS": {
        "type": "object",
        "properties": {
          "backend_markers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersBackendMarker"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "uglify": {
            "type": "boolean"
          },
          "whitelist": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "backend_markers",
          "enabled",
          "uglify",
          "whitelist"
        ]
      },
      "services_designstudio_dsapi_TransformersURLParameter": {
        "type": "object",
        "properties": {
          "encode": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "encode",
          "key",
          "value"
        ]
      },
      "services_designstudio_dsapi_TransformersURLParameters": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_TransformersURLParameter"
            }
          }
        },
        "required": [
          "enabled",
          "parameters"
        ]
      },
      "services_designstudio_dsapi_VersionNode": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string"
          },
          "envelope": {
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string"
          },
          "node_type": {
            "type": "string"
          },
          "settings": {
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "content",
          "node_id",
          "node_type"
        ]
      },
      "services_designstudio_dsapi_VersionSummary": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created_on_publish": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "feedback": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string"
          },
          "node_type": {
            "type": "string"
          }
        },
        "required": [
          "created",
          "created_on_publish",
          "feedback",
          "id",
          "node_id",
          "node_type"
        ]
      },
      "services_designstudio_dsapi_checkUnpublishedChangesResponse": {
        "type": "object",
        "properties": {
          "has_unpublished_changes": {
            "type": "boolean"
          }
        },
        "required": [
          "has_unpublished_changes"
        ]
      },
      "services_designstudio_dsapi_componentResponse": {
        "type": "object",
        "properties": {
          "component": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioComponent"
          }
        },
        "required": [
          "component"
        ]
      },
      "services_designstudio_dsapi_contentNodeCreateRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "content",
          "name",
          "settings"
        ]
      },
      "services_designstudio_dsapi_contentNodeUpdateRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_designstudio_dsapi_createComponentRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "name",
          "tag"
        ]
      },
      "services_designstudio_dsapi_createEmailRequest": {
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailContentBody",
            "nullable": true
          },
          "envelope": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailEnvelopeBody",
            "nullable": true
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "transformers": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailTransformersBody",
            "nullable": true
          }
        },
        "required": [
          "is_template",
          "name"
        ]
      },
      "services_designstudio_dsapi_createEmailTranslationRequest": {
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailContentBody",
            "nullable": true
          },
          "envelope": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailEnvelopeBody",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "transformers": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailTransformersBody",
            "nullable": true
          }
        },
        "required": [
          "language"
        ]
      },
      "services_designstudio_dsapi_createFolderRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_designstudio_dsapi_createSmsRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Message body as Carta markup, e.g. \u003cx-sms\u003e\u003cx-sms-body\u003eHi {{customer.first_name}}\u003c/x-sms-body\u003e\u003c/x-sms\u003e."
          },
          "name": {
            "type": "string",
            "description": "Name shown in Design Studio. Trimmed before validation; may not be empty, contain a forward slash or control characters, or exceed 191 characters."
          },
          "parent_folder_id": {
            "type": "string",
            "description": "Folder to create the SMS in. Null or omitted places it at the root.",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "description": "Liquid expression for the destination number, e.g. {{customer.phone}}. May be empty, in which case the linked destination's own recipient applies."
          },
          "sender_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender identity to send from. Must reference an existing sender identity.",
            "nullable": true
          }
        },
        "required": [
          "content",
          "name"
        ]
      },
      "services_designstudio_dsapi_createWhatsAppRequest": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "recipient": {
            "type": "string"
          },
          "sender_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "category",
          "content",
          "is_template",
          "language",
          "name",
          "recipient"
        ]
      },
      "services_designstudio_dsapi_emailAccessibilityInput": {
        "type": "object",
        "properties": {
          "add_dir_to_content": {
            "type": "boolean",
            "nullable": true
          },
          "add_dir_to_html": {
            "type": "boolean",
            "nullable": true
          },
          "add_empty_alt_to_images": {
            "type": "boolean",
            "nullable": true
          },
          "add_lang_to_content": {
            "type": "boolean",
            "nullable": true
          },
          "add_lang_to_html": {
            "type": "boolean",
            "nullable": true
          },
          "add_role_to_tables": {
            "type": "boolean",
            "nullable": true
          },
          "add_title_to_head": {
            "type": "boolean",
            "nullable": true
          },
          "add_vml_alt_text": {
            "type": "boolean",
            "nullable": true
          },
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "remove_button_role_from_links": {
            "type": "boolean",
            "nullable": true
          },
          "remove_zoom_meta_tag": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailBackendMarkerInput": {
        "type": "object",
        "properties": {
          "heads": {
            "type": "string",
            "nullable": true
          },
          "tails": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailCSSInlinerApplyHtmlAttributesInput": {
        "type": "object",
        "properties": {
          "apply_height_attributes": {
            "type": "boolean",
            "nullable": true
          },
          "apply_table_element_attributes": {
            "type": "boolean",
            "nullable": true
          },
          "apply_width_attributes": {
            "type": "boolean",
            "nullable": true
          },
          "enabled": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailCSSInlinerInput": {
        "type": "object",
        "properties": {
          "apply_html_attributes": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailCSSInlinerApplyHtmlAttributesInput",
            "nullable": true
          },
          "apply_style_tags": {
            "type": "boolean",
            "nullable": true
          },
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "inline_pseudo_elements": {
            "type": "boolean",
            "nullable": true
          },
          "preserve_font_faces": {
            "type": "boolean",
            "nullable": true
          },
          "preserve_important": {
            "type": "boolean",
            "nullable": true
          },
          "preserve_keyframes": {
            "type": "boolean",
            "nullable": true
          },
          "preserve_media_queries": {
            "type": "boolean",
            "nullable": true
          },
          "preserve_pseudos": {
            "type": "boolean",
            "nullable": true
          },
          "remove_style_tags": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailCSSVariablesInput": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "preserve": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailEncodeEntitiesInput": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailEnvelopeHeaderInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_designstudio_dsapi_emailFormatterInput": {
        "type": "object",
        "properties": {
          "minify": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailMinifyInput",
            "nullable": true
          },
          "prettify": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_emailPrettifyInput",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailMinifyInput": {
        "type": "object",
        "properties": {
          "line_length_limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "remove_css_comments": {
            "type": "boolean",
            "nullable": true
          },
          "remove_html_comments": {
            "type": "string",
            "nullable": true
          },
          "remove_indentations": {
            "type": "boolean",
            "nullable": true
          },
          "remove_line_breaks": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailPrettifyInput": {
        "type": "object",
        "properties": {
          "indent_character": {
            "type": "string",
            "nullable": true
          },
          "indent_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "wrap_attributes": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailPreventWidowsInput": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_emailRemoveUnusedCSSInput": {
        "type": "object",
        "properties": {
          "backend_markers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_emailBackendMarkerInput"
            }
          },
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "uglify": {
            "type": "boolean",
            "nullable": true
          },
          "whitelist": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "backend_markers",
          "whitelist"
        ]
      },
      "services_designstudio_dsapi_emailResponse": {
        "type": "object",
        "properties": {
          "email": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmail"
          }
        },
        "required": [
          "email"
        ]
      },
      "services_designstudio_dsapi_emailTranslationResponse": {
        "type": "object",
        "properties": {
          "email_translation": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailTranslation"
          }
        },
        "required": [
          "email_translation"
        ]
      },
      "services_designstudio_dsapi_emailURLParameterInput": {
        "type": "object",
        "properties": {
          "encode": {
            "type": "boolean",
            "nullable": true
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "services_designstudio_dsapi_emailURLParametersInput": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_emailURLParameterInput"
            }
          }
        },
        "required": [
          "parameters"
        ]
      },
      "services_designstudio_dsapi_folderResponse": {
        "type": "object",
        "properties": {
          "folder": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
          }
        },
        "required": [
          "folder"
        ]
      },
      "services_designstudio_dsapi_globalStyleTokenCreate": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "properties": {
            "type": "object",
            "description": "Component properties keyed by name; each property has a fixed token type (shown per property). Include `type` when adding a property (always on create); omit it to change an existing property's value.",
            "properties": {
              "align": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "align"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "background-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "border-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "border-radius": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "border-style": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "strokeStyle"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "border-width": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "box-shadow": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "shadow"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "corner-radius": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "dir": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "direction"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "divider-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "floating-icon-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "floating-icon-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "floating-icon-svg": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "file"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "font-family": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fontFamily"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "font-size": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "font-weight": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fontWeight"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "enum": [
                      "100",
                      "200",
                      "300",
                      "400",
                      "500",
                      "600",
                      "700",
                      "800",
                      "900",
                      "950"
                    ]
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "height": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "hover-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "hover-background-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "hover-border-radius": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "hover-box-shadow": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "shadow"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "hover-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "hover-opacity": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "lang": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "language"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "letter-spacing": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "line-height": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "margin": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "opacity": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "outer-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "padding": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "position": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "align"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "show-unread-alert": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "boolean"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "text-align": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "align"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "text-decoration": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "textDecoration"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "enum": [
                      "line-through",
                      "none",
                      "overline",
                      "underline"
                    ]
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "text-transform": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "textTransform"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "unread-indicator-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "unread-indicator-text-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              },
              "width": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "value"
                ]
              }
            },
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "nullable": true
          }
        },
        "required": [
          "group",
          "name"
        ]
      },
      "services_designstudio_dsapi_globalStyleTokenPatch": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "object",
            "description": "Component properties keyed by name; each property has a fixed token type (shown per property). Include `type` when adding a property (always on create); omit it to change an existing property's value.",
            "properties": {
              "align": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "align"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "background-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "border-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "border-radius": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "border-style": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "strokeStyle"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "border-width": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "box-shadow": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "shadow"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "corner-radius": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "dir": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "direction"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "divider-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "floating-icon-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "floating-icon-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "floating-icon-svg": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "file"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "font-family": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fontFamily"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "font-size": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "font-weight": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fontWeight"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "enum": [
                      "100",
                      "200",
                      "300",
                      "400",
                      "500",
                      "600",
                      "700",
                      "800",
                      "900",
                      "950"
                    ]
                  }
                },
                "required": [
                  "value"
                ]
              },
              "height": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "hover-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "hover-background-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "hover-border-radius": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "hover-box-shadow": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "shadow"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "hover-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "hover-opacity": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "lang": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "language"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "letter-spacing": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "line-height": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "margin": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "opacity": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "number"
                    ]
                  },
                  "value": {
                    "type": "number"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "outer-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "padding": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "position": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "align"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "show-unread-alert": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "boolean"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "text-align": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "align"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "text-decoration": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "textDecoration"
                    ]
                  },
                  "value": {
                    "type": "string",
                    "enum": [
                      "line-through",
                      "none",
                      "overline",
                      "underline"
                    ]
                  }
                },
                "required": [
                  "value"
                ]
              },
              "text-transform": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "textTransform"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "unread-indicator-background": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "unread-indicator-text-color": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "color"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "width": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "dimension"
                    ]
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ]
              }
            },
            "nullable": true
          },
          "value": {
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_inAppLinkRequest": {
        "type": "object",
        "properties": {
          "force": {
            "type": "boolean",
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_inAppLinkTarget"
          }
        },
        "required": [
          "target"
        ]
      },
      "services_designstudio_dsapi_inAppLinkResponse": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_inAppLinkTarget"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "node_id",
          "target",
          "template_id"
        ]
      },
      "services_designstudio_dsapi_inAppLinkTarget": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "services_designstudio_dsapi_inAppResponse": {
        "type": "object",
        "properties": {
          "in_app": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioInApp"
          }
        },
        "required": [
          "in_app"
        ]
      },
      "services_designstudio_dsapi_inboxResponse": {
        "type": "object",
        "properties": {
          "inbox": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioInbox"
          }
        },
        "required": [
          "inbox"
        ]
      },
      "services_designstudio_dsapi_linkInboxRequest": {
        "type": "object",
        "properties": {
          "force": {
            "type": "boolean",
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_linkTarget"
          }
        },
        "required": [
          "target"
        ]
      },
      "services_designstudio_dsapi_linkInboxResponse": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_linkTarget"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "node_id",
          "target",
          "template_id"
        ]
      },
      "services_designstudio_dsapi_linkRequest": {
        "type": "object",
        "properties": {
          "force": {
            "type": "boolean",
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_linkTarget"
          }
        },
        "required": [
          "target"
        ]
      },
      "services_designstudio_dsapi_linkResponse": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_linkTarget"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "node_id",
          "target",
          "template_id"
        ]
      },
      "services_designstudio_dsapi_linkTarget": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "services_designstudio_dsapi_listComponentsResponse": {
        "type": "object",
        "properties": {
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioComponentStub"
            }
          },
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          }
        },
        "required": [
          "components",
          "folders",
          "meta"
        ]
      },
      "services_designstudio_dsapi_listEmailTranslationsResponse": {
        "type": "object",
        "properties": {
          "email_translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailTranslation"
            }
          }
        },
        "required": [
          "email_translations"
        ]
      },
      "services_designstudio_dsapi_listEmailsResponse": {
        "type": "object",
        "properties": {
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioEmailStub"
            }
          },
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          }
        },
        "required": [
          "emails",
          "folders",
          "meta"
        ]
      },
      "services_designstudio_dsapi_listFoldersResponse": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          }
        },
        "required": [
          "folders",
          "meta"
        ]
      },
      "services_designstudio_dsapi_listInAppResponse": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "in_app": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioInAppStub"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          }
        },
        "required": [
          "folders",
          "in_app",
          "meta"
        ]
      },
      "services_designstudio_dsapi_listInboxResponse": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "inbox": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioInboxStub"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          }
        },
        "required": [
          "folders",
          "inbox",
          "meta"
        ]
      },
      "services_designstudio_dsapi_listSignUpFormResponse": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          },
          "sign_up_forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioSignUpFormStub"
            }
          }
        },
        "required": [
          "folders",
          "meta",
          "sign_up_forms"
        ]
      },
      "services_designstudio_dsapi_listSmsResponse": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          },
          "sms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioSmsStub"
            }
          }
        },
        "required": [
          "folders",
          "meta",
          "sms"
        ]
      },
      "services_designstudio_dsapi_listWhatsAppResponse": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioFolder"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioResponseMeta"
          },
          "whatsapp": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioWhatsAppStub"
            }
          }
        },
        "required": [
          "folders",
          "meta",
          "whatsapp"
        ]
      },
      "services_designstudio_dsapi_patchGlobalStylesRequest": {
        "type": "object",
        "properties": {
          "create": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_globalStyleTokenCreate"
            },
            "nullable": true
          },
          "update": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_designstudio_dsapi_globalStyleTokenPatch"
            },
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_publishInboxResponse": {
        "type": "object",
        "properties": {
          "template_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "version_id": {
            "type": "string"
          }
        },
        "required": [
          "template_ids",
          "version_id"
        ]
      },
      "services_designstudio_dsapi_publishSmsResponse": {
        "type": "object",
        "properties": {
          "template_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "version_id": {
            "type": "string"
          }
        },
        "required": [
          "template_ids",
          "version_id"
        ]
      },
      "services_designstudio_dsapi_renderEmailResponse": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string"
          },
          "node_type": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "html",
          "node_id",
          "node_type"
        ]
      },
      "services_designstudio_dsapi_signUpFormResponse": {
        "type": "object",
        "properties": {
          "sign_up_form": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioSignUpForm"
          }
        },
        "required": [
          "sign_up_form"
        ]
      },
      "services_designstudio_dsapi_smsResponse": {
        "type": "object",
        "properties": {
          "sms": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioSms"
          }
        },
        "required": [
          "sms"
        ]
      },
      "services_designstudio_dsapi_smsUpdateRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Replacement message body as Carta markup. An empty string clears it.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "New name. Trimmed before validation; may not be empty, contain a forward slash or control characters, or exceed 191 characters.",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "description": "Folder to move the SMS into. Omitted keeps the current parent, null moves it to the root.",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "description": "Replacement liquid expression for the destination number. An empty string clears it.",
            "nullable": true
          },
          "sender_id": {
            "type": "integer",
            "format": "int64",
            "description": "Sender identity to send from. Omitted keeps the current one, null clears it.",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_updateComponentRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_updateEmailRequest": {
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailContentBody",
            "nullable": true
          },
          "envelope": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailEnvelopeBody",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "transformers": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailTransformersBody",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_updateEmailTranslationRequest": {
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailContentBody",
            "nullable": true
          },
          "envelope": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailEnvelopeBody",
            "nullable": true
          },
          "transformers": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_EmailTransformersBody",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_updateFolderRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_updateWhatsAppRequest": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "nullable": true
          },
          "sender_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        }
      },
      "services_designstudio_dsapi_whatsAppResponse": {
        "type": "object",
        "properties": {
          "whatsapp": {
            "$ref": "#/components/schemas/services_designstudio_dsapi_DesignStudioWhatsApp"
          }
        },
        "required": [
          "whatsapp"
        ]
      },
      "services_designstudio_publishing_BulkPublishFailure": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "node_id"
        ]
      },
      "services_designstudio_publishing_NodeMapping": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string"
          },
          "nodeId": {
            "type": "string"
          },
          "templateId": {
            "type": "integer",
            "format": "int32"
          },
          "versionId": {
            "type": "string"
          }
        },
        "required": [
          "language",
          "nodeId",
          "templateId",
          "versionId"
        ]
      },
      "services_designstudio_review_CheckStatus": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_designstudio_review_ContrastMode": {
        "type": "object",
        "properties": {
          "bg_color": {
            "type": "string"
          },
          "contrast_ratio": {
            "type": "number",
            "format": "double"
          },
          "expected_contrast_ratio": {
            "type": "string",
            "nullable": true
          },
          "fg_color": {
            "type": "string"
          },
          "mode": {
            "type": "string"
          }
        },
        "required": [
          "bg_color",
          "contrast_ratio",
          "fg_color",
          "mode"
        ]
      },
      "services_designstudio_review_Finding": {
        "type": "object",
        "properties": {
          "check": {
            "type": "string"
          },
          "contrast_modes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_review_ContrastMode"
            },
            "nullable": true
          },
          "detail_anchor": {
            "type": "string",
            "nullable": true
          },
          "detail_id": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "string",
            "nullable": true
          },
          "dismiss_key": {
            "type": "string",
            "nullable": true
          },
          "dismissed": {
            "type": "boolean",
            "nullable": true
          },
          "finding_type": {
            "type": "string"
          },
          "fix": {
            "$ref": "#/components/schemas/services_designstudio_review_Fix",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string",
            "nullable": true
          },
          "severity": {
            "type": "string"
          },
          "snippet": {
            "$ref": "#/components/schemas/services_designstudio_review_SnippetRef",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "summary": {
            "type": "string",
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/services_designstudio_review_Locator",
            "nullable": true
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "check",
          "finding_type",
          "id",
          "severity",
          "state",
          "title"
        ]
      },
      "services_designstudio_review_Fix": {
        "type": "object",
        "properties": {
          "envelope_field": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "field_name": {
            "type": "string",
            "nullable": true
          },
          "field_type": {
            "type": "string",
            "nullable": true
          },
          "gather_input": {
            "type": "boolean",
            "nullable": true
          },
          "kind": {
            "type": "string"
          },
          "prompt": {
            "type": "string",
            "nullable": true
          },
          "should_revalidate": {
            "type": "boolean",
            "nullable": true
          },
          "src": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "kind"
        ]
      },
      "services_designstudio_review_ImageDetail": {
        "type": "object",
        "properties": {
          "alt_text": {
            "type": "string",
            "nullable": true
          },
          "display_width": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "extraction_type": {
            "type": "string",
            "nullable": true
          },
          "response": {
            "nullable": true
          },
          "result": {
            "type": "string"
          },
          "snippet": {
            "$ref": "#/components/schemas/services_designstudio_review_SnippetRef",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "result",
          "status",
          "url"
        ]
      },
      "services_designstudio_review_LinkDetail": {
        "type": "object",
        "properties": {
          "has_accessible_text": {
            "type": "boolean"
          },
          "response": {
            "nullable": true
          },
          "result": {
            "type": "string"
          },
          "snippet": {
            "$ref": "#/components/schemas/services_designstudio_review_SnippetRef",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "has_accessible_text",
          "result",
          "status",
          "text",
          "url"
        ]
      },
      "services_designstudio_review_Locator": {
        "type": "object",
        "properties": {
          "part": {
            "type": "string",
            "nullable": true
          },
          "selectors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippet": {
            "type": "string",
            "nullable": true
          },
          "source_range": {
            "$ref": "#/components/schemas/services_designstudio_review_SourceRange",
            "nullable": true
          },
          "texts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "selectors"
        ]
      },
      "services_designstudio_review_Report": {
        "type": "object",
        "properties": {
          "checks": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_designstudio_review_CheckStatus"
            }
          },
          "details": {
            "$ref": "#/components/schemas/services_designstudio_review_ReportDetails"
          },
          "findings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_review_Finding"
            }
          },
          "node_id": {
            "type": "string"
          },
          "render_error": {
            "type": "string",
            "nullable": true
          },
          "score": {
            "$ref": "#/components/schemas/services_designstudio_review_Score",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "checks",
          "details",
          "findings",
          "node_id",
          "status"
        ]
      },
      "services_designstudio_review_ReportDetails": {
        "type": "object",
        "properties": {
          "accessibility": {
            "nullable": true
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_review_ImageDetail"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_review_LinkDetail"
            }
          },
          "spam": {
            "$ref": "#/components/schemas/services_designstudio_review_SpamDetail",
            "nullable": true
          }
        },
        "required": [
          "images",
          "links"
        ]
      },
      "services_designstudio_review_ReviewParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "amp",
          "html",
          "text"
        ]
      },
      "services_designstudio_review_ReviewRequest": {
        "type": "object",
        "properties": {
          "envelope_details": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          },
          "parts": {
            "$ref": "#/components/schemas/services_designstudio_review_ReviewParts",
            "nullable": true
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        }
      },
      "services_designstudio_review_Score": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string"
          },
          "counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "label": {
            "type": "string"
          },
          "locked": {
            "type": "boolean"
          },
          "raw_score": {
            "type": "integer",
            "format": "int32"
          },
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "warning_fixes_to_raise_score": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "color",
          "counts",
          "label",
          "locked",
          "raw_score",
          "score",
          "warning_fixes_to_raise_score"
        ]
      },
      "services_designstudio_review_SnippetRef": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_designstudio_review_SourceRange": {
        "type": "object",
        "properties": {
          "end_column": {
            "type": "integer",
            "format": "int32"
          },
          "end_line_number": {
            "type": "integer",
            "format": "int32"
          },
          "start_column": {
            "type": "integer",
            "format": "int32"
          },
          "start_line_number": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "end_column",
          "end_line_number",
          "start_column",
          "start_line_number"
        ]
      },
      "services_designstudio_review_SpamDetail": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_review_spamRule"
            }
          },
          "score": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "rules",
          "score",
          "success"
        ]
      },
      "services_designstudio_review_spamRule": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "score": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "score"
        ]
      },
      "services_domains_account_credit_grants_CreditGrant": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "credits_original": {
            "type": "number",
            "format": "double"
          },
          "credits_remaining": {
            "type": "number",
            "format": "double"
          },
          "deleted_at": {
            "$ref": "#/components/schemas/services_db_NullUnixTimestamp",
            "nullable": true
          },
          "expires_at": {
            "$ref": "#/components/schemas/services_db_NullUnixTimestamp"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "starts_at": {
            "$ref": "#/components/schemas/services_db_NullUnixTimestamp"
          },
          "stripe_invoice_id": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "created_at",
          "credits_original",
          "credits_remaining",
          "expires_at",
          "id",
          "starts_at",
          "tier",
          "type"
        ]
      },
      "services_domains_accounts_AccountMembership": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "account_name": {
            "type": "string"
          },
          "data_center": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "account_name",
          "data_center",
          "logo_url"
        ]
      },
      "services_domains_accounts_PublicSettings": {
        "type": "object",
        "properties": {
          "ai_enabled": {
            "type": "boolean",
            "nullable": true
          },
          "consent_records": {
            "type": "boolean",
            "nullable": true
          },
          "slack_allow_live_data_edits": {
            "type": "boolean",
            "nullable": true
          },
          "slack_read_only": {
            "type": "boolean",
            "nullable": true
          },
          "use_global_ai_endpoint": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_domains_accounts_SignupProfile": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "messaging_use_cases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "channels",
          "messaging_use_cases",
          "role"
        ]
      },
      "services_domains_accounts_StartupSignupFields": {
        "type": "object",
        "properties": {
          "business_description": {
            "type": "string"
          },
          "company_location": {
            "type": "string"
          },
          "company_size": {
            "type": "string"
          },
          "funding_level": {
            "type": "string"
          },
          "heard_about_us": {
            "type": "string"
          },
          "incubator_partner": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "referral_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "business_description",
          "company_location",
          "company_size",
          "funding_level",
          "heard_about_us",
          "incubator_partner",
          "phone"
        ]
      },
      "services_domains_attribute_metadata_BatchUpdateOpts": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "is_relationship": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_domains_attribute_metadata_MetadataUpdate": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_domains_audit_uiaudit_DeleteParams": {
        "type": "object",
        "properties": {
          "customer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "internal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "suppress": {
            "type": "boolean",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_domains_backfill_progress_Progress": {
        "type": "object",
        "properties": {
          "done": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "phase": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "total_known": {
            "type": "boolean"
          },
          "unit": {
            "type": "string"
          }
        },
        "required": [
          "total_known",
          "unit"
        ]
      },
      "services_domains_design_studio_JistBackground": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistBorder": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "radius": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "width": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistButtonConfig": {
        "type": "object",
        "properties": {
          "background": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBackground",
            "nullable": true
          },
          "border": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBorder",
            "nullable": true
          },
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "minHeight": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "minWidth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "shadow": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistShadow",
            "nullable": true
          },
          "states": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistButtonStates",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistButtonStateStyle": {
        "type": "object",
        "properties": {
          "background": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBackground",
            "nullable": true
          },
          "border": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBorder",
            "nullable": true
          },
          "shadow": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistShadow",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistButtonStates": {
        "type": "object",
        "properties": {
          "hover": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistButtonStateStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistButtonVariant": {
        "type": "object",
        "properties": {
          "background": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBackground",
            "nullable": true
          },
          "border": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBorder",
            "nullable": true
          },
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "minHeight": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "minWidth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "shadow": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistShadow",
            "nullable": true
          },
          "states": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistButtonStates",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistColorModes": {
        "type": "object",
        "properties": {
          "dark": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTheme",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistHeadingConfig": {
        "type": "object",
        "properties": {
          "h2": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextComponentVariant",
            "nullable": true
          },
          "h3": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextComponentVariant",
            "nullable": true
          },
          "h4": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextComponentVariant",
            "nullable": true
          },
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistImageConfig": {
        "type": "object",
        "properties": {
          "border": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBorder",
            "nullable": true
          },
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistImageVariant": {
        "type": "object",
        "properties": {
          "border": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistBorder",
            "nullable": true
          },
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistInboxConfig": {
        "type": "object",
        "properties": {
          "background": {
            "type": "string",
            "nullable": true
          },
          "borderColor": {
            "type": "string",
            "nullable": true
          },
          "cornerRadius": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "dividerColor": {
            "type": "string",
            "nullable": true
          },
          "floatingIcon": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistInboxFloatingIcon",
            "nullable": true
          },
          "hoverBackground": {
            "type": "string",
            "nullable": true
          },
          "position": {
            "type": "string",
            "nullable": true
          },
          "shadow": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistShadow",
            "nullable": true
          },
          "unreadIndicator": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistInboxUnreadIndicator",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistInboxFloatingIcon": {
        "type": "object",
        "properties": {
          "background": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "svg": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistInboxUnreadIndicator": {
        "type": "object",
        "properties": {
          "background": {
            "type": "string",
            "nullable": true
          },
          "showAlert": {
            "type": "boolean",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistPatternColorModes": {
        "type": "object",
        "properties": {
          "dark": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistPatternOverrides",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistPatternOverrides": {
        "type": "object",
        "properties": {
          "inbox": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistInboxConfig",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistPatterns": {
        "type": "object",
        "properties": {
          "inbox": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistInboxConfig",
            "nullable": true
          },
          "modes": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistPatternColorModes",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistShadow": {
        "type": "object",
        "properties": {
          "blur": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "offsetX": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "offsetY": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistSpacing": {
        "type": "object",
        "properties": {
          "bottom": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "left": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "right": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "top": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistTextComponentConfig": {
        "type": "object",
        "properties": {
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistTextComponentVariant": {
        "type": "object",
        "properties": {
          "margin": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "padding": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistSpacing",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextStyle",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistTextStyle": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "fontFamily": {
            "type": "string",
            "nullable": true
          },
          "fontSize": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "fontWeight": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "letterSpacing": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "lineHeight": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistTheme": {
        "type": "object",
        "properties": {
          "button": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistButtonConfig",
            "nullable": true
          },
          "date": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextComponentConfig",
            "nullable": true
          },
          "heading": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistHeadingConfig",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistImageConfig",
            "nullable": true
          },
          "modes": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistColorModes",
            "nullable": true
          },
          "text": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTextComponentConfig",
            "nullable": true
          }
        }
      },
      "services_domains_design_studio_JistThemeResponse": {
        "type": "object",
        "properties": {
          "patterns": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistPatterns",
            "nullable": true
          },
          "theme": {
            "$ref": "#/components/schemas/services_domains_design_studio_JistTheme",
            "nullable": true
          }
        }
      },
      "services_domains_domains_DMARCProbeResult": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "What ProbeDMARC found at _dmarc.\u003cdomain\u003e. Anything other than \"none\" means a record is already published, so a DMARC TXT must not be pushed alongside it.",
            "enum": [
              "none",
              "cname",
              "txt"
            ]
          },
          "target": {
            "type": "string",
            "description": "The immediate CNAME target. Set only when kind is \"cname\".",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "The joined TXT value. Set only when kind is \"txt\".",
            "nullable": true
          }
        },
        "required": [
          "kind"
        ]
      },
      "services_domains_domains_DNSCheckGroup": {
        "type": "object",
        "properties": {
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_domains_DNSRecordCheck"
            }
          }
        },
        "required": [
          "records"
        ]
      },
      "services_domains_domains_DNSRecordCheck": {
        "type": "object",
        "properties": {
          "actual": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "expected": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "passing": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "passing"
        ]
      },
      "services_domains_env_health_APITBResponse": {
        "type": "object",
        "properties": {
          "overdue_count": {
            "type": "integer",
            "format": "int32"
          },
          "pending_count": {
            "type": "integer",
            "format": "int32"
          },
          "processed_today": {
            "type": "integer",
            "format": "int32"
          },
          "recipients_today_total": {
            "type": "integer",
            "format": "int64"
          },
          "scheduled_count": {
            "type": "integer",
            "format": "int32"
          },
          "with_errors_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "overdue_count",
          "pending_count",
          "processed_today",
          "recipients_today_total",
          "scheduled_count",
          "with_errors_count"
        ]
      },
      "services_domains_env_health_Alert": {
        "type": "object",
        "properties": {
          "action_label": {
            "type": "string"
          },
          "action_type": {
            "type": "string",
            "description": "Where the alert's primary action should take the user. Chosen from the delay's cause, so the same category can route differently between requests: \"report_to_support\" opens the support flow with support_payload attached, \"sending_settings\" the rate-limit configuration, \"message_throttle_settings\" the message settings of the campaign in the category's throttled_sends, \"imports\" the import that is holding things up.",
            "enum": [
              "tasks",
              "imports",
              "processing_details",
              "failed_events",
              "disabled_queues",
              "sending_settings",
              "message_throttle_settings",
              "report_to_support"
            ]
          },
          "category": {
            "type": "string",
            "description": "Name of the processing or egress category this alert was raised for, matching the category's own name field. Present only on delay alerts. Use with surface to find the category, whose delay_attribution names the source responsible.",
            "nullable": true
          },
          "copilot_prompt": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          },
          "surface": {
            "type": "string",
            "description": "Which side the category lives on: \"processing\" for processing.categories, \"egress\" for egress.categories. A category name can appear on both, so this is needed to resolve it.",
            "enum": [
              "processing",
              "egress"
            ],
            "nullable": true
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "action_label",
          "action_type",
          "message",
          "severity",
          "title"
        ]
      },
      "services_domains_env_health_CampaignsResponse": {
        "type": "object",
        "properties": {
          "active_count": {
            "type": "integer",
            "format": "int32"
          },
          "processed_today": {
            "type": "integer",
            "format": "int64"
          },
          "stale": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_StaleCampaign"
            }
          },
          "stale_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "active_count",
          "processed_today",
          "stale",
          "stale_count"
        ]
      },
      "services_domains_env_health_CheckResponse": {
        "type": "object",
        "properties": {
          "healthy": {
            "type": "boolean"
          }
        },
        "required": [
          "healthy"
        ]
      },
      "services_domains_env_health_CleanupCandidate": {
        "type": "object",
        "properties": {
          "cost_pct_24h": {
            "type": "number",
            "format": "double"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "type": "string",
            "enum": [
              "segment",
              "campaign"
            ]
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "cost_pct_24h",
          "id",
          "kind",
          "name",
          "reason"
        ]
      },
      "services_domains_env_health_CleanupCandidatesResponse": {
        "type": "object",
        "properties": {
          "candidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_CleanupCandidate"
            }
          },
          "last_updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "next_refresh_at": {
            "type": "integer",
            "format": "int64"
          },
          "total_reclaim_pct_24h": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "candidates",
          "last_updated_at",
          "next_refresh_at",
          "total_reclaim_pct_24h"
        ]
      },
      "services_domains_env_health_ConfigurationItem": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "detail",
          "name",
          "status"
        ]
      },
      "services_domains_env_health_CountStat": {
        "type": "object",
        "properties": {
          "current": {
            "type": "integer",
            "format": "int64"
          },
          "prev_day": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "current",
          "prev_day"
        ]
      },
      "services_domains_env_health_DailyStats": {
        "type": "object",
        "properties": {
          "failed_events_today": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            }
          },
          "processed_today": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_env_health_CountStat"
            }
          },
          "tasks_failed_today": {
            "type": "integer",
            "format": "int32"
          },
          "throughput": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_env_health_ThroughputStat"
            }
          }
        },
        "required": [
          "failed_events_today",
          "processed_today",
          "tasks_failed_today",
          "throughput"
        ]
      },
      "services_domains_env_health_DelayAttribution": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Customer-facing name of the import, integration or broadcast responsible for most of the backlog. Falls back to the kind of source when a name cannot be resolved."
          },
          "share": {
            "type": "number",
            "format": "double",
            "description": "Fraction of the sampled backlog attributed to this source, between 0 and 1."
          },
          "source_id": {
            "type": "integer",
            "format": "int32",
            "description": "Identifier of the source within this workspace, for linking to it: the import id for sql_sync and csv_import, the Data Pipelines source id for cdp_source, the newsletter id for newsletter, the campaign id for campaign and api_triggered_broadcast. Omitted whenever source_kind is.",
            "nullable": true
          },
          "source_kind": {
            "type": "string",
            "description": "What sort of source this is, which decides where it is configured. Omitted when the source cannot be tied to a known kind; render label alone in that case, and for any kind with no route.",
            "enum": [
              "sql_sync",
              "csv_import",
              "cdp_source",
              "newsletter",
              "campaign",
              "api_triggered_broadcast"
            ],
            "nullable": true
          },
          "source_subtype": {
            "type": "string",
            "description": "Further qualifies source_kind where the source's page needs it. For sql_sync this is the sync's database type, one of mysql, postgres, snowflake, bigquery, redshift, sqlserver. Empty for csv_import, cdp_source, newsletter, campaign and api_triggered_broadcast, whose pages are addressed by id alone, and empty for a sql_sync whose database could not be read.",
            "nullable": true
          }
        },
        "required": [
          "label",
          "share"
        ]
      },
      "services_domains_env_health_DelayHistory": {
        "type": "object",
        "properties": {
          "background": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_DelayHistoryPoint"
            }
          },
          "egress": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_DelayHistoryPoint"
            }
          },
          "egress_categories": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/services_domains_env_health_DelayHistoryPoint"
              }
            }
          },
          "ingress": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_DelayHistoryPoint"
            }
          },
          "sends": {
            "type": "array",
            "description": "Broadcasts that started sending inside the 24h window, most recent first and capped at five, for marking on the delay chart. Omitted when none did or the read failed.",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_SendEvent"
            },
            "nullable": true
          }
        },
        "required": [
          "background",
          "egress",
          "egress_categories",
          "ingress"
        ]
      },
      "services_domains_env_health_DelayHistoryPoint": {
        "type": "object",
        "properties": {
          "t": {
            "type": "integer",
            "format": "int64"
          },
          "v": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "t",
          "v"
        ]
      },
      "services_domains_env_health_EgressStatus": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_ProcessingCategory"
            }
          },
          "drain_seconds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "pending_available": {
            "type": "boolean"
          },
          "rate_limited_categories": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            },
            "nullable": true
          },
          "total_pending": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "categories",
          "pending_available",
          "total_pending"
        ]
      },
      "services_domains_env_health_ErroredConnection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status_message": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "status_message"
        ]
      },
      "services_domains_env_health_EventNameCount": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "count",
          "name"
        ]
      },
      "services_domains_env_health_IngressBreakdownResponse": {
        "type": "object",
        "properties": {
          "by_identifier_type": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "by_kind": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "by_source": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "queue": {
            "type": "string"
          },
          "sample_size": {
            "type": "integer",
            "format": "int32"
          },
          "top_attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_NameCount"
            },
            "nullable": true
          },
          "top_event_names": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_NameCount"
            },
            "nullable": true
          },
          "truncated": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "by_kind",
          "by_source",
          "queue",
          "sample_size"
        ]
      },
      "services_domains_env_health_MetricTrend": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "current": {
            "type": "string"
          },
          "direction": {
            "type": "string"
          },
          "previous": {
            "type": "string"
          }
        },
        "required": [
          "active",
          "current",
          "direction",
          "previous"
        ]
      },
      "services_domains_env_health_NameCount": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "count",
          "name"
        ]
      },
      "services_domains_env_health_ObjectTypeStat": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "in_use": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "object_count": {
            "type": "integer",
            "format": "int32"
          },
          "object_count_available": {
            "type": "boolean"
          },
          "relationship_count": {
            "type": "integer",
            "format": "int32"
          },
          "relationship_count_available": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "in_use",
          "name",
          "object_count",
          "object_count_available",
          "relationship_count",
          "relationship_count_available"
        ]
      },
      "services_domains_env_health_ObjectsResponse": {
        "type": "object",
        "properties": {
          "counts_partial": {
            "type": "boolean",
            "nullable": true
          },
          "object_type_count": {
            "type": "integer",
            "format": "int32"
          },
          "processed_today": {
            "$ref": "#/components/schemas/services_domains_env_health_CountStat"
          },
          "related_updates": {
            "$ref": "#/components/schemas/services_domains_env_health_CountStat"
          },
          "total_objects": {
            "type": "integer",
            "format": "int32"
          },
          "total_relationships": {
            "type": "integer",
            "format": "int32"
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_ObjectTypeStat"
            }
          }
        },
        "required": [
          "object_type_count",
          "processed_today",
          "related_updates",
          "total_objects",
          "total_relationships",
          "types"
        ]
      },
      "services_domains_env_health_PipelinesResponse": {
        "type": "object",
        "properties": {
          "active_connections": {
            "type": "integer",
            "format": "int32"
          },
          "connections_with_errors": {
            "type": "integer",
            "format": "int32"
          },
          "errored_connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_ErroredConnection"
            }
          },
          "last_activity_unix": {
            "type": "integer",
            "format": "int64"
          },
          "total_connections": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "active_connections",
          "connections_with_errors",
          "errored_connections",
          "last_activity_unix",
          "total_connections"
        ]
      },
      "services_domains_env_health_PlatformTrends": {
        "type": "object",
        "properties": {
          "metrics": {
            "$ref": "#/components/schemas/services_domains_env_health_TrendBundle"
          },
          "platform": {
            "type": "string"
          }
        },
        "required": [
          "metrics",
          "platform"
        ]
      },
      "services_domains_env_health_ProcessingCategory": {
        "type": "object",
        "properties": {
          "delay_attribution": {
            "$ref": "#/components/schemas/services_domains_env_health_DelayAttribution",
            "description": "The dominant source of this category's backlog. Set on the import and broadcasts categories when one source clearly dominates. It does not imply the category is behind: a lane holding work is named while it is still keeping up, so read delay_tier for that. Absent when the backlog is mixed or the source cannot be named.",
            "nullable": true
          },
          "delay_cause": {
            "type": "string",
            "description": "What explains a non-normal delay_tier. \"volume\" means the queues are keeping up with the workspace's own send volume and the backlog is expected; \"platform\" means throughput has collapsed relative to what this workspace normally sustains; \"rate_limited\" means the backlog is deliberate pacing from a workspace-level sending limit; \"campaign_throttle\" means campaigns sending at a message throttle configured on the campaigns themselves, named in throttled_sends, account for most of this delay — most of the projected wait, which is not the same as most of the messages — with every queue holding that throttled work moving enough to be those throttles pacing themselves and no other backlogged queue in the category stalled; a delivery category that has stopped instead reports \"platform\". It answers only for the throttled sends: read secondary_cause for the rest of the backlog. Omitted when the tier is normal, or when there was no throughput baseline to attribute the delay against.",
            "enum": [
              "volume",
              "platform",
              "rate_limited",
              "campaign_throttle"
            ],
            "nullable": true
          },
          "delay_seconds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "delay_tier": {
            "type": "string",
            "description": "Severity tier for delay_seconds. Render this rather than deriving a tier from delay_seconds.",
            "enum": [
              "normal",
              "slight_delay",
              "delayed",
              "major_delay"
            ],
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "pending": {
            "type": "integer",
            "format": "int64"
          },
          "secondary_cause": {
            "type": "string",
            "description": "What explains the part of this category's backlog that no campaign throttle is pacing, when that remainder is behind on its own account. Only set alongside delay_cause \"campaign_throttle\": \"volume\" means the unthrottled messages are working through their own backlog at this workspace's normal rate, \"platform\" means they are going out well below it. Absent when the remainder is not itself delayed, or when there was no baseline to judge it against.",
            "enum": [
              "volume",
              "platform"
            ],
            "nullable": true
          },
          "throttled_sends": {
            "type": "array",
            "description": "Campaigns whose own configured message throttle is pacing their sending through this category, most-queued first. Present whenever one is holding work, so it does not on its own mean the category is behind — read delay_cause for that. Each entry links to the campaign whose message settings hold the throttle.",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_ThrottledSend"
            },
            "nullable": true
          },
          "unthrottled_delay_seconds": {
            "type": "number",
            "format": "double",
            "description": "How long unthrottled_pending takes to clear at the rate left over once the throttled sends take their configured share, in seconds. Read it rather than delay_seconds to judge whether anything besides the throttle is behind; secondary_cause is the verdict on it. Omitted when no queue holding that remainder had a measurable rate.",
            "nullable": true
          },
          "unthrottled_pending": {
            "type": "integer",
            "format": "int64",
            "description": "Messages in this category that no campaign message throttle is pacing: pending less everything throttled_sends holds. Present only when the category has throttled sends holding work. Zero means the throttled campaigns are the entire backlog.",
            "nullable": true
          }
        },
        "required": [
          "name",
          "pending"
        ]
      },
      "services_domains_env_health_ProcessingStatus": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_ProcessingCategory"
            }
          },
          "drain_seconds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "segments_paused": {
            "type": "boolean",
            "nullable": true
          },
          "total_pending": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "categories",
          "total_pending"
        ]
      },
      "services_domains_env_health_PushConfiguration": {
        "type": "object",
        "properties": {
          "checks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_ConfigurationItem"
            }
          }
        },
        "required": [
          "checks"
        ]
      },
      "services_domains_env_health_PushHealthResponse": {
        "type": "object",
        "properties": {
          "configuration": {
            "$ref": "#/components/schemas/services_domains_env_health_PushConfiguration"
          },
          "period": {
            "type": "string"
          },
          "platforms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_PlatformTrends"
            }
          }
        },
        "required": [
          "configuration",
          "period",
          "platforms"
        ]
      },
      "services_domains_env_health_Response": {
        "type": "object",
        "properties": {
          "alerts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_Alert"
            }
          },
          "disabled_queues": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "egress": {
            "$ref": "#/components/schemas/services_domains_env_health_EgressStatus"
          },
          "health": {
            "type": "string"
          },
          "last_updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "next_refresh_at": {
            "type": "integer",
            "format": "int64"
          },
          "processing": {
            "$ref": "#/components/schemas/services_domains_env_health_ProcessingStatus"
          },
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "stats": {
            "$ref": "#/components/schemas/services_domains_env_health_DailyStats"
          },
          "support_payload": {
            "$ref": "#/components/schemas/services_domains_env_health_SupportPayload",
            "description": "Machine-built snapshot to attach when reporting a problem to support. Send it verbatim; it is derived from this same response and needs no client-side assembly."
          },
          "tasks": {
            "$ref": "#/components/schemas/services_domains_env_health_TasksStatus"
          },
          "threshold_scale": {
            "type": "integer",
            "format": "int32",
            "description": "Workspace-size multiplier the delay tiers were graded with. Internal grading metadata; render delay_tier rather than deriving thresholds from this.",
            "nullable": true
          }
        },
        "required": [
          "alerts",
          "egress",
          "health",
          "last_updated_at",
          "next_refresh_at",
          "processing",
          "score",
          "stats",
          "support_payload",
          "tasks"
        ]
      },
      "services_domains_env_health_SegmentStats": {
        "type": "object",
        "properties": {
          "newsletter_only_count": {
            "type": "integer",
            "format": "int32"
          },
          "total_count": {
            "type": "integer",
            "format": "int32"
          },
          "unused_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "newsletter_only_count",
          "total_count",
          "unused_count"
        ]
      },
      "services_domains_env_health_SegmentsResponse": {
        "type": "object",
        "properties": {
          "segments": {
            "$ref": "#/components/schemas/services_domains_env_health_SegmentStats"
          }
        },
        "required": [
          "segments"
        ]
      },
      "services_domains_env_health_SendEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "The broadcast's id."
          },
          "name": {
            "type": "string",
            "description": "The name the customer gave the broadcast. Empty when it was never named."
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "description": "Unix seconds of the broadcast's recorded send time: when it was dispatched, or for a timezone-matched broadcast the scheduled start its per-timezone deliveries are anchored to. Deliveries begin at or after this time, and for a timezone-matched broadcast can trail it by hours."
          }
        },
        "required": [
          "id",
          "name",
          "started_at"
        ]
      },
      "services_domains_env_health_StaleCampaign": {
        "type": "object",
        "properties": {
          "first_started": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "last_sent_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "first_started",
          "id",
          "name"
        ]
      },
      "services_domains_env_health_SupportAlert": {
        "type": "object",
        "properties": {
          "action_type": {
            "type": "string",
            "enum": [
              "tasks",
              "imports",
              "processing_details",
              "failed_events",
              "disabled_queues",
              "sending_settings",
              "message_throttle_settings",
              "report_to_support"
            ]
          },
          "severity": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "action_type",
          "severity",
          "title"
        ]
      },
      "services_domains_env_health_SupportCategory": {
        "type": "object",
        "properties": {
          "attribution": {
            "$ref": "#/components/schemas/services_domains_env_health_DelayAttribution",
            "nullable": true
          },
          "delay_cause": {
            "type": "string",
            "description": "Empty means there was no throughput baseline to attribute the delay against, which is itself worth reporting.",
            "enum": [
              "volume",
              "platform",
              "rate_limited",
              "campaign_throttle"
            ],
            "nullable": true
          },
          "delay_seconds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "delay_tier": {
            "type": "string",
            "enum": [
              "normal",
              "slight_delay",
              "delayed",
              "major_delay"
            ],
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "pending": {
            "type": "integer",
            "format": "int64"
          },
          "secondary_cause": {
            "type": "string",
            "description": "What explains the part of this category's backlog no campaign throttle is pacing. Only set alongside delay_cause \"campaign_throttle\".",
            "enum": [
              "volume",
              "platform"
            ],
            "nullable": true
          },
          "surface": {
            "type": "string",
            "description": "Which half of the response this category came from: \"processing\" for ingress, \"egress\" for delivery.",
            "enum": [
              "processing",
              "egress"
            ]
          },
          "unthrottled_delay_seconds": {
            "type": "number",
            "format": "double",
            "description": "How long that remainder takes at the rate the throttles leave behind.",
            "nullable": true
          },
          "unthrottled_pending": {
            "type": "integer",
            "format": "int64",
            "description": "Pending less everything the category's throttled sends hold.",
            "nullable": true
          }
        },
        "required": [
          "name",
          "pending",
          "surface"
        ]
      },
      "services_domains_env_health_SupportPayload": {
        "type": "object",
        "properties": {
          "alerts": {
            "type": "array",
            "description": "The alerts active on the dashboard when this snapshot was taken.",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_SupportAlert"
            }
          },
          "categories": {
            "type": "array",
            "description": "Every category not in the normal delay tier. Empty when nothing is behind.",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_SupportCategory"
            }
          },
          "disabled_queues": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "env_id": {
            "type": "integer",
            "format": "int32"
          },
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "description": "Unix seconds at which the metrics in this snapshot were computed. Up to the response cache TTL behind the moment the report was sent, so it is the age of the numbers rather than of the report."
          },
          "health": {
            "type": "string"
          },
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "threshold_scale": {
            "type": "integer",
            "format": "int32",
            "description": "Workspace-size multiplier the delay tiers were graded with. Present so a tier in this snapshot can be read back against the thresholds that produced it.",
            "nullable": true
          },
          "throughput": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_SupportThroughput"
            }
          }
        },
        "required": [
          "alerts",
          "categories",
          "env_id",
          "generated_at",
          "health",
          "score",
          "throughput"
        ]
      },
      "services_domains_env_health_SupportThroughput": {
        "type": "object",
        "properties": {
          "current": {
            "type": "number",
            "format": "double"
          },
          "name": {
            "type": "string"
          },
          "prev_day": {
            "type": "number",
            "format": "double",
            "description": "The rate this workspace sustained at the same time on the previous day — the baseline the current rate should be read against."
          }
        },
        "required": [
          "current",
          "name",
          "prev_day"
        ]
      },
      "services_domains_env_health_TaskDetail": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "object_deleted": {
            "type": "boolean",
            "nullable": true
          },
          "object_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "object_name": {
            "type": "string",
            "nullable": true
          },
          "object_version": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "priority": {
            "type": "string"
          },
          "progress": {
            "$ref": "#/components/schemas/services_domains_backfill_progress_Progress",
            "nullable": true
          },
          "started": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "id",
          "priority",
          "state",
          "type"
        ]
      },
      "services_domains_env_health_TaskSummary": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          },
          "failed_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "object_deleted": {
            "type": "boolean",
            "nullable": true
          },
          "object_name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "services_domains_env_health_TasksStatus": {
        "type": "object",
        "properties": {
          "failed": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_TaskSummary"
            }
          },
          "queued_by_priority": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "queued_tasks_by_priority": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/services_domains_env_health_TaskDetail"
              }
            },
            "nullable": true
          },
          "running_tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_TaskDetail"
            }
          }
        },
        "required": [
          "failed",
          "queued_by_priority",
          "running_tasks"
        ]
      },
      "services_domains_env_health_ThrottledSend": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "description": "Channel the throttle applies to, e.g. \"email\", \"sms\", \"push\", \"webhook\". A campaign throttled on two channels reports one entry per channel."
          },
          "clear_seconds": {
            "type": "number",
            "format": "double",
            "description": "How long the queued messages take to go out at the configured rate. Omitted when it cannot be derived.",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign id within this workspace, for linking to its message settings."
          },
          "kind": {
            "type": "string",
            "description": "What sort of send this is, which decides where its message settings live: \"campaign\" for a workflow campaign, \"api_triggered_broadcast\" for an API-triggered broadcast.",
            "enum": [
              "campaign",
              "api_triggered_broadcast"
            ]
          },
          "messages_per_minute": {
            "type": "integer",
            "format": "int32",
            "description": "Configured throttle for this campaign and channel, in messages per minute."
          },
          "name": {
            "type": "string",
            "description": "Name the customer gave the campaign, or the kind of thing it is when they never named it."
          },
          "queued": {
            "type": "integer",
            "format": "int64",
            "description": "Messages this campaign's channel subqueue is currently holding."
          }
        },
        "required": [
          "channel",
          "id",
          "kind",
          "messages_per_minute",
          "name",
          "queued"
        ]
      },
      "services_domains_env_health_ThroughputStat": {
        "type": "object",
        "properties": {
          "current": {
            "type": "number",
            "format": "double"
          },
          "prev_day": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "current",
          "prev_day"
        ]
      },
      "services_domains_env_health_TopEventsResponse": {
        "type": "object",
        "properties": {
          "top_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_env_health_EventNameCount"
            }
          }
        },
        "required": [
          "top_events"
        ]
      },
      "services_domains_env_health_TrendBundle": {
        "type": "object",
        "properties": {
          "bounce_rate": {
            "$ref": "#/components/schemas/services_domains_env_health_MetricTrend"
          },
          "delivery_rate": {
            "$ref": "#/components/schemas/services_domains_env_health_MetricTrend"
          },
          "open_rate": {
            "$ref": "#/components/schemas/services_domains_env_health_MetricTrend"
          }
        },
        "required": [
          "bounce_rate",
          "delivery_rate",
          "open_rate"
        ]
      },
      "services_domains_environments_ChannelClientSettings": {
        "type": "object",
        "properties": {
          "auto_tls_domain_id": {
            "type": "integer",
            "format": "int64",
            "description": "Auto TLS domain ID used for shortened links. Must reference an existing auto TLS domain in state \"active\"; otherwise the update returns 400. Set to 0 to clear.",
            "nullable": true
          },
          "auto_tls_domain_name": {
            "type": "string",
            "description": "Auto TLS domain name. When auto_tls_domain_id is set, this must exactly match the domain stored for that ID; otherwise the update returns 400.",
            "nullable": true
          },
          "disable_smart_encoding": {
            "type": "boolean",
            "description": "SMS-only. When true, disables the smart encoding transformation applied by the SMS renderer (e.g. curly quotes → straight quotes). Ignored for non-SMS channels.",
            "nullable": true
          },
          "shorten_links": {
            "type": "boolean",
            "description": "When true, outbound links in messages are rewritten through the link-shortening service. Applies to channels that support link shortening (sms, whatsapp).",
            "nullable": true
          }
        }
      },
      "services_domains_environments_identifier_toggle_IdentifierToggleStatus": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          },
          "phase": {
            "type": "string"
          }
        },
        "required": [
          "phase"
        ]
      },
      "services_domains_event_metadata_BatchEventUpdate": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_domains_event_metadata_MetadataUpdate": {
        "type": "object",
        "properties": {
          "counts_as_mau_activity": {
            "type": "boolean",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_domains_experiments_Comparison": {
        "type": "object",
        "properties": {
          "abs_ci_high": {
            "type": "number",
            "format": "double"
          },
          "abs_ci_low": {
            "type": "number",
            "format": "double"
          },
          "absolute_lift": {
            "type": "number",
            "format": "double"
          },
          "adjusted_p_value": {
            "type": "number",
            "format": "double"
          },
          "ci_high": {
            "type": "number",
            "format": "double"
          },
          "ci_low": {
            "type": "number",
            "format": "double"
          },
          "p_value": {
            "type": "number",
            "format": "double"
          },
          "relative_lift": {
            "type": "number",
            "format": "double"
          },
          "significant": {
            "type": "boolean"
          },
          "variant_a": {
            "type": "string"
          },
          "variant_b": {
            "type": "string"
          }
        },
        "required": [
          "abs_ci_high",
          "abs_ci_low",
          "absolute_lift",
          "adjusted_p_value",
          "ci_high",
          "ci_low",
          "p_value",
          "relative_lift",
          "significant",
          "variant_a",
          "variant_b"
        ]
      },
      "services_domains_experiments_DeliveryMetricConversion": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string"
          }
        },
        "required": [
          "metric"
        ]
      },
      "services_domains_experiments_EventConversion": {
        "type": "object",
        "properties": {
          "conditions": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "event_type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "event_type",
          "name"
        ]
      },
      "services_domains_experiments_ExposureSeriesPoint": {
        "type": "object",
        "properties": {
          "bucket": {
            "type": "integer",
            "format": "int64"
          },
          "converted": {
            "type": "integer",
            "format": "int32"
          },
          "exposed": {
            "type": "integer",
            "format": "int32"
          },
          "variant_id": {
            "type": "string"
          }
        },
        "required": [
          "bucket",
          "converted",
          "exposed",
          "variant_id"
        ]
      },
      "services_domains_experiments_MinimumDetectableEffect": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "services_domains_experiments_NodeExposure": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "surface_action_id": {
            "type": "string"
          },
          "surface_id": {
            "type": "string"
          },
          "surface_type": {
            "type": "string"
          },
          "variant_id": {
            "type": "string"
          }
        },
        "required": [
          "count",
          "surface_action_id",
          "surface_id",
          "surface_type",
          "variant_id"
        ]
      },
      "services_domains_experiments_Results": {
        "type": "object",
        "properties": {
          "comparisons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_Comparison"
            }
          },
          "computed_at": {
            "type": "integer",
            "format": "int64"
          },
          "decision_basis": {
            "type": "string",
            "nullable": true
          },
          "experiment_id": {
            "type": "integer",
            "format": "int32"
          },
          "recommendation": {
            "type": "string"
          },
          "recommended_variant_id": {
            "type": "string",
            "nullable": true
          },
          "recommended_variant_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reference_variant_id": {
            "type": "string"
          },
          "scoring_method": {
            "type": "string"
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_VariantResult"
            }
          }
        },
        "required": [
          "comparisons",
          "computed_at",
          "experiment_id",
          "recommendation",
          "recommended_variant_ids",
          "reference_variant_id",
          "scoring_method",
          "variants"
        ]
      },
      "services_domains_experiments_SnapshotAction": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "template_audit_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "action_id",
          "name",
          "summary",
          "type"
        ]
      },
      "services_domains_experiments_SnapshotData": {
        "type": "object",
        "properties": {
          "status_after": {
            "type": "string"
          },
          "test_nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_SnapshotTestNode"
            }
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_SnapshotVariant"
            }
          },
          "winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "status_after",
          "test_nodes",
          "variants"
        ]
      },
      "services_domains_experiments_SnapshotPath": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_SnapshotAction"
            }
          },
          "variant_id": {
            "type": "string"
          }
        },
        "required": [
          "actions",
          "variant_id"
        ]
      },
      "services_domains_experiments_SnapshotTestNode": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_SnapshotPath"
            }
          }
        },
        "required": [
          "action_id",
          "name",
          "paths"
        ]
      },
      "services_domains_experiments_SnapshotVariant": {
        "type": "object",
        "properties": {
          "allocation": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "allocation",
          "id",
          "name",
          "role",
          "version"
        ]
      },
      "services_domains_experiments_TestConfig": {
        "type": "object",
        "properties": {
          "automatic_winner": {
            "type": "boolean"
          },
          "baseline_rate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "confidence_level": {
            "type": "number",
            "format": "double"
          },
          "decision_mode": {
            "type": "string"
          },
          "exposures_per_variant": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "mde": {
            "$ref": "#/components/schemas/services_domains_experiments_MinimumDetectableEffect"
          },
          "on_inconclusive": {
            "type": "string",
            "nullable": true
          },
          "power": {
            "type": "number",
            "format": "double"
          },
          "scoring_method": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "automatic_winner",
          "confidence_level",
          "decision_mode",
          "mde",
          "power"
        ]
      },
      "services_domains_experiments_Variant": {
        "type": "object",
        "properties": {
          "allocation": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "allocation",
          "id",
          "name",
          "role",
          "version"
        ]
      },
      "services_domains_experiments_VariantResult": {
        "type": "object",
        "properties": {
          "abs_ci_high": {
            "type": "number",
            "format": "double"
          },
          "abs_ci_low": {
            "type": "number",
            "format": "double"
          },
          "absolute_lift": {
            "type": "number",
            "format": "double"
          },
          "adjusted_p_value": {
            "type": "number",
            "format": "double"
          },
          "ci_high": {
            "type": "number",
            "format": "double"
          },
          "ci_low": {
            "type": "number",
            "format": "double"
          },
          "converted": {
            "type": "integer",
            "format": "int32"
          },
          "exposed": {
            "type": "integer",
            "format": "int32"
          },
          "p_value": {
            "type": "number",
            "format": "double"
          },
          "probability_to_beat_control": {
            "type": "number",
            "format": "double"
          },
          "rate": {
            "type": "number",
            "format": "double"
          },
          "relative_lift": {
            "type": "number",
            "format": "double"
          },
          "resolved": {
            "type": "integer",
            "format": "int32"
          },
          "resolved_converted": {
            "type": "integer",
            "format": "int32"
          },
          "significant": {
            "type": "boolean"
          },
          "variant_id": {
            "type": "string"
          }
        },
        "required": [
          "abs_ci_high",
          "abs_ci_low",
          "absolute_lift",
          "adjusted_p_value",
          "ci_high",
          "ci_low",
          "converted",
          "exposed",
          "p_value",
          "probability_to_beat_control",
          "rate",
          "relative_lift",
          "resolved",
          "resolved_converted",
          "significant",
          "variant_id"
        ]
      },
      "services_domains_exports_Options": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "action_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "all_deliveries": {
            "type": "boolean",
            "nullable": true
          },
          "api_filters": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "attribute": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "audit_log_end_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "audit_log_object_type": {
            "type": "string",
            "nullable": true
          },
          "audit_log_scope": {
            "type": "string",
            "nullable": true
          },
          "audit_log_start_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_journey_state": {
            "type": "string",
            "nullable": true
          },
          "case-sensitive": {
            "type": "boolean",
            "nullable": true
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "consent_end_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "consent_start_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "data_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "delivery_type": {
            "type": "string",
            "nullable": true
          },
          "drafts": {
            "type": "boolean",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "exported_from": {
            "type": "string",
            "nullable": true
          },
          "externals": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            },
            "nullable": true
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            },
            "nullable": true
          },
          "form_id": {
            "type": "string",
            "nullable": true
          },
          "format": {
            "type": "string",
            "nullable": true
          },
          "geoset_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "internals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_core_ids_Internal"
            },
            "nullable": true
          },
          "metric": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "newsletter_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "object_internal": {
            "$ref": "#/components/schemas/services_core_ids_ObjectInternal"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "object_type_name": {
            "type": "string",
            "nullable": true
          },
          "period": {
            "type": "string",
            "nullable": true
          },
          "relationship_object_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          },
          "report_id": {
            "type": "string",
            "nullable": true
          },
          "resolution": {
            "type": "string",
            "nullable": true
          },
          "segment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "start": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "started_after": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "steps": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "trigger": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "object_internal",
          "type"
        ]
      },
      "services_domains_gates_Feature": {
        "type": "object",
        "properties": {
          "days": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "is_cancelled": {
            "type": "boolean",
            "nullable": true
          },
          "is_suspended": {
            "type": "boolean",
            "nullable": true
          },
          "is_trial": {
            "type": "boolean",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "start_at": {
            "$ref": "#/components/schemas/Time",
            "nullable": true
          }
        }
      },
      "services_domains_in_app_InAppRouteRule": {
        "type": "object",
        "properties": {
          "Rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_in_app_InAppRouteRuleValue"
            }
          }
        },
        "required": [
          "Rules"
        ]
      },
      "services_domains_in_app_InAppRouteRuleValue": {
        "type": "object",
        "properties": {
          "operator": {
            "type": "string",
            "description": "How the rule matches a route. \"contains\" matches the value anywhere in the route; \"equals\" matches the whole route exactly.",
            "enum": [
              "contains",
              "equals"
            ]
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "operator",
          "order",
          "value"
        ]
      },
      "services_domains_mailgun_Suppression": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "created",
          "email",
          "reason",
          "status"
        ]
      },
      "services_domains_onboarding_OnboardingAnswers": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "sms",
                "push",
                "in_app",
                "whatsapp",
                "slack",
                "webhooks"
              ]
            },
            "nullable": true
          },
          "goal": {
            "type": "string",
            "description": "Free-text answer to \"What do you want to do with Customer.io?\". Must not be blank or whitespace-only; at most 2000 characters.",
            "nullable": true,
            "minLength": 1,
            "maxLength": 2000
          },
          "is_implementer": {
            "type": "string",
            "enum": [
              "yes",
              "no",
              "unsure"
            ],
            "nullable": true
          },
          "listen_targets": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "website",
                "mobile_app"
              ]
            },
            "nullable": true
          },
          "starting_point": {
            "type": "string",
            "enum": [
              "transactional",
              "broadcasts",
              "workflows",
              "user_segmentation"
            ],
            "nullable": true
          }
        }
      },
      "services_domains_previews_links_LinkInfo": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "text": {
            "type": "string"
          },
          "tracked": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "errors",
          "text",
          "tracked",
          "url"
        ]
      },
      "services_domains_previews_links_LinkStatus": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "status_code": {
            "type": "integer",
            "format": "int32"
          },
          "timeout": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "error",
          "status_code",
          "timeout",
          "url"
        ]
      },
      "services_domains_profile_growth_notifications_Preferences": {
        "type": "object",
        "properties": {
          "alert_at_100": {
            "type": "boolean"
          },
          "alert_at_70": {
            "type": "boolean"
          },
          "alert_at_85": {
            "type": "boolean"
          },
          "alert_at_95": {
            "type": "boolean"
          }
        },
        "required": [
          "alert_at_100",
          "alert_at_70",
          "alert_at_85",
          "alert_at_95"
        ]
      },
      "services_domains_settings_AutoArchiveSettings": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "kinds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "older_than_months": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "enabled",
          "older_than_months"
        ]
      },
      "services_domains_subscription_center_settings_SubscriptionSettings": {
        "type": "object",
        "properties": {
          "background_color": {
            "type": "string"
          },
          "foreground_color": {
            "type": "string"
          },
          "logo_path": {
            "type": "string"
          },
          "logo_source": {
            "type": "string",
            "description": "Where the subscription center takes its logo from. An environment that has never configured a subscription center reads back the empty string; the empty string is not accepted on write.",
            "enum": [
              "",
              "none",
              "custom",
              "account_settings"
            ]
          }
        },
        "required": [
          "background_color",
          "foreground_color",
          "logo_path",
          "logo_source"
        ]
      },
      "services_domains_templates_InAppContentWarning": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "type": "string"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "action_id",
          "reason",
          "template_id"
        ]
      },
      "services_domains_templates_LiquidReference": {
        "type": "object",
        "properties": {
          "expression": {
            "type": "string"
          },
          "field": {
            "type": "string"
          }
        },
        "required": [
          "expression",
          "field"
        ]
      },
      "services_domains_templates_RequestHeader": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_domains_templates_TemplateWarning": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_LiquidReference"
            }
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "action_id",
          "references",
          "template_id"
        ]
      },
      "services_domains_twilio_business_profiles_Address": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "postal_code": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "street2": {
            "type": "string"
          }
        },
        "required": [
          "city",
          "country_code",
          "postal_code",
          "region",
          "street",
          "street2"
        ]
      },
      "services_domains_twilio_business_profiles_BusinessInfo": {
        "type": "object",
        "properties": {
          "business_identity": {
            "type": "string"
          },
          "business_industry": {
            "type": "string"
          },
          "business_type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "registration_id": {
            "type": "string"
          },
          "registration_id_type": {
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        },
        "required": [
          "business_identity",
          "business_industry",
          "business_type",
          "name",
          "regions",
          "registration_id",
          "registration_id_type",
          "website"
        ]
      },
      "services_domains_twilio_business_profiles_ProfileData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_Address"
          },
          "agreed_to_terms": {
            "type": "boolean"
          },
          "business_info": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_BusinessInfo"
          },
          "representative": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_Representative"
          },
          "representative2": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_Representative",
            "nullable": true
          }
        },
        "required": [
          "address",
          "agreed_to_terms",
          "business_info",
          "representative"
        ]
      },
      "services_domains_twilio_business_profiles_Representative": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "job_title": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "notify": {
            "type": "boolean"
          },
          "phone_number": {
            "type": "string"
          },
          "position": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "first_name",
          "job_title",
          "last_name",
          "notify",
          "phone_number",
          "position"
        ]
      },
      "services_domains_twilio_phone_numbers_TwilioPhoneNumber": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "last_error_details": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "twilio_updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "usecase": {
            "type": "string"
          },
          "verification_data": {
            "$ref": "#/components/schemas/services_domains_twilio_phone_numbers_VerificationData",
            "nullable": true
          },
          "verification_submitted_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "id",
          "last_error_details",
          "name",
          "phone_number",
          "status",
          "twilio_updated_at",
          "updated_at",
          "usecase"
        ]
      },
      "services_domains_twilio_phone_numbers_VerificationData": {
        "type": "object",
        "properties": {
          "additionalInformation": {
            "type": "string"
          },
          "doingBusinessAs": {
            "type": "string",
            "nullable": true
          },
          "messageVolume": {
            "type": "string"
          },
          "notificationEmail": {
            "type": "string"
          },
          "optInType": {
            "type": "string"
          },
          "optInUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "productionMessageSample": {
            "type": "string"
          },
          "useCaseCategories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "useCaseSummary": {
            "type": "string"
          }
        },
        "required": [
          "additionalInformation",
          "messageVolume",
          "notificationEmail",
          "optInType",
          "optInUrls",
          "productionMessageSample",
          "useCaseCategories",
          "useCaseSummary"
        ]
      },
      "services_domains_users_CampaignSubscription": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "environment_id"
        ]
      },
      "services_domains_users_SideNavEnvironmentPreferences": {
        "type": "object",
        "properties": {
          "items": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_users_SideNavItemPreferences"
            },
            "nullable": true
          },
          "object_types": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_users_SideNavItemPreferences"
            },
            "nullable": true
          }
        }
      },
      "services_domains_users_SideNavItemPreferences": {
        "type": "object",
        "properties": {
          "visibility": {
            "type": "string"
          }
        },
        "required": [
          "visibility"
        ]
      },
      "services_domains_users_SideNavPreferences": {
        "type": "object",
        "properties": {
          "environments": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_users_SideNavEnvironmentPreferences"
            },
            "nullable": true
          },
          "items": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_users_SideNavItemPreferences"
            },
            "nullable": true
          }
        }
      },
      "services_domains_users_ThemePreferences": {
        "type": "object",
        "properties": {
          "color_scheme": {
            "type": "string"
          }
        },
        "required": [
          "color_scheme"
        ]
      },
      "services_domains_users_UserSubscriptions": {
        "type": "object",
        "properties": {
          "weekly": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_users_CampaignSubscription"
            },
            "nullable": true
          }
        }
      },
      "services_gcs_GCSUploadSignature": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_gist_GistIdentity": {
        "type": "object",
        "properties": {
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cioId": {
            "type": "string"
          }
        },
        "required": [
          "aliases",
          "cioId"
        ]
      },
      "services_gist_GistInAppPayload": {
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "expiry": {
            "type": "string",
            "nullable": true
          },
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity",
            "nullable": true
          },
          "instanceId": {
            "type": "string",
            "nullable": true
          },
          "messageId": {
            "type": "string"
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "properties": {
            "$ref": "#/components/schemas/services_gist_Properties"
          },
          "targeting": {
            "$ref": "#/components/schemas/services_gist_Targeting",
            "nullable": true
          },
          "userToken": {
            "type": "string"
          }
        },
        "required": [
          "endpoint",
          "messageId",
          "priority",
          "properties",
          "userToken"
        ]
      },
      "services_gist_GistRecipient": {
        "type": "object",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity",
            "nullable": true
          },
          "userToken": {
            "type": "string"
          }
        },
        "required": [
          "userToken"
        ]
      },
      "services_gist_InboxMessagePayload": {
        "type": "object",
        "properties": {
          "deliveryId": {
            "type": "string"
          },
          "expiry": {
            "$ref": "#/components/schemas/Time"
          },
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity"
          },
          "message_type": {
            "type": "string"
          },
          "opened": {
            "type": "boolean"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "properties": {
            "type": "object",
            "additionalProperties": {}
          },
          "queueId": {
            "type": "string"
          },
          "sentAt": {
            "$ref": "#/components/schemas/Time"
          },
          "targeting": {
            "$ref": "#/components/schemas/services_gist_Targeting",
            "nullable": true
          },
          "topics": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string"
          },
          "userToken": {
            "type": "string"
          }
        },
        "required": [
          "deliveryId",
          "expiry",
          "identity",
          "message_type",
          "opened",
          "priority",
          "properties",
          "queueId",
          "sentAt",
          "topics",
          "type",
          "userToken"
        ]
      },
      "services_gist_Properties": {
        "type": "object",
        "properties": {
          "Gist": {
            "type": "object",
            "additionalProperties": {}
          },
          "Message": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "Gist",
          "Message"
        ]
      },
      "services_gist_Targeting": {
        "type": "object",
        "properties": {
          "allowFallback": {
            "type": "boolean",
            "nullable": true
          },
          "appIdentifiers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          },
          "platforms": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_libraries_filters_AndNot": {
        "type": "object",
        "properties": {
          "child1": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "child2": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          }
        }
      },
      "services_libraries_filters_Filter": {
        "type": "object",
        "properties": {
          "Newsletter": {
            "$ref": "#/components/schemas/services_libraries_filters_Newsletter",
            "nullable": true
          },
          "NewsletterCreated": {
            "$ref": "#/components/schemas/services_libraries_filters_NewsletterCreated",
            "nullable": true
          },
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_libraries_filters_Filter"
            },
            "nullable": true
          },
          "andNot": {
            "$ref": "#/components/schemas/services_libraries_filters_AndNot",
            "nullable": true
          },
          "attribute": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "formType": {
                "type": "string"
              },
              "inverse": {
                "type": "boolean"
              },
              "operator": {
                "type": "string",
                "description": "Comparison operator. Marshalled as one of \"eq\", \"exists\", \"contains\", \"gt\", \"lt\", \"bw\", \"timestamp\", \"timestamp_gt\", \"timestamp_lt\", \"timestamp_gta\", \"timestamp_lta\", \"timestamp_bw\", \"email_valid\", \"contained_in_array\", \"one_of\", or \"unknown\". Parsing additionally accepts \"==\", \"=\", \"=~\", \"\u003e\" and \"\u003c\"."
              },
              "value": {
                "type": "string"
              },
              "value2": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "operator"
            ],
            "nullable": true
          },
          "collection": {
            "$ref": "#/components/schemas/services_core_MapFilter",
            "nullable": true
          },
          "device_attribute": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "formType": {
                "type": "string"
              },
              "inverse": {
                "type": "boolean"
              },
              "operator": {
                "type": "string",
                "description": "Comparison operator. Marshalled as one of \"eq\", \"exists\", \"contains\", \"gt\", \"lt\", \"bw\", \"timestamp\", \"timestamp_gt\", \"timestamp_lt\", \"timestamp_gta\", \"timestamp_lta\", \"timestamp_bw\", \"email_valid\", \"contained_in_array\", \"one_of\", or \"unknown\". Parsing additionally accepts \"==\", \"=\", \"=~\", \"\u003e\" and \"\u003c\"."
              },
              "value": {
                "type": "string"
              },
              "value2": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "operator"
            ],
            "nullable": true
          },
          "event": {
            "$ref": "#/components/schemas/services_core_EventFilter",
            "nullable": true
          },
          "event_name": {
            "type": "object",
            "properties": {
              "etype": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "etype",
              "name"
            ],
            "nullable": true
          },
          "foreign_event": {
            "$ref": "#/components/schemas/services_core_MapFilter",
            "nullable": true
          },
          "map": {
            "$ref": "#/components/schemas/services_core_MapFilter",
            "nullable": true
          },
          "named_bitmap": {
            "$ref": "#/components/schemas/services_libraries_filters_NamedBitmap",
            "nullable": true
          },
          "newsletter_recipients": {
            "$ref": "#/components/schemas/services_libraries_filters_NewsletterRecipients",
            "nullable": true
          },
          "not": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "object_attribute": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "inverse": {
                "type": "boolean"
              },
              "operator": {
                "type": "string",
                "description": "Comparison operator. Marshalled as one of \"eq\", \"exists\", \"contains\", \"gt\", \"lt\", \"bw\", \"timestamp\", \"timestamp_gt\", \"timestamp_lt\", \"timestamp_gta\", \"timestamp_lta\", \"timestamp_bw\", \"email_valid\", \"contained_in_array\", \"one_of\", or \"unknown\". Parsing additionally accepts \"==\", \"=\", \"=~\", \"\u003e\" and \"\u003c\"."
              },
              "type_id": {
                "type": "integer",
                "format": "int32"
              },
              "value": {
                "type": "string"
              },
              "value2": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "operator",
              "type_id"
            ],
            "nullable": true
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_libraries_filters_Filter"
            },
            "nullable": true
          },
          "related": {
            "$ref": "#/components/schemas/services_libraries_filters_RelatedObjRelFilter",
            "nullable": true
          },
          "relationship_attribute": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "inverse": {
                "type": "boolean"
              },
              "operator": {
                "type": "string",
                "description": "Comparison operator. Marshalled as one of \"eq\", \"exists\", \"contains\", \"gt\", \"lt\", \"bw\", \"timestamp\", \"timestamp_gt\", \"timestamp_lt\", \"timestamp_gta\", \"timestamp_lta\", \"timestamp_bw\", \"email_valid\", \"contained_in_array\", \"one_of\", or \"unknown\". Parsing additionally accepts \"==\", \"=\", \"=~\", \"\u003e\" and \"\u003c\"."
              },
              "type_id": {
                "type": "integer",
                "format": "int32"
              },
              "value": {
                "type": "string"
              },
              "value2": {
                "type": "string"
              }
            },
            "required": [
              "field",
              "operator",
              "type_id"
            ],
            "nullable": true
          },
          "seg_attr": {
            "$ref": "#/components/schemas/services_libraries_filters_SegAttr",
            "nullable": true
          },
          "segment": {
            "$ref": "#/components/schemas/services_libraries_filters_Segment",
            "nullable": true
          },
          "sto_newsletter_sto_hourly_recipients": {
            "$ref": "#/components/schemas/services_libraries_filters_NewsletterStoHourlyRecipients",
            "nullable": true
          }
        }
      },
      "services_libraries_filters_NamedBitmap": {
        "type": "object",
        "properties": {
          "inverse": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string",
            "format": "byte"
          },
          "type": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "services_libraries_filters_Newsletter": {
        "type": "object",
        "properties": {
          "inverse": {
            "type": "boolean",
            "nullable": true
          },
          "newsletterID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "newsletterID"
        ]
      },
      "services_libraries_filters_NewsletterCreated": {
        "type": "object",
        "properties": {
          "inverse": {
            "type": "boolean",
            "nullable": true
          },
          "newsletterID": {
            "type": "integer",
            "format": "int32"
          },
          "templateID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "newsletterID",
          "templateID"
        ]
      },
      "services_libraries_filters_NewsletterRecipients": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "inverse": {
            "type": "boolean",
            "nullable": true
          },
          "templateID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id",
          "templateID"
        ]
      },
      "services_libraries_filters_NewsletterStoHourlyRecipients": {
        "type": "object",
        "properties": {
          "hour": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "inverse": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "hour",
          "id"
        ]
      },
      "services_libraries_filters_RelatedObjRelFilter": {
        "type": "object",
        "properties": {
          "and": {
            "type": "boolean"
          },
          "inverse": {
            "type": "boolean"
          },
          "object_source": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "person_source": {
            "type": "string"
          },
          "refinement": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          }
        },
        "required": [
          "and",
          "inverse",
          "object_source",
          "object_type_id",
          "person_source"
        ]
      },
      "services_libraries_filters_SegAttr": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "segment_id"
        ]
      },
      "services_libraries_filters_Segment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "inverse": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "id"
        ]
      },
      "services_s3_UploadSignature": {
        "type": "object",
        "properties": {
          "acl": {
            "type": "string",
            "nullable": true
          },
          "awsaccesskeyid": {
            "type": "string",
            "nullable": true
          },
          "bucket": {
            "type": "string",
            "nullable": true
          },
          "expires": {
            "type": "string",
            "nullable": true
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "policy": {
            "type": "string",
            "nullable": true
          },
          "signature": {
            "type": "string",
            "nullable": true
          },
          "success_action_status": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_sms_twilio_TollFreeNumber": {
        "type": "object",
        "properties": {
          "friendly_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          }
        },
        "required": [
          "friendly_name",
          "id",
          "phone_number"
        ]
      },
      "services_ui_api_accounts_AccountUpdateInput": {
        "type": "object",
        "properties": {
          "address_line1": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "address_line2": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "city": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "country": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "email": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "enable_troubleshooting_cookies": {
            "type": "boolean",
            "nullable": true
          },
          "invoice_email": {
            "type": "string",
            "nullable": true,
            "maxLength": 191
          },
          "legal_email": {
            "type": "string",
            "nullable": true,
            "maxLength": 191
          },
          "logo_url": {
            "type": "string",
            "nullable": true,
            "maxLength": 191
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          },
          "technical_email": {
            "type": "string",
            "nullable": true,
            "maxLength": 191
          },
          "zip_code": {
            "type": "string",
            "nullable": true,
            "maxLength": 255
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_accounts_SessionDurationRequest": {
        "type": "object",
        "properties": {
          "session_duration": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "session_duration"
        ]
      },
      "services_ui_api_accounts_SignLogoRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "size",
          "type"
        ]
      },
      "services_ui_api_accounts_StartupPartnerItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "services_ui_api_accounts_StartupPartnersResponse": {
        "type": "object",
        "properties": {
          "partners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_StartupPartnerItem"
            }
          }
        },
        "required": [
          "partners"
        ]
      },
      "services_ui_api_accounts_ToggleFeatureFlagRequest": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "flag": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "flag"
        ]
      },
      "services_ui_api_accounts_TokenResponse": {
        "type": "object",
        "properties": {
          "scim_token": {
            "$ref": "#/components/schemas/services_ui_api_model_SCIMToken",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_UpdateAccountRequest": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/services_ui_api_accounts_AccountUpdateInput"
          }
        },
        "required": [
          "account"
        ]
      },
      "services_ui_api_accounts_UpdateAddressRequest": {
        "type": "object",
        "properties": {
          "address_line1": {
            "type": "string",
            "maxLength": 255
          },
          "address_line2": {
            "type": "string",
            "maxLength": 255
          },
          "city": {
            "type": "string",
            "maxLength": 255
          },
          "country": {
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "type": "string",
            "maxLength": 255
          },
          "zip_code": {
            "type": "string",
            "maxLength": 255
          }
        },
        "required": [
          "address_line1",
          "address_line2",
          "city",
          "country",
          "state",
          "zip_code"
        ]
      },
      "services_ui_api_accounts_UpdatePublicSettingsRequest": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_settings_PublicSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_accounts_UpdateRdAccessRequest": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "rd_access_granted_on": {
                "type": "integer",
                "format": "int64"
              }
            },
            "required": [
              "rd_access_granted_on"
            ]
          }
        },
        "required": [
          "account"
        ]
      },
      "services_ui_api_accounts_UpdateSuccessAccessRequest": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "cs_access_granted_until": {
                "type": "integer",
                "format": "int64"
              }
            },
            "required": [
              "cs_access_granted_until"
            ]
          }
        },
        "required": [
          "account"
        ]
      },
      "services_ui_api_accounts_UpdateSupportAccessRequest": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "access_granted_until": {
                "type": "integer",
                "format": "int64"
              }
            },
            "required": [
              "access_granted_until"
            ]
          }
        },
        "required": [
          "account"
        ]
      },
      "services_ui_api_accounts_ValidateAddressRequest": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zipCode": {
            "type": "string"
          }
        },
        "required": [
          "addressLine1",
          "addressLine2",
          "city",
          "country",
          "state",
          "zipCode"
        ]
      },
      "services_ui_api_accounts_VerifyRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "technicalContact": {
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "technicalContact",
          "website"
        ]
      },
      "services_ui_api_accounts_accountPublicSettingsResponse": {
        "type": "object",
        "properties": {
          "public_settings": {
            "$ref": "#/components/schemas/services_domains_accounts_PublicSettings"
          }
        },
        "required": [
          "public_settings"
        ]
      },
      "services_ui_api_accounts_accountPublicSettingsUpdateRequest": {
        "type": "object",
        "properties": {
          "public_settings": {
            "$ref": "#/components/schemas/services_ui_api_accounts_publicSettingsPatch"
          }
        },
        "required": [
          "public_settings"
        ]
      },
      "services_ui_api_accounts_accountResponse": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/services_ui_api_model_Account",
            "nullable": true
          },
          "environments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_EnvironmentDesc"
            }
          },
          "session_expires_at": {
            "type": "integer",
            "format": "int32"
          },
          "user": {
            "$ref": "#/components/schemas/services_ui_api_model_User",
            "nullable": true
          }
        },
        "required": [
          "environments",
          "session_expires_at"
        ]
      },
      "services_ui_api_accounts_activateProductRequest": {
        "type": "object",
        "properties": {
          "product": {
            "type": "string"
          }
        },
        "required": [
          "product"
        ]
      },
      "services_ui_api_accounts_activateProductResponse": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/services_ui_api_model_Account",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_builderCreditsResponse": {
        "type": "object",
        "properties": {
          "grants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_account_credit_grants_CreditGrant"
            }
          }
        },
        "required": [
          "grants"
        ]
      },
      "services_ui_api_accounts_emailSetupStatusResponse": {
        "type": "object",
        "properties": {
          "has_from_address": {
            "type": "boolean"
          },
          "has_verified_sending_domain": {
            "type": "boolean"
          }
        },
        "required": [
          "has_from_address",
          "has_verified_sending_domain"
        ]
      },
      "services_ui_api_accounts_enableProductTrialRequest": {
        "type": "object",
        "properties": {
          "product": {
            "type": "string"
          }
        },
        "required": [
          "product"
        ]
      },
      "services_ui_api_accounts_environmentUsage": {
        "type": "object",
        "properties": {
          "billable_messages_sent": {
            "type": "integer",
            "format": "int32"
          },
          "billed": {
            "type": "boolean"
          },
          "customers_churn": {
            "type": "integer",
            "format": "int32"
          },
          "customers_total": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "messages_sent": {
            "type": "integer",
            "format": "int32"
          },
          "object_types_allotted": {
            "type": "integer",
            "format": "int32"
          },
          "object_types_total": {
            "type": "integer",
            "format": "int32"
          },
          "objects_billing": {
            "type": "boolean"
          },
          "objects_churn": {
            "type": "integer",
            "format": "int32"
          },
          "objects_total": {
            "type": "integer",
            "format": "int32"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "billable_messages_sent",
          "billed",
          "customers_churn",
          "customers_total",
          "environment_id",
          "messages_sent",
          "object_types_allotted",
          "object_types_total",
          "objects_billing",
          "objects_churn",
          "objects_total",
          "updated_at"
        ]
      },
      "services_ui_api_accounts_geminiSafetySettingsResponse": {
        "type": "object",
        "properties": {
          "gemini_safety_settings": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "gemini_safety_settings"
        ]
      },
      "services_ui_api_accounts_geminiSafetySettingsUpdateRequest": {
        "type": "object",
        "properties": {
          "gemini_safety_settings": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "gemini_safety_settings"
        ]
      },
      "services_ui_api_accounts_indexEnvironmentsResponse": {
        "type": "object",
        "properties": {
          "environments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_EnvironmentDesc"
            }
          }
        },
        "required": [
          "environments"
        ]
      },
      "services_ui_api_accounts_llmCreditsResponse": {
        "type": "object",
        "properties": {
          "grants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_account_credit_grants_CreditGrant"
            }
          }
        },
        "required": [
          "grants"
        ]
      },
      "services_ui_api_accounts_llmUsageEvent": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "action_name": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_name": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "string"
          },
          "credits_applied": {
            "type": "number",
            "format": "double"
          },
          "credits_used": {
            "type": "number",
            "format": "double"
          },
          "input_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "is_byok": {
            "type": "boolean"
          },
          "model_name": {
            "type": "string"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "source_type": {
            "type": "string"
          },
          "total_tokens": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created_at",
          "credits_applied",
          "credits_used",
          "input_tokens",
          "is_byok",
          "model_name",
          "output_tokens",
          "source_type",
          "total_tokens"
        ]
      },
      "services_ui_api_accounts_llmUsageEventsResponse": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_llmUsageEvent"
            }
          },
          "next_cursor": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "events"
        ]
      },
      "services_ui_api_accounts_llmUsageGroup": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "action_name": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_name": {
            "type": "string",
            "nullable": true
          },
          "credits_applied": {
            "type": "number",
            "format": "double"
          },
          "credits_used": {
            "type": "number",
            "format": "double"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "environment_name": {
            "type": "string"
          },
          "event_count": {
            "type": "integer",
            "format": "int64"
          },
          "input_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "is_byok": {
            "type": "boolean"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "source_type": {
            "type": "string"
          },
          "total_tokens": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "credits_applied",
          "credits_used",
          "environment_id",
          "environment_name",
          "event_count",
          "input_tokens",
          "is_byok",
          "output_tokens",
          "source_type",
          "total_tokens"
        ]
      },
      "services_ui_api_accounts_llmUsageResponse": {
        "type": "object",
        "properties": {
          "end": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_llmUsageGroup"
            },
            "nullable": true
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_llmUsageSeriesPoint"
            }
          },
          "start": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/services_ui_api_accounts_llmUsageTotals"
          }
        },
        "required": [
          "end",
          "granularity",
          "series",
          "start",
          "totals"
        ]
      },
      "services_ui_api_accounts_llmUsageSeriesPoint": {
        "type": "object",
        "properties": {
          "credits_applied": {
            "type": "number",
            "format": "double"
          },
          "credits_used": {
            "type": "number",
            "format": "double"
          },
          "event_count": {
            "type": "integer",
            "format": "int64"
          },
          "input_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "period": {
            "type": "string"
          },
          "total_tokens": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "credits_applied",
          "credits_used",
          "event_count",
          "input_tokens",
          "output_tokens",
          "period",
          "total_tokens"
        ]
      },
      "services_ui_api_accounts_llmUsageTotals": {
        "type": "object",
        "properties": {
          "credits_applied": {
            "type": "number",
            "format": "double"
          },
          "credits_used": {
            "type": "number",
            "format": "double"
          },
          "event_count": {
            "type": "integer",
            "format": "int64"
          },
          "input_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "total_tokens": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "credits_applied",
          "credits_used",
          "event_count",
          "input_tokens",
          "output_tokens",
          "total_tokens"
        ]
      },
      "services_ui_api_accounts_promoteSandboxTokenResponse": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "hint": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "hint",
          "id",
          "name",
          "token"
        ]
      },
      "services_ui_api_accounts_publicFeatureFlagsRequest": {
        "type": "object",
        "properties": {
          "anonymous_id": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "anonymous_id"
        ]
      },
      "services_ui_api_accounts_publicFeatureFlagsResponse": {
        "type": "object",
        "properties": {
          "feature_flags": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          }
        },
        "required": [
          "feature_flags"
        ]
      },
      "services_ui_api_accounts_publicSettingsPatch": {
        "type": "object",
        "properties": {
          "ai_enabled": {
            "type": "boolean",
            "nullable": true
          },
          "consent_records": {
            "type": "boolean",
            "nullable": true
          },
          "slack_allow_live_data_edits": {
            "type": "boolean",
            "nullable": true
          },
          "slack_read_only": {
            "type": "boolean",
            "nullable": true
          },
          "use_global_ai_endpoint": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_publicSettingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_settings_PublicSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_accounts_sampleAccountInfo": {
        "type": "object",
        "properties": {
          "environment_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "environment_ids",
          "id"
        ]
      },
      "services_ui_api_accounts_sampleAccountsResponse": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_sampleAccountInfo"
            }
          }
        },
        "required": [
          "accounts"
        ]
      },
      "services_ui_api_accounts_scimConfigurationRequest": {
        "type": "object",
        "properties": {
          "scim_configuration": {
            "type": "object",
            "properties": {
              "default_role_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "default_workspace_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              }
            }
          }
        },
        "required": [
          "scim_configuration"
        ]
      },
      "services_ui_api_accounts_scimConfigurationResponse": {
        "type": "object",
        "properties": {
          "scim_configuration": {
            "$ref": "#/components/schemas/services_ui_api_model_SCIMConfiguration",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_setupSSOConfigurationRequest": {
        "type": "object",
        "properties": {
          "sso_configuration": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "identity_provider": {
                "type": "string"
              },
              "oidc_access_code": {
                "type": "string"
              },
              "oidc_client_id": {
                "type": "string"
              },
              "oidc_client_secret": {
                "type": "string"
              },
              "oidc_issuer_url": {
                "type": "string"
              },
              "oidc_tenant_id": {
                "type": "string"
              },
              "redirect_uri": {
                "type": "string"
              },
              "saml_idp_metadata_url": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "identity_provider",
              "oidc_access_code",
              "oidc_client_id",
              "oidc_client_secret",
              "oidc_issuer_url",
              "oidc_tenant_id",
              "redirect_uri",
              "saml_idp_metadata_url"
            ]
          }
        },
        "required": [
          "sso_configuration"
        ]
      },
      "services_ui_api_accounts_signLogoResponse": {
        "type": "object",
        "properties": {
          "gcs": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          },
          "s3": {
            "$ref": "#/components/schemas/services_s3_UploadSignature",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_signupAgentCompleteRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "company_name": {
            "type": "string"
          },
          "data_center": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "utc_offset_minutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "code",
          "company_name",
          "data_center",
          "email",
          "first_name",
          "last_name"
        ]
      },
      "services_ui_api_accounts_signupAgentCompleteResponse": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "data_center": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "token": {
            "type": "string"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "account_id",
          "data_center",
          "environment_id",
          "token",
          "user_id"
        ]
      },
      "services_ui_api_accounts_signupAgentStartRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ]
      },
      "services_ui_api_accounts_signupAgentStartResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "services_ui_api_accounts_slackAgentIdentityResponse": {
        "type": "object",
        "properties": {
          "avatar_url": {
            "type": "string"
          },
          "linked": {
            "type": "boolean"
          },
          "slack_email": {
            "type": "string"
          },
          "slack_user_id": {
            "type": "string"
          },
          "team_name": {
            "type": "string"
          }
        },
        "required": [
          "avatar_url",
          "linked",
          "slack_email",
          "slack_user_id",
          "team_name"
        ]
      },
      "services_ui_api_accounts_slackAgentLinkRequest": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string"
          }
        },
        "required": [
          "state"
        ]
      },
      "services_ui_api_accounts_slackAgentLinkResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "team_name": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "team_name"
        ]
      },
      "services_ui_api_accounts_slackAgentLinkStateResponse": {
        "type": "object",
        "properties": {
          "already_linked": {
            "type": "boolean"
          },
          "avatar_url": {
            "type": "string"
          },
          "email_match": {
            "type": "boolean"
          },
          "slack_email": {
            "type": "string"
          },
          "slack_user_id": {
            "type": "string"
          },
          "team_name": {
            "type": "string"
          }
        },
        "required": [
          "already_linked",
          "avatar_url",
          "email_match",
          "slack_email",
          "slack_user_id",
          "team_name"
        ]
      },
      "services_ui_api_accounts_slackAgentStatusResponse": {
        "type": "object",
        "properties": {
          "connected": {
            "type": "boolean"
          },
          "team_name": {
            "type": "string"
          },
          "workspace_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "connected",
          "team_name",
          "workspace_ids"
        ]
      },
      "services_ui_api_accounts_slackAgentWorkspace": {
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "string"
          },
          "granted": {
            "type": "boolean"
          }
        },
        "required": [
          "environment_id",
          "granted"
        ]
      },
      "services_ui_api_accounts_slackAgentWorkspacesResponse": {
        "type": "object",
        "properties": {
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_slackAgentWorkspace"
            }
          }
        },
        "required": [
          "workspaces"
        ]
      },
      "services_ui_api_accounts_slackAgentWorkspacesUpdateRequest": {
        "type": "object",
        "properties": {
          "environment_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "environment_ids"
        ]
      },
      "services_ui_api_accounts_ssoConfigurationResponse": {
        "type": "object",
        "properties": {
          "sso_configuration": {
            "$ref": "#/components/schemas/services_ui_api_model_SSOConfiguration",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_startupApplicationRequest": {
        "type": "object",
        "properties": {
          "business_description": {
            "type": "string"
          },
          "cio_anonymous_id": {
            "type": "string",
            "nullable": true
          },
          "company_location": {
            "type": "string"
          },
          "company_name": {
            "type": "string"
          },
          "company_size": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "funding_level": {
            "type": "string"
          },
          "ga_client_id": {
            "type": "string",
            "nullable": true
          },
          "heard_about_us": {
            "type": "string"
          },
          "incubator_partner": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "referral_id": {
            "type": "string"
          },
          "referrer": {
            "type": "string",
            "nullable": true
          },
          "signup_type": {
            "type": "string"
          },
          "url_params": {
            "type": "string",
            "nullable": true
          },
          "website_url": {
            "type": "string"
          }
        },
        "required": [
          "business_description",
          "company_location",
          "company_name",
          "company_size",
          "email",
          "first_name",
          "funding_level",
          "heard_about_us",
          "incubator_partner",
          "last_name",
          "phone",
          "referral_id",
          "signup_type",
          "website_url"
        ]
      },
      "services_ui_api_accounts_startupSignupRequest": {
        "type": "object",
        "properties": {
          "business_description": {
            "type": "string"
          },
          "cio_anonymous_id": {
            "type": "string",
            "nullable": true
          },
          "company_location": {
            "type": "string"
          },
          "company_size": {
            "type": "string"
          },
          "funding_level": {
            "type": "string"
          },
          "ga_client_id": {
            "type": "string",
            "nullable": true
          },
          "heard_about_us": {
            "type": "string"
          },
          "incubator_partner": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "referral_id": {
            "type": "string"
          },
          "referrer": {
            "type": "string",
            "nullable": true
          },
          "signup_type": {
            "type": "string"
          },
          "url_params": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "business_description",
          "company_location",
          "company_size",
          "funding_level",
          "heard_about_us",
          "incubator_partner",
          "phone",
          "referral_id",
          "signup_type"
        ]
      },
      "services_ui_api_accounts_startupSignupResponse": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "startup": {
            "$ref": "#/components/schemas/services_domains_accounts_StartupSignupFields"
          }
        },
        "required": [
          "account_id",
          "startup"
        ]
      },
      "services_ui_api_accounts_updateAccountResponse": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/services_ui_api_model_Account",
            "nullable": true
          }
        }
      },
      "services_ui_api_accounts_usageInfo": {
        "type": "object",
        "properties": {
          "billable_messages_sent": {
            "type": "integer",
            "format": "int32"
          },
          "builder_credit_cost_per_message": {
            "type": "number",
            "format": "double"
          },
          "builder_credits_remaining": {
            "type": "number",
            "format": "double"
          },
          "builder_credits_total": {
            "type": "number",
            "format": "double"
          },
          "cdp_api_after_tier_rate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "cdp_api_calls": {
            "type": "integer",
            "format": "int32"
          },
          "cdp_api_calls_allotted": {
            "type": "integer",
            "format": "int32"
          },
          "cdp_api_current_tier_rate": {
            "type": "number",
            "format": "double"
          },
          "cdp_api_tiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_billing_CumulativeTier"
            },
            "nullable": true
          },
          "collections": {
            "$ref": "#/components/schemas/services_ui_api_accounts_usageInfoItem"
          },
          "customers_allotted": {
            "type": "integer",
            "format": "int32"
          },
          "customers_total": {
            "type": "integer",
            "format": "int32"
          },
          "environment_usages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_accounts_environmentUsage"
            }
          },
          "environments": {
            "$ref": "#/components/schemas/services_ui_api_accounts_usageInfoItem"
          },
          "high_watermark_customers_total": {
            "type": "integer",
            "format": "int32"
          },
          "high_watermark_objects_total": {
            "type": "integer",
            "format": "int32"
          },
          "includes_all_envs": {
            "type": "boolean"
          },
          "messages_allotted": {
            "type": "integer",
            "format": "int32"
          },
          "messages_sent": {
            "type": "integer",
            "format": "int32"
          },
          "monthly_active_users": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "monthly_active_users_usages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_billing_MAUUsage"
            },
            "nullable": true
          },
          "monthly_active_users_v2": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "objects_allotted": {
            "type": "integer",
            "format": "int32"
          },
          "objects_total": {
            "type": "integer",
            "format": "int32"
          },
          "prepaid_credit_cost_per_message": {
            "type": "number",
            "format": "double"
          },
          "prepaid_credits_remaining": {
            "type": "number",
            "format": "double"
          },
          "prepaid_credits_total": {
            "type": "number",
            "format": "double"
          },
          "users": {
            "$ref": "#/components/schemas/services_ui_api_accounts_usageInfoItem"
          },
          "warehouse_syncs": {
            "$ref": "#/components/schemas/services_ui_api_accounts_usageInfoItem"
          }
        },
        "required": [
          "billable_messages_sent",
          "builder_credit_cost_per_message",
          "builder_credits_remaining",
          "builder_credits_total",
          "cdp_api_calls",
          "cdp_api_calls_allotted",
          "cdp_api_current_tier_rate",
          "collections",
          "customers_allotted",
          "customers_total",
          "environment_usages",
          "environments",
          "high_watermark_customers_total",
          "high_watermark_objects_total",
          "includes_all_envs",
          "messages_allotted",
          "messages_sent",
          "objects_allotted",
          "objects_total",
          "prepaid_credit_cost_per_message",
          "prepaid_credits_remaining",
          "prepaid_credits_total",
          "users",
          "warehouse_syncs"
        ]
      },
      "services_ui_api_accounts_usageInfoItem": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "total"
        ]
      },
      "services_ui_api_accounts_usageInfoResponse": {
        "type": "object",
        "properties": {
          "account_usage": {
            "$ref": "#/components/schemas/services_ui_api_accounts_usageInfo"
          }
        },
        "required": [
          "account_usage"
        ]
      },
      "services_ui_api_analytics_goals_DateCount": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "format": "double"
          },
          "date": {
            "type": "string"
          }
        },
        "required": [
          "count",
          "date"
        ]
      },
      "services_ui_api_analytics_goals_createRequest": {
        "type": "object",
        "properties": {
          "goal": {
            "$ref": "#/components/schemas/services_ui_api_analytics_goals_goal"
          }
        },
        "required": [
          "goal"
        ]
      },
      "services_ui_api_analytics_goals_createResponse": {
        "type": "object",
        "properties": {
          "goal": {
            "$ref": "#/components/schemas/services_ui_api_analytics_goals_goal",
            "nullable": true
          }
        }
      },
      "services_ui_api_analytics_goals_funnelRefreshResponse": {
        "type": "object",
        "properties": {
          "funnel_refresh": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_funnelRefreshRow"
            }
          }
        },
        "required": [
          "funnel_refresh"
        ]
      },
      "services_ui_api_analytics_goals_funnelRefreshRow": {
        "type": "object",
        "properties": {
          "conversion_rate": {
            "type": "number",
            "format": "double"
          },
          "date": {
            "type": "string"
          },
          "funnels_completed": {
            "type": "integer",
            "format": "int32"
          },
          "funnels_started": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "conversion_rate",
          "date",
          "funnels_completed",
          "funnels_started"
        ]
      },
      "services_ui_api_analytics_goals_getResponse": {
        "type": "object",
        "properties": {
          "goal": {
            "$ref": "#/components/schemas/services_ui_api_analytics_goals_goal",
            "nullable": true
          }
        }
      },
      "services_ui_api_analytics_goals_goal": {
        "type": "object",
        "properties": {
          "attached_campaigns": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attached_newsletters": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attached_transactional_messages": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribution_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "attribution_window": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_by": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "first_source_attached_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "funnel_start_event": {
            "type": "string"
          },
          "funnel_start_event_filter": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "funnel_start_event_type": {
            "type": "integer",
            "format": "int32"
          },
          "funnel_time_window_seconds": {
            "type": "integer",
            "format": "int32"
          },
          "goal_event": {
            "type": "string"
          },
          "goal_event_filter": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "goal_event_type": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "value_attribute": {
            "type": "string",
            "nullable": true
          },
          "value_type": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attribution_window",
          "created_at",
          "description",
          "funnel_start_event",
          "funnel_start_event_type",
          "funnel_time_window_seconds",
          "goal_event",
          "goal_event_type",
          "id",
          "name",
          "source",
          "tag_ids",
          "updated_at",
          "value_type",
          "version"
        ]
      },
      "services_ui_api_analytics_goals_goalListItem": {
        "type": "object",
        "properties": {
          "attached_campaigns": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attached_newsletters": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attached_transactional_messages": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribution_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "attribution_window": {
            "type": "integer",
            "format": "int32"
          },
          "conversions_last_30_days": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_by": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "first_source_attached_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "funnel_start_event": {
            "type": "string"
          },
          "funnel_start_event_filter": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "funnel_start_event_type": {
            "type": "integer",
            "format": "int32"
          },
          "funnel_time_window_seconds": {
            "type": "integer",
            "format": "int32"
          },
          "goal_event": {
            "type": "string"
          },
          "goal_event_filter": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "goal_event_type": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_goalSource"
            },
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "tracking_enabled": {
            "type": "boolean",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "value_attribute": {
            "type": "string",
            "nullable": true
          },
          "value_type": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attribution_window",
          "created_at",
          "description",
          "funnel_start_event",
          "funnel_start_event_type",
          "funnel_time_window_seconds",
          "goal_event",
          "goal_event_type",
          "id",
          "name",
          "source",
          "tag_ids",
          "updated_at",
          "value_type",
          "version"
        ]
      },
      "services_ui_api_analytics_goals_goalRefreshResponse": {
        "type": "object",
        "properties": {
          "as_of_day": {
            "type": "string"
          },
          "chart_monthly": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_goalRefreshRow"
            }
          },
          "chart_weekly": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_goalRefreshRow"
            }
          },
          "computed_at": {
            "type": "integer",
            "format": "int64"
          },
          "goal_refresh": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_goalRefreshRow"
            }
          },
          "range_end_unix": {
            "type": "integer",
            "format": "int64"
          },
          "range_kind": {
            "type": "string"
          },
          "range_start_unix": {
            "type": "integer",
            "format": "int64"
          },
          "refresh_in_progress": {
            "type": "boolean"
          },
          "total_attributed_goal_count": {
            "type": "integer",
            "format": "int32"
          },
          "total_goal_count": {
            "type": "integer",
            "format": "int32"
          },
          "total_unattributed_goal_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "as_of_day",
          "chart_monthly",
          "chart_weekly",
          "computed_at",
          "goal_refresh",
          "range_end_unix",
          "range_kind",
          "range_start_unix",
          "refresh_in_progress",
          "total_attributed_goal_count",
          "total_goal_count",
          "total_unattributed_goal_count"
        ]
      },
      "services_ui_api_analytics_goals_goalRefreshRow": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "attribution_total_goal_count": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "date": {
            "type": "string"
          },
          "event_count": {
            "type": "integer",
            "format": "int32"
          },
          "goal_count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "parent_attribution_total_goal_count": {
            "type": "integer",
            "format": "int32"
          },
          "revenue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "attribution_total_goal_count",
          "date",
          "event_count",
          "goal_count",
          "parent_attribution_total_goal_count"
        ]
      },
      "services_ui_api_analytics_goals_goalSource": {
        "type": "object",
        "properties": {
          "conversion_action": {
            "type": "string"
          },
          "conversion_enabled": {
            "type": "boolean"
          },
          "conversion_window_seconds": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "conversion_action",
          "conversion_enabled",
          "conversion_window_seconds",
          "id",
          "name",
          "type"
        ]
      },
      "services_ui_api_analytics_goals_indexMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_analytics_goals_pagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_analytics_goals_indexResponse": {
        "type": "object",
        "properties": {
          "goals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_goalListItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_analytics_goals_indexMeta",
            "nullable": true
          }
        },
        "required": [
          "goals"
        ]
      },
      "services_ui_api_analytics_goals_pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size",
          "total"
        ]
      },
      "services_ui_api_analytics_goals_refreshResponse": {
        "type": "object",
        "properties": {
          "conversion_rate_series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_DateCount"
            }
          },
          "funnel_match_series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_DateCount"
            }
          },
          "funnel_start_series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_DateCount"
            }
          },
          "goal_match_series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_analytics_goals_DateCount"
            }
          }
        },
        "required": [
          "conversion_rate_series",
          "funnel_match_series",
          "funnel_start_series",
          "goal_match_series"
        ]
      },
      "services_ui_api_analytics_goals_updateRequest": {
        "type": "object",
        "properties": {
          "goal": {
            "type": "object",
            "properties": {
              "attached_campaigns": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "attached_newsletters": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "attached_transactional_messages": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "attribution_metrics": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "nullable": true
              },
              "attribution_window": {
                "type": "integer",
                "format": "int32"
              },
              "created_at": {
                "type": "integer",
                "format": "int32"
              },
              "created_by": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "currency": {
                "type": "string",
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "first_source_attached_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "funnel_start_event": {
                "type": "string"
              },
              "funnel_start_event_filter": {
                "$ref": "#/components/schemas/services_libraries_filters_Filter",
                "nullable": true
              },
              "funnel_start_event_type": {
                "type": "integer",
                "format": "int32"
              },
              "funnel_time_window_seconds": {
                "type": "integer",
                "format": "int32"
              },
              "goal_event": {
                "type": "string"
              },
              "goal_event_filter": {
                "$ref": "#/components/schemas/services_libraries_filters_Filter",
                "nullable": true
              },
              "goal_event_type": {
                "type": "integer",
                "format": "int32"
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "source": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "updated_at": {
                "type": "integer",
                "format": "int32"
              },
              "updated_by": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "value": {
                "type": "number",
                "format": "double",
                "nullable": true
              },
              "value_attribute": {
                "type": "string",
                "nullable": true
              },
              "value_type": {
                "type": "integer",
                "format": "int32"
              },
              "version": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "attribution_window",
              "created_at",
              "description",
              "funnel_start_event",
              "funnel_start_event_type",
              "funnel_time_window_seconds",
              "goal_event",
              "goal_event_type",
              "id",
              "name",
              "source",
              "tag_ids",
              "updated_at",
              "value_type",
              "version"
            ]
          }
        },
        "required": [
          "goal"
        ]
      },
      "services_ui_api_analytics_goals_updateResponse": {
        "type": "object",
        "properties": {
          "goal": {
            "$ref": "#/components/schemas/services_ui_api_analytics_goals_goal",
            "nullable": true
          }
        }
      },
      "services_ui_api_api_credentials_apiCredentialRequest": {
        "type": "object",
        "properties": {
          "api_credential": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
            },
            "required": [
              "name"
            ]
          }
        },
        "required": [
          "api_credential"
        ]
      },
      "services_ui_api_api_credentials_apiCredentialResponse": {
        "type": "object",
        "properties": {
          "api_credential": {
            "$ref": "#/components/schemas/services_ui_api_model_ApiCredential",
            "nullable": true
          }
        }
      },
      "services_ui_api_api_credentials_apiCredentialsResponse": {
        "type": "object",
        "properties": {
          "api_credentials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ApiCredential"
            }
          }
        },
        "required": [
          "api_credentials"
        ]
      },
      "services_ui_api_apps_appModel": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "is_default": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "platforms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_apps_platformModel"
            }
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "id",
          "is_default",
          "name",
          "platforms",
          "updated_at"
        ]
      },
      "services_ui_api_apps_appResponse": {
        "type": "object",
        "properties": {
          "app": {
            "$ref": "#/components/schemas/services_ui_api_apps_appModel"
          }
        },
        "required": [
          "app"
        ]
      },
      "services_ui_api_apps_appsResponse": {
        "type": "object",
        "properties": {
          "apps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_apps_appModel"
            }
          }
        },
        "required": [
          "apps"
        ]
      },
      "services_ui_api_apps_platformModel": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "credential_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "identifier": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "id",
          "identifier",
          "platform",
          "updated_at"
        ]
      },
      "services_ui_api_assets_assetResponse": {
        "type": "object",
        "properties": {
          "asset": {
            "$ref": "#/components/schemas/services_ui_api_model_Asset",
            "nullable": true
          }
        }
      },
      "services_ui_api_assets_assetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Asset"
            }
          }
        },
        "required": [
          "assets"
        ]
      },
      "services_ui_api_assets_createAssetRequest": {
        "type": "object",
        "properties": {
          "asset": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "is_dir": {
                "type": "boolean"
              },
              "name": {
                "type": "string"
              },
              "parent_id": {
                "type": "string",
                "nullable": true
              },
              "path": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "id",
              "is_dir",
              "name",
              "path",
              "size"
            ]
          },
          "file_type": {
            "type": "string"
          }
        },
        "required": [
          "asset",
          "file_type"
        ]
      },
      "services_ui_api_assets_deleteAssetsRequest": {
        "type": "object",
        "properties": {
          "asset_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "minItems": 1
          }
        },
        "required": [
          "asset_ids"
        ]
      },
      "services_ui_api_assets_listAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Asset"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          }
        },
        "required": [
          "assets",
          "meta"
        ]
      },
      "services_ui_api_assets_registerAssetRequest": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Storage object key returned by the sign endpoint's policy fields"
          },
          "name": {
            "type": "string",
            "description": "Asset name; pass the sign response's filename_replacement"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "key",
          "name"
        ]
      },
      "services_ui_api_assets_searchAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Asset"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          },
          "parents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Asset"
            }
          }
        },
        "required": [
          "assets",
          "meta",
          "parents"
        ]
      },
      "services_ui_api_assets_signAssetRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "parent_folder_id": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "size",
          "type"
        ]
      },
      "services_ui_api_assets_signAssetResponse": {
        "type": "object",
        "properties": {
          "filename_replacement": {
            "type": "string"
          },
          "gcs": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          }
        },
        "required": [
          "filename_replacement"
        ]
      },
      "services_ui_api_assets_updateAssetRequest": {
        "type": "object",
        "properties": {
          "asset": {
            "type": "object",
            "properties": {
              "alt_text": {
                "type": "string",
                "nullable": true
              },
              "id": {
                "type": "string"
              },
              "is_dir": {
                "type": "boolean"
              },
              "name": {
                "type": "string"
              },
              "parent_id": {
                "type": "string",
                "nullable": true
              },
              "path": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "id",
              "is_dir",
              "name",
              "path",
              "size"
            ]
          },
          "file_type": {
            "type": "string"
          }
        },
        "required": [
          "asset",
          "file_type"
        ]
      },
      "services_ui_api_assets_updateManyAssetsRequest": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "asset": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "is_dir": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "string"
                    },
                    "parent_id": {
                      "type": "string",
                      "nullable": true
                    },
                    "path": {
                      "type": "string"
                    },
                    "size": {
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "required": [
                    "id",
                    "is_dir",
                    "name",
                    "path",
                    "size"
                  ]
                }
              },
              "required": [
                "asset"
              ]
            }
          }
        },
        "required": [
          "assets"
        ]
      },
      "services_ui_api_assets_uploadAssetForm": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary",
            "description": "The asset to upload."
          },
          "name": {
            "type": "string",
            "description": "Name to store the asset under. Defaults to the uploaded file's name.",
            "nullable": true
          },
          "parent_folder_id": {
            "type": "string",
            "description": "ID of the folder to create the asset in, as a non-negative integer. Omit or pass 0 for the root folder.",
            "nullable": true
          }
        },
        "required": [
          "file"
        ]
      },
      "services_ui_api_attributes_AttributeRenderErrors": {
        "type": "object",
        "properties": {
          "body": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "event": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "body",
          "event",
          "message",
          "name",
          "snippets",
          "trigger"
        ]
      },
      "services_ui_api_audience_credentials_createRequest": {
        "type": "object",
        "properties": {
          "audience_credential": {
            "type": "object",
            "properties": {
              "json": {
                "type": "object",
                "additionalProperties": {}
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "json",
              "type"
            ]
          }
        },
        "required": [
          "audience_credential"
        ]
      },
      "services_ui_api_audience_credentials_credentialResponse": {
        "type": "object",
        "properties": {
          "audience_credential": {
            "$ref": "#/components/schemas/services_ui_api_model_AudienceCredential",
            "nullable": true
          }
        }
      },
      "services_ui_api_audience_credentials_credentialsResponse": {
        "type": "object",
        "properties": {
          "audience_credentials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AudienceCredential"
            }
          }
        },
        "required": [
          "audience_credentials"
        ]
      },
      "services_ui_api_audience_credentials_updateRequestBody": {
        "type": "object",
        "properties": {
          "audience_credential": {
            "type": "object",
            "properties": {
              "json": {
                "type": "object",
                "additionalProperties": {}
              }
            },
            "required": [
              "json"
            ]
          }
        },
        "required": [
          "audience_credential"
        ]
      },
      "services_ui_api_audiences_audienceCreateRequest": {
        "type": "object",
        "properties": {
          "audience": {
            "type": "object",
            "properties": {
              "Description": {
                "type": "string"
              },
              "ad_account_id": {
                "type": "string"
              },
              "has_consent": {
                "type": "boolean"
              },
              "name": {
                "type": "string"
              },
              "segment_id": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "Description",
              "ad_account_id",
              "has_consent",
              "name",
              "segment_id",
              "type"
            ]
          }
        },
        "required": [
          "audience"
        ]
      },
      "services_ui_api_audiences_audienceResponse": {
        "type": "object",
        "properties": {
          "audience": {
            "$ref": "#/components/schemas/services_ui_api_model_Audience",
            "nullable": true
          }
        }
      },
      "services_ui_api_audiences_audienceUpdateRequest": {
        "type": "object",
        "properties": {
          "audience": {
            "type": "object",
            "properties": {
              "active": {
                "type": "boolean"
              },
              "has_consent": {
                "type": "boolean"
              }
            },
            "required": [
              "active",
              "has_consent"
            ]
          }
        },
        "required": [
          "audience"
        ]
      },
      "services_ui_api_audiences_audiencesResponse": {
        "type": "object",
        "properties": {
          "audiences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Audience"
            }
          }
        },
        "required": [
          "audiences"
        ]
      },
      "services_ui_api_audiences_bulkConsentRequest": {
        "type": "object",
        "properties": {
          "audience_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "audience_ids"
        ]
      },
      "services_ui_api_audit_logs_AuditLogEntry": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "action": {
            "type": "string"
          },
          "changed_from": {
            "nullable": true
          },
          "changed_to": {
            "nullable": true
          },
          "data": {
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "ip_addr": {
            "type": "string"
          },
          "meta": {
            "nullable": true
          },
          "object_id": {
            "type": "string"
          },
          "object_type": {
            "type": "string"
          },
          "related_logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogEntry"
            },
            "nullable": true
          },
          "service_account_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "account_id",
          "action",
          "id",
          "ip_addr",
          "object_id",
          "object_type",
          "timestamp",
          "user_id",
          "version"
        ]
      },
      "services_ui_api_audit_logs_AuditLogPagination": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "next_cursor": {
            "type": "integer",
            "format": "int32"
          },
          "sort_order": {
            "type": "string"
          }
        },
        "required": [
          "limit",
          "next_cursor",
          "sort_order"
        ]
      },
      "services_ui_api_audit_logs_AuditLogResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogEntry"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogPagination"
          },
          "service_accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogServiceAccountModel"
            },
            "nullable": true
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogUserModel"
            }
          }
        },
        "required": [
          "data",
          "pagination",
          "users"
        ]
      },
      "services_ui_api_audit_logs_AuditLogServiceAccountModel": {
        "type": "object",
        "properties": {
          "account_type": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "service_account_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "account_type",
          "name",
          "service_account_id"
        ]
      },
      "services_ui_api_audit_logs_AuditLogUserModel": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "email",
          "user_id"
        ]
      },
      "services_ui_api_audit_logs_accountWorkspaceAuditLogsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_workspaceAuditLogEntry"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogPagination"
          },
          "service_accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogServiceAccountModel"
            },
            "nullable": true
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogUserModel"
            }
          }
        },
        "required": [
          "data",
          "pagination",
          "users"
        ]
      },
      "services_ui_api_audit_logs_auditLogDetailResponse": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogEntry"
          },
          "service_account": {
            "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogServiceAccountModel",
            "nullable": true
          },
          "user": {
            "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogUserModel",
            "nullable": true
          }
        },
        "required": [
          "data"
        ]
      },
      "services_ui_api_audit_logs_exportAuditLogsRequest": {
        "type": "object",
        "properties": {
          "end_time": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "object_type": {
            "type": "string"
          },
          "start_time": {
            "type": "string"
          }
        },
        "required": [
          "end_time",
          "environment_id",
          "object_type",
          "start_time"
        ]
      },
      "services_ui_api_audit_logs_exportResponse": {
        "type": "object",
        "properties": {
          "export_id": {
            "type": "string"
          }
        },
        "required": [
          "export_id"
        ]
      },
      "services_ui_api_audit_logs_fieldOptionsResponse": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "freeform_object_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "object_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "fields",
          "freeform_object_types",
          "object_types"
        ]
      },
      "services_ui_api_audit_logs_workspaceAuditLogEntry": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "action": {
            "type": "string"
          },
          "changed_from": {
            "nullable": true
          },
          "changed_to": {
            "nullable": true
          },
          "data": {
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "ip_addr": {
            "type": "string"
          },
          "meta": {
            "nullable": true
          },
          "object_id": {
            "type": "string"
          },
          "object_type": {
            "type": "string"
          },
          "related_logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_audit_logs_AuditLogEntry"
            },
            "nullable": true
          },
          "service_account_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "workspace_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "account_id",
          "action",
          "id",
          "ip_addr",
          "object_id",
          "object_type",
          "timestamp",
          "user_id",
          "version",
          "workspace_id"
        ]
      },
      "services_ui_api_auth_SessionMetadataEntry": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_accounts_AccountMembership"
            }
          },
          "auth_provider": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64"
          },
          "home_account_id": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "workspace_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "accounts",
          "auth_provider",
          "email",
          "expires_at",
          "home_account_id",
          "id",
          "name",
          "workspace_ids"
        ]
      },
      "services_ui_api_auto_tls_domains_autoTLSDomainResponse": {
        "type": "object",
        "properties": {
          "auto_tls_domain": {
            "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomain",
            "nullable": true
          }
        }
      },
      "services_ui_api_auto_tls_domains_autoTLSDomainsResponse": {
        "type": "object",
        "properties": {
          "auto_tls_domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomain"
            }
          }
        },
        "required": [
          "auto_tls_domains"
        ]
      },
      "services_ui_api_auto_tls_domains_createAutoTLSDomainParams": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          }
        },
        "required": [
          "domain",
          "purpose"
        ]
      },
      "services_ui_api_auto_tls_domains_createRequest": {
        "type": "object",
        "properties": {
          "auto_tls_domain": {
            "$ref": "#/components/schemas/services_ui_api_auto_tls_domains_createAutoTLSDomainParams"
          }
        },
        "required": [
          "auto_tls_domain"
        ]
      },
      "services_ui_api_autocomplete_slackAutocompleteResponse": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "users": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "channels",
          "users"
        ]
      },
      "services_ui_api_backfills_deprioritizeRequest": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "mode"
        ]
      },
      "services_ui_api_backfills_listMeta": {
        "type": "object",
        "properties": {
          "continuation": {
            "type": "string"
          },
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_backfills_listPagination"
          }
        },
        "required": [
          "continuation",
          "pagination"
        ]
      },
      "services_ui_api_backfills_listPagination": {
        "type": "object",
        "properties": {
          "has_more": {
            "type": "boolean",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size"
        ]
      },
      "services_ui_api_backfills_listResponse": {
        "type": "object",
        "properties": {
          "backfills": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Backfill"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_backfills_listMeta"
          }
        },
        "required": [
          "backfills",
          "meta"
        ]
      },
      "services_ui_api_billing_InvoiceModel": {
        "type": "object",
        "properties": {
          "custom_fields": {
            "type": "object",
            "additionalProperties": {}
          },
          "customer_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "invoice_amount": {
            "type": "string"
          },
          "invoice_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "invoice_pdf_url": {
            "type": "string"
          },
          "line_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_LineItem"
            }
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "custom_fields",
          "customer_id",
          "id",
          "invoice_amount",
          "invoice_pdf_url",
          "line_items",
          "status"
        ]
      },
      "services_ui_api_billing_LineItem": {
        "type": "object",
        "properties": {
          "charge_name": {
            "type": "string"
          },
          "charge_type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "charge_name",
          "charge_type",
          "description"
        ]
      },
      "services_ui_api_billing_OrdwaySubscriptionModel": {
        "type": "object",
        "properties": {
          "auto_renew": {
            "type": "boolean"
          },
          "bill_contact_id": {
            "type": "string"
          },
          "billing_period_end_date": {
            "type": "string"
          },
          "billing_period_start_date": {
            "type": "string"
          },
          "billing_start_date": {
            "type": "string"
          },
          "billing_totals": {
            "$ref": "#/components/schemas/services_clients_ordway_BillingTotals",
            "nullable": true
          },
          "cancellation_date": {
            "type": "string",
            "nullable": true
          },
          "cmrr": {
            "type": "string"
          },
          "contract_effective_date": {
            "type": "string"
          },
          "coupon_code": {
            "type": "string"
          },
          "current_term_end_date": {
            "type": "string",
            "nullable": true
          },
          "current_term_start_date": {
            "type": "string",
            "nullable": true
          },
          "custom_fields": {
            "type": "object",
            "additionalProperties": {}
          },
          "customer_id": {
            "type": "string"
          },
          "customer_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "order_placed_at": {
            "type": "string"
          },
          "plans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionProduct"
            }
          },
          "service_start_date": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "usage_reset_date": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "auto_renew",
          "bill_contact_id",
          "billing_period_end_date",
          "billing_period_start_date",
          "billing_start_date",
          "cmrr",
          "contract_effective_date",
          "coupon_code",
          "custom_fields",
          "customer_id",
          "customer_name",
          "id",
          "order_placed_at",
          "plans",
          "service_start_date",
          "status",
          "usage_reset_date",
          "version"
        ]
      },
      "services_ui_api_billing_OrdwaySubscriptionProduct": {
        "type": "object",
        "properties": {
          "billing_period": {
            "type": "string"
          },
          "charge_start_date": {
            "type": "string",
            "nullable": true
          },
          "charge_type": {
            "type": "string"
          },
          "custom_fields": {
            "type": "object",
            "additionalProperties": {}
          },
          "effective_price": {
            "type": "string"
          },
          "included_units": {
            "type": "number",
            "format": "double"
          },
          "list_price": {
            "type": "string"
          },
          "plan_name": {
            "type": "string"
          },
          "product_id": {
            "type": "string"
          }
        },
        "required": [
          "billing_period",
          "charge_type",
          "custom_fields",
          "effective_price",
          "included_units",
          "list_price",
          "plan_name",
          "product_id"
        ]
      },
      "services_ui_api_billing_OrdwaySubscriptionRequest": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "coupon_code": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "address1",
          "address2",
          "city",
          "country",
          "email",
          "state",
          "zip"
        ]
      },
      "services_ui_api_billing_OrdwaySubscriptionResponse": {
        "type": "object",
        "properties": {
          "ordway_subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionModel"
            }
          }
        },
        "required": [
          "ordway_subscriptions"
        ]
      },
      "services_ui_api_billing_addonSKUs": {
        "type": "object",
        "properties": {
          "add": {
            "type": "array",
            "description": "Stripe price ids to add, one per add-on.",
            "items": {
              "type": "string"
            }
          },
          "remove": {
            "type": "array",
            "description": "Not supported yet; must be empty.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "add"
        ]
      },
      "services_ui_api_billing_addonsRequest": {
        "type": "object",
        "properties": {
          "skus": {
            "$ref": "#/components/schemas/services_ui_api_billing_addonSKUs"
          }
        },
        "required": [
          "skus"
        ]
      },
      "services_ui_api_billing_addonsStatusResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "declined",
              "refused",
              "failed"
            ]
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_aiCreditsOrdwayPurchaseResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status"
        ]
      },
      "services_ui_api_billing_aiCreditsOrdwayPurchaseStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_aiCreditsPurchaseStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_availableOrdwayPlansResponse": {
        "type": "object",
        "properties": {
          "ordwayPlans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_ordwayPlanModel"
            }
          }
        },
        "required": [
          "ordwayPlans"
        ]
      },
      "services_ui_api_billing_builderCreditsPurchaseStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_builderPurchase": {
        "type": "object",
        "properties": {
          "amount_usd": {
            "type": "integer",
            "format": "int32",
            "description": "Whole US dollars to add, 10 to 1000."
          }
        },
        "required": [
          "amount_usd"
        ]
      },
      "services_ui_api_billing_cancelOrdwaySubscriptionRequest": {
        "type": "object",
        "properties": {
          "feedback": {
            "type": "string"
          },
          "switching_to": {
            "type": "string"
          }
        },
        "required": [
          "feedback",
          "switching_to"
        ]
      },
      "services_ui_api_billing_cancelRequest": {
        "type": "object",
        "properties": {
          "feedback": {
            "type": "string"
          },
          "switching_to": {
            "type": "string"
          }
        },
        "required": [
          "feedback",
          "switching_to"
        ]
      },
      "services_ui_api_billing_changeStripePlanRequest": {
        "type": "object",
        "properties": {
          "annual": {
            "type": "boolean"
          },
          "plan_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "annual",
          "plan_id"
        ]
      },
      "services_ui_api_billing_createAICreditsOrdwayPurchaseRequest": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "quantity"
        ]
      },
      "services_ui_api_billing_createAICreditsPaymentIntentRequest": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "use_saved_card": {
            "type": "boolean",
            "nullable": true
          },
          "zip_code": {
            "type": "string"
          }
        },
        "required": [
          "city",
          "country",
          "quantity",
          "state",
          "street",
          "zip_code"
        ]
      },
      "services_ui_api_billing_createAICreditsPaymentIntentResponse": {
        "type": "object",
        "properties": {
          "client_secret": {
            "type": "string"
          },
          "invoice_id": {
            "type": "string"
          }
        },
        "required": [
          "client_secret",
          "invoice_id"
        ]
      },
      "services_ui_api_billing_createBuilderCreditsPaymentIntentRequest": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "save_card": {
            "type": "boolean",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "use_saved_card": {
            "type": "boolean",
            "nullable": true
          },
          "zip_code": {
            "type": "string"
          }
        },
        "required": [
          "city",
          "country",
          "quantity",
          "state",
          "street",
          "zip_code"
        ]
      },
      "services_ui_api_billing_createBuilderCreditsPaymentIntentResponse": {
        "type": "object",
        "properties": {
          "client_secret": {
            "type": "string"
          },
          "invoice_id": {
            "type": "string"
          }
        },
        "required": [
          "client_secret",
          "invoice_id"
        ]
      },
      "services_ui_api_billing_createInboxPreviewsOrdwayPurchaseRequest": {
        "type": "object",
        "properties": {
          "package": {
            "type": "integer",
            "format": "int32",
            "description": "The pack to buy: 100, 500, 2000 or 5000 previews."
          }
        },
        "required": [
          "package"
        ]
      },
      "services_ui_api_billing_createInboxPreviewsPaymentIntentRequest": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "package": {
            "type": "integer",
            "format": "int32",
            "description": "The pack to buy: 100, 500, 2000 or 5000 previews."
          },
          "state": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "use_saved_card": {
            "type": "boolean",
            "nullable": true
          },
          "zip_code": {
            "type": "string"
          }
        },
        "required": [
          "city",
          "country",
          "package",
          "state",
          "street",
          "zip_code"
        ]
      },
      "services_ui_api_billing_createInboxPreviewsPaymentIntentResponse": {
        "type": "object",
        "properties": {
          "client_secret": {
            "type": "string"
          },
          "invoice_id": {
            "type": "string"
          }
        },
        "required": [
          "client_secret",
          "invoice_id"
        ]
      },
      "services_ui_api_billing_creditBalance": {
        "type": "object",
        "properties": {
          "credit_type": {
            "type": "string",
            "enum": [
              "llm",
              "builder"
            ]
          },
          "grants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_account_credit_grants_CreditGrant"
            }
          },
          "remaining": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string",
            "enum": [
              "credits",
              "usd"
            ]
          }
        },
        "required": [
          "credit_type",
          "grants",
          "remaining",
          "total",
          "unit"
        ]
      },
      "services_ui_api_billing_creditsBalanceResponse": {
        "type": "object",
        "properties": {
          "credits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_creditBalance"
            }
          }
        },
        "required": [
          "credits"
        ]
      },
      "services_ui_api_billing_creditsPurchaseRequest": {
        "type": "object",
        "properties": {
          "builder": {
            "$ref": "#/components/schemas/services_ui_api_billing_builderPurchase",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "llm": {
            "$ref": "#/components/schemas/services_ui_api_billing_llmPurchase",
            "nullable": true
          },
          "save_card": {
            "type": "boolean",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "street": {
            "type": "string",
            "nullable": true
          },
          "use_saved_card": {
            "type": "boolean",
            "nullable": true
          },
          "zip_code": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_billing_creditsPurchaseResponse": {
        "type": "object",
        "properties": {
          "client_secret": {
            "type": "string",
            "description": "Stripe rail only; confirm the card payment with it.",
            "nullable": true
          },
          "purchase_id": {
            "type": "string"
          },
          "rail": {
            "type": "string",
            "enum": [
              "stripe",
              "ordway"
            ]
          }
        },
        "required": [
          "purchase_id",
          "rail"
        ]
      },
      "services_ui_api_billing_creditsPurchaseStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "processing",
              "granted",
              "failed",
              "declined"
            ]
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_downgradeToBuilderRequest": {
        "type": "object"
      },
      "services_ui_api_billing_getInfoResponse": {
        "type": "object",
        "properties": {
          "add_ons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Plan"
            }
          },
          "billing_info": {
            "$ref": "#/components/schemas/services_ui_api_model_BillingInfo",
            "nullable": true
          },
          "coupon": {
            "$ref": "#/components/schemas/services_ui_api_model_Coupon",
            "nullable": true
          },
          "plans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Plan"
            }
          },
          "subscription": {
            "$ref": "#/components/schemas/services_ui_api_model_Subscription",
            "nullable": true
          },
          "tax_rate": {
            "$ref": "#/components/schemas/services_ui_api_model_TaxRate",
            "nullable": true
          },
          "tiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tier"
            }
          }
        },
        "required": [
          "add_ons",
          "plans",
          "tiers"
        ]
      },
      "services_ui_api_billing_inboxPreviewsOrdwayPurchaseResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status"
        ]
      },
      "services_ui_api_billing_inboxPreviewsOrdwayPurchaseStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_inboxPreviewsPurchaseStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "granted once the credits are provisioned; otherwise pending, processing or failed from the invoice."
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageBalance": {
        "type": "object",
        "properties": {
          "credits_granted": {
            "type": "integer",
            "format": "int64",
            "description": "Every listed pool's credits_original, summed. Drained and lapsed pools are not listed, so this is not everything the account was ever granted, and subtracting credits_remaining gives spend from the live pools rather than the account's usage — read totals for that."
          },
          "credits_remaining": {
            "type": "integer",
            "format": "int64",
            "description": "Previews the account can still run: every listed pool's credits_remaining, summed."
          },
          "pools": {
            "type": "array",
            "description": "The pools the balance is made of, the monthly allowance first. A pool with nothing left in it is omitted, the allowance excepted — an exhausted plan pool is what explains why an account cannot preview. An account the feature is not available to reports the allowance pool as 0 of 0; any purchased or goodwill pools it holds are still listed.",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageBalancePool"
            }
          }
        },
        "required": [
          "credits_granted",
          "credits_remaining",
          "pools"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageBalancePool": {
        "type": "object",
        "properties": {
          "allowance": {
            "type": "boolean",
            "description": "True on the plan's monthly entitlement. Exactly one pool carries it and it is always first."
          },
          "credits_original": {
            "type": "integer",
            "format": "int64",
            "description": "The pool as granted, in whole previews."
          },
          "credits_remaining": {
            "type": "integer",
            "format": "int64",
            "description": "What is left of the pool, in whole previews."
          },
          "tier": {
            "type": "string",
            "description": "free for the monthly allowance and goodwill pools, paid for a purchased pack.",
            "enum": [
              "free",
              "paid"
            ]
          },
          "virtual": {
            "type": "boolean",
            "description": "True when the allowance has no grant behind it yet: the next preview run creates it. Always false on an allowance pool zeroed for ineligibility — nothing is waiting to be created."
          }
        },
        "required": [
          "allowance",
          "credits_original",
          "credits_remaining",
          "tier",
          "virtual"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageLogEntry": {
        "type": "object",
        "properties": {
          "api_key_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "api_key_name": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "description": "RFC3339 UTC. The charge's own moment on a log entry; UTC midnight of the summarized day on a summary entry, which has no time of day to report."
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "environment_name": {
            "type": "string",
            "nullable": true
          },
          "free_credits_refunded": {
            "type": "integer",
            "format": "int32"
          },
          "free_credits_used": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Id of the backing row. Unique within source and not across the two, so key rows on the pair."
          },
          "job_count": {
            "type": "integer",
            "format": "int32",
            "description": "Preview runs behind this entry: always 1 on a log entry, the day's count on a summary entry."
          },
          "node_id": {
            "type": "string",
            "description": "The run's primary Design Studio node, for deep-linking the row to its run page. Null on summary entries and on runs recorded before it was stored.",
            "nullable": true
          },
          "paid_credits_refunded": {
            "type": "integer",
            "format": "int32"
          },
          "paid_credits_used": {
            "type": "integer",
            "format": "int32"
          },
          "preview_job_id": {
            "type": "string",
            "description": "The job to link to. Null on a summary entry: the rollup aggregates the job identity away, which is why those rows render without a View previews link.",
            "nullable": true
          },
          "previews_bounced": {
            "type": "integer",
            "format": "int32"
          },
          "previews_cached": {
            "type": "integer",
            "format": "int32"
          },
          "previews_requested": {
            "type": "integer",
            "format": "int32"
          },
          "previews_succeeded": {
            "type": "integer",
            "format": "int32"
          },
          "settled_at": {
            "type": "string",
            "description": "RFC3339 UTC, null while the charge is still open. Always null on a summary entry, whose charges all settled before the day was closed.",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "log for a single preview run, still linkable to its previews; summary for a day's rolled-up total, which is not.",
            "enum": [
              "log",
              "summary"
            ]
          },
          "user_deleted": {
            "type": "boolean"
          },
          "user_email": {
            "type": "string",
            "nullable": true
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "user_name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "environment_id",
          "free_credits_refunded",
          "free_credits_used",
          "id",
          "job_count",
          "paid_credits_refunded",
          "paid_credits_used",
          "previews_bounced",
          "previews_cached",
          "previews_requested",
          "previews_succeeded",
          "source",
          "user_deleted",
          "user_id"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageLogMeta": {
        "type": "object",
        "properties": {
          "end": {
            "type": "string",
            "description": "Inclusive UTC end day of the range listed, YYYY-MM-DD, after any clamp to today."
          },
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageLogPagination"
          },
          "start": {
            "type": "string",
            "description": "Inclusive UTC start day of the range listed, YYYY-MM-DD."
          }
        },
        "required": [
          "end",
          "pagination",
          "start"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageLogPagination": {
        "type": "object",
        "properties": {
          "next_cursor": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "Entries the filters match across the whole range, not just this page. Counted per request, so it moves as new runs land."
          }
        },
        "required": [
          "size",
          "total"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageLogResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageLogMeta"
          },
          "usage_log": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageLogEntry"
            }
          }
        },
        "required": [
          "meta",
          "usage_log"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageSummariesResponse": {
        "type": "object",
        "properties": {
          "balance": {
            "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageBalance"
          },
          "end": {
            "type": "string",
            "description": "Inclusive UTC end day of the range reported, YYYY-MM-DD, after any clamp to today."
          },
          "granularity": {
            "type": "string",
            "description": "The series bucket width actually used."
          },
          "groups": {
            "type": "array",
            "description": "The breakdown group_by asked for. Omitted when group_by is none, and — like the LLM usage endpoint's — when the grouping found no usage at all.",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageSummaryGroup"
            },
            "nullable": true
          },
          "series": {
            "type": "array",
            "description": "One point per bucket across the whole range, empty buckets included. The first bucket's period can precede start — a range beginning mid-month is still reported as that month, covering only the days asked for.",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageSummarySeriesPoint"
            }
          },
          "start": {
            "type": "string",
            "description": "Inclusive UTC start day of the range reported, YYYY-MM-DD."
          },
          "totals": {
            "$ref": "#/components/schemas/services_ui_api_billing_inboxPreviewsUsageSummaryMeasures"
          }
        },
        "required": [
          "balance",
          "end",
          "granularity",
          "series",
          "start",
          "totals"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageSummaryGroup": {
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "integer",
            "format": "int32",
            "description": "Workspace id, for a workspace grouping.",
            "nullable": true
          },
          "environment_name": {
            "type": "string",
            "description": "Workspace name, null when the id no longer resolves.",
            "nullable": true
          },
          "free_credits_refunded": {
            "type": "integer",
            "format": "int64"
          },
          "free_credits_used": {
            "type": "integer",
            "format": "int64"
          },
          "job_count": {
            "type": "integer",
            "format": "int64"
          },
          "paid_credits_refunded": {
            "type": "integer",
            "format": "int64"
          },
          "paid_credits_used": {
            "type": "integer",
            "format": "int64"
          },
          "previews_bounced": {
            "type": "integer",
            "format": "int64"
          },
          "previews_cached": {
            "type": "integer",
            "format": "int64"
          },
          "previews_requested": {
            "type": "integer",
            "format": "int64"
          },
          "previews_succeeded": {
            "type": "integer",
            "format": "int64"
          },
          "user_deleted": {
            "type": "boolean",
            "description": "True for a user who has left the account."
          },
          "user_email": {
            "type": "string",
            "description": "User email, null when the id no longer resolves.",
            "nullable": true
          },
          "user_id": {
            "type": "integer",
            "format": "int32",
            "description": "User id, for a user grouping.",
            "nullable": true
          },
          "user_name": {
            "type": "string",
            "description": "User's first and last name. Null when they set neither, and also when the id no longer resolves — fall back to user_email, then to user_id.",
            "nullable": true
          }
        },
        "required": [
          "free_credits_refunded",
          "free_credits_used",
          "job_count",
          "paid_credits_refunded",
          "paid_credits_used",
          "previews_bounced",
          "previews_cached",
          "previews_requested",
          "previews_succeeded",
          "user_deleted"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageSummaryMeasures": {
        "type": "object",
        "properties": {
          "free_credits_refunded": {
            "type": "integer",
            "format": "int64",
            "description": "Free credits returned by settlement, in whole previews."
          },
          "free_credits_used": {
            "type": "integer",
            "format": "int64",
            "description": "Free credits spent, in whole previews."
          },
          "job_count": {
            "type": "integer",
            "format": "int64",
            "description": "Preview runs. One run can render several emails."
          },
          "paid_credits_refunded": {
            "type": "integer",
            "format": "int64",
            "description": "Purchased credits returned by settlement, in whole previews."
          },
          "paid_credits_used": {
            "type": "integer",
            "format": "int64",
            "description": "Purchased credits spent, in whole previews."
          },
          "previews_bounced": {
            "type": "integer",
            "format": "int64",
            "description": "Previews that failed to render and were refunded where possible."
          },
          "previews_cached": {
            "type": "integer",
            "format": "int64",
            "description": "Previews served from cache, which cost nothing."
          },
          "previews_requested": {
            "type": "integer",
            "format": "int64",
            "description": "Previews asked for across every job."
          },
          "previews_succeeded": {
            "type": "integer",
            "format": "int64",
            "description": "Previews rendered."
          }
        },
        "required": [
          "free_credits_refunded",
          "free_credits_used",
          "job_count",
          "paid_credits_refunded",
          "paid_credits_used",
          "previews_bounced",
          "previews_cached",
          "previews_requested",
          "previews_succeeded"
        ]
      },
      "services_ui_api_billing_inboxPreviewsUsageSummarySeriesPoint": {
        "type": "object",
        "properties": {
          "free_credits_refunded": {
            "type": "integer",
            "format": "int64"
          },
          "free_credits_used": {
            "type": "integer",
            "format": "int64"
          },
          "job_count": {
            "type": "integer",
            "format": "int64"
          },
          "paid_credits_refunded": {
            "type": "integer",
            "format": "int64"
          },
          "paid_credits_used": {
            "type": "integer",
            "format": "int64"
          },
          "period": {
            "type": "string",
            "description": "First UTC day of the bucket, YYYY-MM-DD."
          },
          "previews_bounced": {
            "type": "integer",
            "format": "int64"
          },
          "previews_cached": {
            "type": "integer",
            "format": "int64"
          },
          "previews_requested": {
            "type": "integer",
            "format": "int64"
          },
          "previews_succeeded": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "free_credits_refunded",
          "free_credits_used",
          "job_count",
          "paid_credits_refunded",
          "paid_credits_used",
          "period",
          "previews_bounced",
          "previews_cached",
          "previews_requested",
          "previews_succeeded"
        ]
      },
      "services_ui_api_billing_listOrdwayInvoicesResponse": {
        "type": "object",
        "properties": {
          "ordway_invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_InvoiceModel"
            }
          }
        },
        "required": [
          "ordway_invoices"
        ]
      },
      "services_ui_api_billing_llmPurchase": {
        "type": "object",
        "properties": {
          "units": {
            "type": "integer",
            "format": "int32",
            "description": "Number of $10 units to buy, 1 to 100."
          }
        },
        "required": [
          "units"
        ]
      },
      "services_ui_api_billing_metronome_PaymentModel": {
        "type": "object",
        "properties": {
          "card_brand": {
            "type": "string"
          },
          "card_expiry": {
            "type": "string"
          },
          "card_last4": {
            "type": "string"
          },
          "card_owner_name": {
            "type": "string"
          },
          "last_payment_error": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "card_brand",
          "card_expiry",
          "card_last4",
          "card_owner_name"
        ]
      },
      "services_ui_api_billing_metronome_ProfileResponse": {
        "type": "object",
        "properties": {
          "base_price": {
            "type": "integer",
            "format": "int32"
          },
          "billing_period_end": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "billing_period_start": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "can_cancel": {
            "type": "boolean"
          },
          "contract_end": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "contract_start": {
            "type": "integer",
            "format": "int64"
          },
          "email_overage_rate": {
            "type": "string"
          },
          "included_emails": {
            "type": "integer",
            "format": "int32"
          },
          "included_profiles": {
            "type": "integer",
            "format": "int32"
          },
          "interval_name": {
            "type": "string"
          },
          "is_trial": {
            "type": "boolean"
          },
          "payment": {
            "$ref": "#/components/schemas/services_ui_api_billing_metronome_PaymentModel",
            "nullable": true
          },
          "plan_display_name": {
            "type": "string"
          },
          "plan_type": {
            "type": "string"
          },
          "profile_overage_rate": {
            "type": "string"
          },
          "trial_days_remaining": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "base_price",
          "can_cancel",
          "contract_start",
          "email_overage_rate",
          "included_emails",
          "included_profiles",
          "interval_name",
          "is_trial",
          "plan_display_name",
          "plan_type",
          "profile_overage_rate"
        ]
      },
      "services_ui_api_billing_ordwayChargeModel": {
        "type": "object",
        "properties": {
          "billing_period": {
            "type": "string"
          },
          "custom_fields": {
            "type": "object",
            "additionalProperties": {}
          },
          "included_units": {
            "type": "string"
          },
          "line_no": {
            "type": "integer",
            "format": "int32"
          },
          "list_price": {
            "type": "string"
          },
          "product_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "billing_period",
          "custom_fields",
          "included_units",
          "line_no",
          "list_price",
          "product_id",
          "type"
        ]
      },
      "services_ui_api_billing_ordwayCheckoutStatusResponse": {
        "type": "object",
        "properties": {
          "ordway_subscriptions": {
            "type": "array",
            "description": "The subscription the checkout produced. Present on success only",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionModel"
            },
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "pending, success, conflict or failed. conflict means the polled run bought a different plan, so this checkout never happened and the account may still be on its previous plan"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_ordwayCouponModel": {
        "type": "object",
        "properties": {
          "amount_off": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "code": {
            "type": "string"
          },
          "duration": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "expiration_date": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "percent_off": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "required": [
          "code",
          "id",
          "name"
        ]
      },
      "services_ui_api_billing_ordwayCustomerModel": {
        "type": "object",
        "properties": {
          "custom_fields": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "has_ach": {
            "type": "boolean"
          },
          "has_credit_card": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "migrated_at": {
            "type": "string"
          },
          "payment_failure_reason": {
            "type": "string"
          }
        },
        "required": [
          "has_ach",
          "has_credit_card",
          "id",
          "migrated_at",
          "payment_failure_reason"
        ]
      },
      "services_ui_api_billing_ordwayPlanModel": {
        "type": "object",
        "properties": {
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_ordwayChargeModel"
            }
          },
          "custom_fields": {
            "type": "object",
            "additionalProperties": {}
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "charges",
          "custom_fields",
          "description",
          "id",
          "name",
          "status"
        ]
      },
      "services_ui_api_billing_ordwayProfileResponse": {
        "type": "object",
        "properties": {
          "coupon": {
            "$ref": "#/components/schemas/services_ui_api_billing_ordwayCouponModel",
            "nullable": true
          },
          "ordway_customer": {
            "$ref": "#/components/schemas/services_ui_api_billing_ordwayCustomerModel"
          },
          "ordway_subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_OrdwaySubscriptionModel"
            }
          }
        },
        "required": [
          "ordway_customer",
          "ordway_subscriptions"
        ]
      },
      "services_ui_api_billing_overageEstimateResponse": {
        "type": "object",
        "properties": {
          "customer_overage": {
            "type": "string"
          },
          "invoice_estimate": {
            "type": "string"
          },
          "mau_overage": {
            "type": "string"
          },
          "message_overage": {
            "type": "string"
          }
        },
        "required": [
          "customer_overage",
          "invoice_estimate",
          "mau_overage",
          "message_overage"
        ]
      },
      "services_ui_api_billing_pauseRequest": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string"
          },
          "feedback": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "feedback"
        ]
      },
      "services_ui_api_billing_profileGrowthDataPoint": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "net_change": {
            "type": "integer",
            "format": "int32"
          },
          "profiles_created": {
            "type": "integer",
            "format": "int32"
          },
          "profiles_deleted": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "date",
          "net_change",
          "profiles_created",
          "profiles_deleted"
        ]
      },
      "services_ui_api_billing_profileGrowthNotificationsResponse": {
        "type": "object",
        "properties": {
          "alert_at_100": {
            "type": "boolean"
          },
          "alert_at_70": {
            "type": "boolean"
          },
          "alert_at_85": {
            "type": "boolean"
          },
          "alert_at_95": {
            "type": "boolean"
          }
        },
        "required": [
          "alert_at_100",
          "alert_at_70",
          "alert_at_85",
          "alert_at_95"
        ]
      },
      "services_ui_api_billing_profileGrowthResponse": {
        "type": "object",
        "properties": {
          "data_points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_profileGrowthDataPoint"
            }
          },
          "failed_workspaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "partial": {
            "type": "boolean"
          },
          "summary": {
            "$ref": "#/components/schemas/services_ui_api_billing_profileGrowthSummary"
          },
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_billing_profileGrowthWorkspace"
            }
          }
        },
        "required": [
          "data_points",
          "partial",
          "summary",
          "workspaces"
        ]
      },
      "services_ui_api_billing_profileGrowthSummary": {
        "type": "object",
        "properties": {
          "net_change": {
            "type": "integer",
            "format": "int32"
          },
          "total_created": {
            "type": "integer",
            "format": "int32"
          },
          "total_deleted": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "net_change",
          "total_created",
          "total_deleted"
        ]
      },
      "services_ui_api_billing_profileGrowthWorkspace": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_billing_promoCheckoutRequest": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "county": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "job_title": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "stripe_token": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "address1",
          "address2",
          "city",
          "country",
          "county",
          "customer_id",
          "department",
          "display_name",
          "email",
          "first_name",
          "id",
          "job_title",
          "last_name",
          "mobile",
          "phone",
          "state",
          "stripe_token",
          "zip"
        ]
      },
      "services_ui_api_billing_purchaseCard": {
        "type": "object",
        "properties": {
          "setup_intent": {
            "type": "object",
            "description": "The Stripe SetupIntent object, as returned by Stripe.js after confirming a card. Passed through to Stripe unmodified; its fields are defined by the Stripe API, not by this endpoint. Only setup_intent.payment_method.id is read here.",
            "additionalProperties": {},
            "nullable": true
          }
        }
      },
      "services_ui_api_billing_purchaseFunds": {
        "type": "object",
        "properties": {
          "amount_usd": {
            "type": "integer",
            "format": "int32",
            "description": "Whole US dollars to add, 10 to 1000."
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "street": {
            "type": "string",
            "nullable": true
          },
          "zip_code": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "amount_usd",
          "country"
        ]
      },
      "services_ui_api_billing_purchaseRequest": {
        "type": "object",
        "properties": {
          "card": {
            "$ref": "#/components/schemas/services_ui_api_billing_purchaseCard",
            "nullable": true
          },
          "funds": {
            "$ref": "#/components/schemas/services_ui_api_billing_purchaseFunds",
            "nullable": true
          }
        }
      },
      "services_ui_api_billing_purchaseResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending"
            ]
          }
        },
        "required": [
          "run_id",
          "status"
        ]
      },
      "services_ui_api_billing_purchaseStatusResponse": {
        "type": "object",
        "properties": {
          "client_secret": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "requires_confirmation",
              "success",
              "declined",
              "failed"
            ]
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_billing_retentionDiscountEligibilityResponse": {
        "type": "object",
        "properties": {
          "eligible": {
            "type": "boolean"
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "eligible"
        ]
      },
      "services_ui_api_billing_setDefaultPaymentMethodRequest": {
        "type": "object",
        "properties": {
          "payment_method_id": {
            "type": "string"
          }
        },
        "required": [
          "payment_method_id"
        ]
      },
      "services_ui_api_billing_setupIntentResponse": {
        "type": "object",
        "properties": {
          "setup_intent_client_secret": {
            "type": "string"
          },
          "stripe_customer_token": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "setup_intent_client_secret"
        ]
      },
      "services_ui_api_billing_subscribeRequest": {
        "type": "object",
        "properties": {
          "coupon_code": {
            "type": "string"
          },
          "plan_id": {
            "type": "integer",
            "format": "int32"
          },
          "setup_intent": {
            "type": "object",
            "description": "The Stripe SetupIntent object, as returned by Stripe.js after confirming a card. Passed through to Stripe unmodified; its fields are defined by the Stripe API, not by this endpoint. Only setup_intent.payment_method.id is read here.",
            "additionalProperties": {},
            "nullable": true
          },
          "stripe_card_token": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "coupon_code",
          "plan_id"
        ]
      },
      "services_ui_api_billing_subscriptionExistsResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "required": [
          "error"
        ]
      },
      "services_ui_api_billing_subscriptionUpdateCompleteResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "plan_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "error",
          "plan_id"
        ]
      },
      "services_ui_api_billing_taxRateResponse": {
        "type": "object",
        "properties": {
          "tax_rate": {
            "$ref": "#/components/schemas/services_ui_api_billing_taxRateResult",
            "nullable": true
          }
        }
      },
      "services_ui_api_billing_taxRateResult": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "rate": {
            "type": "number",
            "format": "double"
          },
          "state": {
            "type": "string"
          },
          "zip_code": {
            "type": "string"
          }
        },
        "required": [
          "country",
          "id",
          "rate",
          "state",
          "zip_code"
        ]
      },
      "services_ui_api_billing_updateCardRequest": {
        "type": "object",
        "properties": {
          "setup_intent": {
            "type": "object",
            "description": "The Stripe SetupIntent object, as returned by Stripe.js after confirming a card. Passed through to Stripe unmodified; its fields are defined by the Stripe API, not by this endpoint. Only setup_intent.payment_method.id is read here.",
            "additionalProperties": {},
            "nullable": true
          },
          "stripe_card_token": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_billing_updateDraftSubscriptionRequest": {
        "type": "object",
        "properties": {
          "coupon_code": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_billing_updateNotificationsRequest": {
        "type": "object",
        "properties": {
          "alert_at_100": {
            "type": "boolean"
          },
          "alert_at_70": {
            "type": "boolean"
          },
          "alert_at_85": {
            "type": "boolean"
          },
          "alert_at_95": {
            "type": "boolean"
          }
        },
        "required": [
          "alert_at_100",
          "alert_at_70",
          "alert_at_85",
          "alert_at_95"
        ]
      },
      "services_ui_api_billing_updateOrdwayProfileRequest": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "county": {
            "type": "string",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "string",
            "nullable": true
          },
          "display_name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "job_title": {
            "type": "string",
            "nullable": true
          },
          "last_name": {
            "type": "string",
            "nullable": true
          },
          "mobile": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "stripe_token": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "address1",
          "address2",
          "city",
          "country",
          "email",
          "state",
          "stripe_token",
          "zip"
        ]
      },
      "services_ui_api_campaigns_ActionCreateRequest": {
        "type": "object",
        "properties": {
          "action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "action_state": {
            "type": "string"
          },
          "add_to_inbox": {
            "type": "boolean",
            "nullable": true
          },
          "add_to_seg": {
            "type": "boolean"
          },
          "allocations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "asc": {
            "type": "boolean",
            "nullable": true
          },
          "attribute_destinations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribute_fallback_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attribute_name": {
            "type": "string"
          },
          "attribute_value": {
            "type": "string"
          },
          "attributes": {
            "type": "string"
          },
          "attributes_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attributes_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "await_completion": {
            "type": "boolean",
            "nullable": true
          },
          "campaign_id": {
            "type": "string"
          },
          "can_convert": {
            "type": "boolean"
          },
          "cohort_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "cohorts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "collection_id": {
            "type": "string",
            "nullable": true
          },
          "conditions": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "days": {
            "type": "string"
          },
          "delay": {
            "type": "integer",
            "format": "int32"
          },
          "delay_event_attr": {
            "type": "string"
          },
          "delay_event_attr_offset": {
            "type": "integer",
            "format": "int32"
          },
          "delay_paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DelayPathFromUI"
            },
            "nullable": true
          },
          "end_time": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "event_name": {
            "type": "string"
          },
          "exit_type": {
            "type": "string"
          },
          "experiment_config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig",
            "nullable": true
          },
          "experiment_fallback_variant_id": {
            "type": "string"
          },
          "experiment_holdout_variant_id": {
            "type": "string",
            "nullable": true
          },
          "experiment_id": {
            "type": "string"
          },
          "experiment_name": {
            "type": "string",
            "nullable": true
          },
          "experiment_observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "experiment_status": {
            "type": "string",
            "nullable": true
          },
          "experiment_variant_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "experiment_variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ExperimentVariantSummary"
            },
            "nullable": true
          },
          "experiment_winner_variant_id": {
            "type": "string",
            "nullable": true
          },
          "fallback_zone": {
            "type": "string"
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string",
            "nullable": true
          },
          "group_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "group_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "has_content": {
            "type": "boolean"
          },
          "has_subject": {
            "type": "boolean"
          },
          "has_url": {
            "type": "boolean"
          },
          "holdout": {
            "type": "boolean"
          },
          "hostname": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "journey_attribute_name": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_SplitMetricLinks"
          },
          "llm_calls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMCall"
            }
          },
          "llm_result_action": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMResultAction"
          },
          "max_delay": {
            "type": "integer",
            "format": "int32"
          },
          "message_limits_retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "min_delay": {
            "type": "integer",
            "format": "int32"
          },
          "multi_conditions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "optimal_time_days": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "optimal_time_description": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_end": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_start": {
            "type": "string",
            "nullable": true
          },
          "order_by": {
            "type": "string",
            "nullable": true
          },
          "override_message_limits_retry": {
            "type": "boolean"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          },
          "preconditions": {
            "type": "string"
          },
          "query_preview_columns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "randomize": {
            "type": "boolean"
          },
          "recipient": {
            "type": "string",
            "description": "Read-only copy of the associated template's recipient. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "request_method": {
            "type": "string"
          },
          "segment_id": {
            "type": "string",
            "nullable": true
          },
          "send_to_platform": {
            "type": "string"
          },
          "send_to_unsubscribed": {
            "type": "boolean",
            "nullable": true
          },
          "sending_state": {
            "type": "string",
            "enum": [
              "off",
              "draft",
              "automatic"
            ]
          },
          "single_result": {
            "type": "boolean"
          },
          "split_state": {
            "type": "string"
          },
          "start_time": {
            "type": "string"
          },
          "started": {
            "type": "integer",
            "format": "int32"
          },
          "sub_type": {
            "type": "string",
            "enum": [
              "default",
              "survey",
              "whatsapp",
              "journey_attr_update",
              "tour",
              "llm_action_guided"
            ]
          },
          "subject": {
            "type": "string",
            "description": "Read-only copy of the associated template's subject. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "subscription_topic_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "template_language": {
            "type": "string"
          },
          "template_type": {
            "type": "string",
            "nullable": true
          },
          "tracked": {
            "type": "boolean",
            "nullable": true
          },
          "trigger_conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TriggerElement"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "email_action",
              "delay_seconds_action",
              "delay_time_window_action",
              "split_randomized_action",
              "webhook_action",
              "twilio_action",
              "urban_airship_action",
              "slack_action",
              "attribute_update_action",
              "filter_match_delay_action",
              "grace_period_action",
              "push_action",
              "conditional_wait_action",
              "randomized_delay_action",
              "conditional_branch_action",
              "multi_split_branch_action",
              "random_cohort_branch_action",
              "experiment_action",
              "exit_action",
              "static_seg_update_action",
              "collection_query_action",
              "create_event_action",
              "multi_lang_branch_action",
              "batch_update_action",
              "in_app_action",
              "trigger",
              "llm_action",
              "line_action",
              "inbox_action",
              "whatsapp_action",
              "sms_action"
            ]
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "use_message_limits": {
            "type": "boolean",
            "nullable": true
          },
          "warnings": {
            "type": "string",
            "nullable": true
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "webhook_id": {
            "type": "string"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "action_ids",
          "action_state",
          "add_to_seg",
          "allocations",
          "attribute_name",
          "attribute_value",
          "attributes",
          "campaign_id",
          "can_convert",
          "cohorts",
          "conditions",
          "created",
          "days",
          "delay",
          "delay_event_attr",
          "delay_event_attr_offset",
          "end_time",
          "environment_id",
          "event_name",
          "exit_type",
          "experiment_fallback_variant_id",
          "experiment_id",
          "experiment_variant_ids",
          "fallback_zone",
          "has_content",
          "has_subject",
          "has_url",
          "holdout",
          "hostname",
          "id",
          "links",
          "llm_calls",
          "llm_result_action",
          "max_delay",
          "message_limits_retry_window_secs",
          "min_delay",
          "multi_conditions",
          "name",
          "object_type_id",
          "override_message_limits_retry",
          "preconditions",
          "query_preview_columns",
          "randomize",
          "request_method",
          "send_to_platform",
          "sending_state",
          "single_result",
          "split_state",
          "start_time",
          "started",
          "sub_type",
          "template_language",
          "trigger_conditions",
          "type",
          "updated",
          "webhook_id",
          "zone"
        ]
      },
      "services_ui_api_campaigns_ActionForCampaignsList": {
        "type": "object",
        "properties": {
          "action_state": {
            "type": "string"
          },
          "campaign_id": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "group_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "group_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "multi_conditions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "warnings": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "action_state",
          "campaign_id",
          "created",
          "environment_id",
          "id",
          "multi_conditions",
          "name",
          "type",
          "updated"
        ]
      },
      "services_ui_api_campaigns_CampaignModel": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_Campaign",
            "nullable": true
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "actions",
          "subscription_topics",
          "tags"
        ]
      },
      "services_ui_api_campaigns_CampaignRequest": {
        "type": "object",
        "properties": {
          "allow_concurrent_journeys": {
            "type": "boolean",
            "description": "Let a later trigger start a journey for someone whose journey from an earlier trigger has not finished, so they can receive from both. Omit to leave the existing value unchanged.",
            "nullable": true
          },
          "anchors": {
            "type": "string"
          },
          "attribute_filters": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json"
          },
          "audience": {
            "$ref": "#/components/schemas/services_ui_api_model_AudienceSettings"
          },
          "backfill": {
            "type": "boolean"
          },
          "conversion": {
            "type": "boolean",
            "description": "Enable or clear the conversion goal."
          },
          "conversion_action": {
            "type": "string",
            "description": "Which delivery event counts toward the goal: receiving, opening, or clicking. Empty means receiving. No enum is published because the empty string is also accepted."
          },
          "conversion_event_filters": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Optional filter AND-ed with conversion_event_name.",
            "nullable": true
          },
          "conversion_event_name": {
            "type": "string",
            "description": "Event name, required when conversion_type is perform_event.",
            "nullable": true
          },
          "conversion_segment_id": {
            "type": "string",
            "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
            "nullable": true
          },
          "conversion_type": {
            "type": "string",
            "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
            "nullable": true
          },
          "conversion_window": {
            "type": "integer",
            "format": "int32",
            "description": "Conversion window in seconds."
          },
          "date_triggered_attribute": {
            "type": "string"
          },
          "date_triggered_fallback_zone": {
            "type": "string",
            "nullable": true
          },
          "date_triggered_frequency": {
            "type": "string"
          },
          "date_triggered_lead_days": {
            "type": "integer",
            "format": "int32"
          },
          "date_triggered_start_time": {
            "type": "string"
          },
          "date_triggered_zone": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "disposition": {
            "type": "string",
            "description": "What to do with the deliveries already queued for the campaign. Rides on update_type=state with state=stop to decide the backlog as part of the stop, or arrives on its own via update_type=queued_disposition for a campaign that is already stopped. abort drops the queued deliveries without sending, and each one records that the queued messages were cancelled. send_now releases the ones still inside their 24h window, because older ones have already expired. Both raise the campaign's egress send rate, so the queue clears in minutes instead of draining at the throttle rate for months. Neither one bypasses a billing, compliance, or frequency cap.",
            "enum": [
              "abort",
              "send_now"
            ]
          },
          "edges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Edge"
            }
          },
          "event": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "exit_on_conversion_matched": {
            "type": "boolean",
            "description": "Exit profiles that convert. Read by update_type exit_and_conversion, which mirrors the conversion filter into global_exit_conditions — so this and a hand-written global_exit_conditions are mutually exclusive. Requires a conversion goal."
          },
          "exit_on_trigger_or_filter_not_matched": {
            "type": "boolean",
            "description": "Exit profiles that stop matching the trigger or filters. Read by update_type exit_conditions and exit_and_conversion."
          },
          "filters": {
            "type": "string"
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string",
            "nullable": true
          },
          "global_exit_conditions": {
            "type": "array",
            "description": "Filter objects, e.g. [{\"segment\":{\"id\":10}}] or [{\"event_name\":{\"name\":\"purchased\"}}]. Only read by update_type exit_conditions, which replaces this field from the request — send [] or omit it and the existing entries are deleted, so re-send what you want to keep. An exit_and_conversion update overwrites it from the goal. Rejected for triggered_broadcast and webhook campaigns.",
            "items": {}
          },
          "goal_id": {
            "type": "integer",
            "format": "int32",
            "description": "Pick an existing conversion from the library instead of describing one. The conversion's criteria come from it and the conversion_type/conversion_event_name/conversion_event_filters/conversion_segment_id fields are ignored; conversion_window and conversion_action still apply, because those stay on the campaign. Must name a conversion in this workspace. Ignored unless the workspace is on Goals-to-Conversions.",
            "nullable": true
          },
          "message_limits_retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "message_throttle": {
            "$ref": "#/components/schemas/services_ui_api_model_MessageThrottle",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_attribute_triggers": {
            "type": "string"
          },
          "object_campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_ObjectTrigger"
          },
          "object_filters": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipients_filter": {
            "type": "string",
            "nullable": true
          },
          "rel_seg_attr_object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "rel_seg_attr_trigger": {},
          "relationship_attribute_triggers": {
            "type": "string"
          },
          "relationship_campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_RelationshipTrigger"
          },
          "relationship_filters": {
            "type": "string"
          },
          "restart_min_interval": {
            "type": "integer",
            "format": "int32"
          },
          "restart_mode": {
            "type": "string"
          },
          "scheduled_start": {
            "type": "integer",
            "format": "int64"
          },
          "scheduled_start_should_backfill": {
            "type": "boolean"
          },
          "scheduled_stop": {
            "type": "integer",
            "format": "int64"
          },
          "scheduled_stop_should_sunset": {
            "type": "boolean"
          },
          "send_to_unsubscribed": {
            "type": "boolean",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State transition to apply. Only read by PUT /campaigns/:id with update_type state — create ignores it and the draft-autosave endpoint rejects update_type state outright. archive hides the automation and is reversible with unarchive; deleting the automation (DELETE /campaigns/:id) is permanent and is never how you archive.",
            "enum": [
              "start",
              "restart",
              "stop",
              "sunset",
              "archive",
              "unarchive",
              "schedule"
            ]
          },
          "subscription_topic_id": {
            "type": "string"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "trigger": {},
          "trigger_person_filters": {
            "type": "string"
          },
          "trigger_relationship_filters": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "use_message_limits": {
            "type": "boolean",
            "nullable": true
          },
          "use_workspace_message_limits_retry": {
            "type": "boolean",
            "nullable": true
          },
          "webhook_id": {
            "type": "string"
          }
        },
        "required": [
          "anchors",
          "attribute_filters",
          "audience",
          "backfill",
          "conversion",
          "conversion_action",
          "conversion_window",
          "date_triggered_attribute",
          "date_triggered_frequency",
          "date_triggered_lead_days",
          "date_triggered_start_time",
          "date_triggered_zone",
          "edges",
          "event",
          "event_type",
          "exit_on_conversion_matched",
          "exit_on_trigger_or_filter_not_matched",
          "filters",
          "global_exit_conditions",
          "message_limits_retry_window_secs",
          "name",
          "object_attribute_triggers",
          "object_campaign",
          "object_filters",
          "rel_seg_attr_object_type_id",
          "rel_seg_attr_trigger",
          "relationship_attribute_triggers",
          "relationship_campaign",
          "relationship_filters",
          "restart_min_interval",
          "restart_mode",
          "scheduled_start",
          "scheduled_start_should_backfill",
          "scheduled_stop",
          "scheduled_stop_should_sunset",
          "state",
          "subscription_topic_id",
          "trigger",
          "trigger_person_filters",
          "trigger_relationship_filters",
          "type",
          "webhook_id"
        ]
      },
      "services_ui_api_campaigns_CampaignUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "main"
                ]
              }
            },
            "required": [
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "backfill": {
                "type": "boolean"
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "disposition": {
                "type": "string",
                "description": "What to do with the deliveries already queued for the campaign. Rides on update_type=state with state=stop to decide the backlog as part of the stop, or arrives on its own via update_type=queued_disposition for a campaign that is already stopped. abort drops the queued deliveries without sending, and each one records that the queued messages were cancelled. send_now releases the ones still inside their 24h window, because older ones have already expired. Both raise the campaign's egress send rate, so the queue clears in minutes instead of draining at the throttle rate for months. Neither one bypasses a billing, compliance, or frequency cap.",
                "enum": [
                  "abort",
                  "send_now"
                ]
              },
              "scheduled_start": {
                "type": "integer",
                "format": "int64"
              },
              "scheduled_start_should_backfill": {
                "type": "boolean"
              },
              "scheduled_stop": {
                "type": "integer",
                "format": "int64"
              },
              "scheduled_stop_should_sunset": {
                "type": "boolean"
              },
              "state": {
                "type": "string",
                "description": "State transition to apply. Only read by PUT /campaigns/:id with update_type state — create ignores it and the draft-autosave endpoint rejects update_type state outright. archive hides the automation and is reversible with unarchive; deleting the automation (DELETE /campaigns/:id) is permanent and is never how you archive.",
                "enum": [
                  "start",
                  "restart",
                  "stop",
                  "sunset",
                  "archive",
                  "unarchive",
                  "schedule"
                ]
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "state"
                ]
              }
            },
            "required": [
              "backfill",
              "scheduled_start",
              "scheduled_start_should_backfill",
              "scheduled_stop",
              "scheduled_stop_should_sunset",
              "state",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "anchors": {
                "type": "string"
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "filters": {
                "type": "string"
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "restart_min_interval": {
                "type": "integer",
                "format": "int32"
              },
              "restart_mode": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "behavioral"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "anchors",
              "filters",
              "restart_min_interval",
              "restart_mode",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "restart_min_interval": {
                "type": "integer",
                "format": "int32"
              },
              "restart_mode": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "trigger": {},
              "type": {
                "type": "string",
                "enum": [
                  "seg_attr"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "restart_min_interval",
              "restart_mode",
              "trigger",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "rel_seg_attr_object_type_id": {
                "type": "integer",
                "format": "int32"
              },
              "rel_seg_attr_trigger": {},
              "restart_mode": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "rel_seg_attr"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "rel_seg_attr_object_type_id",
              "rel_seg_attr_trigger",
              "restart_mode",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attribute_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json"
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "type": "string"
              },
              "event_type": {
                "type": "string"
              },
              "filters": {
                "type": "string"
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "restart_min_interval": {
                "type": "integer",
                "format": "int32"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "transactional"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "attribute_filters",
              "event",
              "event_type",
              "filters",
              "restart_min_interval",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attribute_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json"
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "type": "string"
              },
              "event_type": {
                "type": "string"
              },
              "filters": {
                "type": "string"
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "restart_min_interval": {
                "type": "integer",
                "format": "int32"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "form"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "attribute_filters",
              "event",
              "event_type",
              "filters",
              "restart_min_interval",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "allow_concurrent_journeys": {
                "type": "boolean",
                "description": "Let a later trigger start a journey for someone whose journey from an earlier trigger has not finished, so they can receive from both. Omit to leave the existing value unchanged.",
                "nullable": true
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "triggered_broadcast"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_attribute": {
                "type": "string"
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "date_triggered_frequency": {
                "type": "string"
              },
              "date_triggered_lead_days": {
                "type": "integer",
                "format": "int32"
              },
              "date_triggered_start_time": {
                "type": "string"
              },
              "date_triggered_zone": {
                "type": "string"
              },
              "filters": {
                "type": "string"
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "date"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "date_triggered_attribute",
              "date_triggered_frequency",
              "date_triggered_lead_days",
              "date_triggered_start_time",
              "date_triggered_zone",
              "filters",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "webhook"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              },
              "webhook_id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "update_type",
              "webhook_id"
            ]
          },
          {
            "type": "object",
            "properties": {
              "audience": {
                "$ref": "#/components/schemas/services_ui_api_model_AudienceSettings"
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "filters": {
                "type": "string"
              },
              "object_filters": {
                "type": "string"
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "relationship_attribute_triggers": {
                "type": "string"
              },
              "relationship_campaign": {
                "$ref": "#/components/schemas/services_ui_api_model_RelationshipTrigger"
              },
              "relationship_filters": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "trigger_person_filters": {
                "type": "string"
              },
              "trigger_relationship_filters": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "relationship"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "audience",
              "filters",
              "object_filters",
              "relationship_attribute_triggers",
              "relationship_campaign",
              "relationship_filters",
              "trigger_person_filters",
              "trigger_relationship_filters",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "audience": {
                "$ref": "#/components/schemas/services_ui_api_model_AudienceSettings"
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "date_triggered_attribute": {
                "type": "string"
              },
              "date_triggered_fallback_zone": {
                "type": "string",
                "nullable": true
              },
              "date_triggered_frequency": {
                "type": "string"
              },
              "date_triggered_lead_days": {
                "type": "integer",
                "format": "int32"
              },
              "date_triggered_start_time": {
                "type": "string"
              },
              "date_triggered_zone": {
                "type": "string"
              },
              "filters": {
                "type": "string"
              },
              "object_attribute_triggers": {
                "type": "string"
              },
              "object_campaign": {
                "$ref": "#/components/schemas/services_ui_api_model_ObjectTrigger"
              },
              "object_filters": {
                "type": "string"
              },
              "object_type_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "recipients_filter": {
                "type": "string",
                "nullable": true
              },
              "relationship_filters": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              }
            },
            "required": [
              "audience",
              "date_triggered_attribute",
              "date_triggered_frequency",
              "date_triggered_lead_days",
              "date_triggered_start_time",
              "date_triggered_zone",
              "filters",
              "object_attribute_triggers",
              "object_campaign",
              "object_filters",
              "relationship_filters",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "edges": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_model_Edge"
                }
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "add_actions"
                ]
              }
            },
            "required": [
              "edges",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "edges": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_model_Edge"
                }
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "save_action"
                ]
              }
            },
            "required": [
              "edges",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "edges": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_model_Edge"
                }
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "delete_actions"
                ]
              }
            },
            "required": [
              "edges",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "edges": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_model_Edge"
                }
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "edges"
                ]
              }
            },
            "required": [
              "edges",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion": {
                "type": "boolean",
                "description": "Enable or clear the conversion goal."
              },
              "conversion_action": {
                "type": "string",
                "description": "Which delivery event counts toward the goal: receiving, opening, or clicking. Empty means receiving. No enum is published because the empty string is also accepted."
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "conversion_window": {
                "type": "integer",
                "format": "int32",
                "description": "Conversion window in seconds."
              },
              "goal_id": {
                "type": "integer",
                "format": "int32",
                "description": "Pick an existing conversion from the library instead of describing one. The conversion's criteria come from it and the conversion_type/conversion_event_name/conversion_event_filters/conversion_segment_id fields are ignored; conversion_window and conversion_action still apply, because those stay on the campaign. Must name a conversion in this workspace. Ignored unless the workspace is on Goals-to-Conversions.",
                "nullable": true
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "conversion"
                ]
              }
            },
            "required": [
              "conversion",
              "conversion_action",
              "conversion_window",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion": {
                "type": "boolean",
                "description": "Enable or clear the conversion goal."
              },
              "conversion_action": {
                "type": "string",
                "description": "Which delivery event counts toward the goal: receiving, opening, or clicking. Empty means receiving. No enum is published because the empty string is also accepted."
              },
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "conversion_window": {
                "type": "integer",
                "format": "int32",
                "description": "Conversion window in seconds."
              },
              "exit_on_conversion_matched": {
                "type": "boolean",
                "description": "Exit profiles that convert. Read by update_type exit_and_conversion, which mirrors the conversion filter into global_exit_conditions — so this and a hand-written global_exit_conditions are mutually exclusive. Requires a conversion goal."
              },
              "exit_on_trigger_or_filter_not_matched": {
                "type": "boolean",
                "description": "Exit profiles that stop matching the trigger or filters. Read by update_type exit_conditions and exit_and_conversion."
              },
              "global_exit_conditions": {
                "type": "array",
                "description": "Filter objects, e.g. [{\"segment\":{\"id\":10}}] or [{\"event_name\":{\"name\":\"purchased\"}}]. Only read by update_type exit_conditions, which replaces this field from the request — send [] or omit it and the existing entries are deleted, so re-send what you want to keep. An exit_and_conversion update overwrites it from the goal. Rejected for triggered_broadcast and webhook campaigns.",
                "items": {}
              },
              "goal_id": {
                "type": "integer",
                "format": "int32",
                "description": "Pick an existing conversion from the library instead of describing one. The conversion's criteria come from it and the conversion_type/conversion_event_name/conversion_event_filters/conversion_segment_id fields are ignored; conversion_window and conversion_action still apply, because those stay on the campaign. Must name a conversion in this workspace. Ignored unless the workspace is on Goals-to-Conversions.",
                "nullable": true
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "exit_and_conversion"
                ]
              }
            },
            "required": [
              "conversion",
              "conversion_action",
              "conversion_window",
              "exit_on_conversion_matched",
              "exit_on_trigger_or_filter_not_matched",
              "global_exit_conditions",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "exit_on_conversion_matched": {
                "type": "boolean",
                "description": "Exit profiles that convert. Read by update_type exit_and_conversion, which mirrors the conversion filter into global_exit_conditions — so this and a hand-written global_exit_conditions are mutually exclusive. Requires a conversion goal."
              },
              "exit_on_trigger_or_filter_not_matched": {
                "type": "boolean",
                "description": "Exit profiles that stop matching the trigger or filters. Read by update_type exit_conditions and exit_and_conversion."
              },
              "global_exit_conditions": {
                "type": "array",
                "description": "Filter objects, e.g. [{\"segment\":{\"id\":10}}] or [{\"event_name\":{\"name\":\"purchased\"}}]. Only read by update_type exit_conditions, which replaces this field from the request — send [] or omit it and the existing entries are deleted, so re-send what you want to keep. An exit_and_conversion update overwrites it from the goal. Rejected for triggered_broadcast and webhook campaigns.",
                "items": {}
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "exit_conditions"
                ]
              }
            },
            "required": [
              "exit_on_conversion_matched",
              "exit_on_trigger_or_filter_not_matched",
              "global_exit_conditions",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "message_limits_retry_window_secs": {
                "type": "integer",
                "format": "int32"
              },
              "message_throttle": {
                "$ref": "#/components/schemas/services_ui_api_model_MessageThrottle",
                "nullable": true
              },
              "send_to_unsubscribed": {
                "type": "boolean",
                "nullable": true
              },
              "subscription_topic_id": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "global_settings"
                ]
              },
              "use_message_limits": {
                "type": "boolean",
                "nullable": true
              },
              "use_workspace_message_limits_retry": {
                "type": "boolean",
                "nullable": true
              }
            },
            "required": [
              "message_limits_retry_window_secs",
              "subscription_topic_id",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "conversion_event_filters": {
                "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
                "description": "Optional filter AND-ed with conversion_event_name.",
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "description": "Event name, required when conversion_type is perform_event.",
                "nullable": true
              },
              "conversion_segment_id": {
                "type": "string",
                "description": "Segment id as a string, required when conversion_type is enter or exit. Must be a positive integer.",
                "nullable": true
              },
              "conversion_type": {
                "type": "string",
                "description": "perform_event uses conversion_event_name; enter/exit use conversion_segment_id (exit means leaving the segment). Any other value is treated as the segment form.",
                "nullable": true
              },
              "disposition": {
                "type": "string",
                "description": "What to do with the deliveries already queued for the campaign. Rides on update_type=state with state=stop to decide the backlog as part of the stop, or arrives on its own via update_type=queued_disposition for a campaign that is already stopped. abort drops the queued deliveries without sending, and each one records that the queued messages were cancelled. send_now releases the ones still inside their 24h window, because older ones have already expired. Both raise the campaign's egress send rate, so the queue clears in minutes instead of draining at the throttle rate for months. Neither one bypasses a billing, compliance, or frequency cap.",
                "enum": [
                  "abort",
                  "send_now"
                ]
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "queued_disposition"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          }
        ]
      },
      "services_ui_api_campaigns_CampaignVersionInfo": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "timestamp",
          "user_id",
          "version"
        ]
      },
      "services_ui_api_campaigns_CampaignsListModel": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_ActionForCampaignsList"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "actions",
          "campaigns",
          "subscription_topics",
          "tags"
        ]
      },
      "services_ui_api_campaigns_CampaignsModel": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "actions",
          "campaigns",
          "subscription_topics",
          "tags"
        ]
      },
      "services_ui_api_campaigns_CustomerData": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "due_at": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "attributes",
          "due_at",
          "id"
        ]
      },
      "services_ui_api_campaigns_NotePosition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          }
        },
        "required": [
          "id"
        ]
      },
      "services_ui_api_campaigns_ProfileMatchTimeRequest": {
        "type": "object",
        "properties": {
          "customer_cio_id": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "date_triggered_attribute": {
            "type": "string"
          },
          "date_triggered_customer_tz": {
            "type": "boolean"
          },
          "date_triggered_frequency": {
            "type": "string"
          },
          "date_triggered_lead_days": {
            "type": "integer",
            "format": "int32"
          },
          "date_triggered_start_time": {
            "type": "string"
          },
          "date_triggered_zone": {
            "type": "string"
          }
        },
        "required": [
          "customer_cio_id",
          "customer_id",
          "date_triggered_attribute",
          "date_triggered_customer_tz",
          "date_triggered_frequency",
          "date_triggered_lead_days",
          "date_triggered_start_time",
          "date_triggered_zone"
        ]
      },
      "services_ui_api_campaigns_TagsRequest": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_campaigns_TriggerConfig": {
        "type": "object",
        "properties": {
          "campaign_type": {
            "type": "integer",
            "format": "int32"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "trigger_type": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_type",
          "object_type_id",
          "trigger_type"
        ]
      },
      "services_ui_api_campaigns_actionChooseWinnerRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "winner_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          }
        },
        "required": [
          "campaign_id",
          "winner_id"
        ]
      },
      "services_ui_api_campaigns_actionConvertToSplitRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "campaign_id",
          "type"
        ]
      },
      "services_ui_api_campaigns_actionGetResponse": {
        "type": "object",
        "properties": {
          "_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "action": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionToUI",
            "nullable": true
          }
        },
        "required": [
          "_actions"
        ]
      },
      "services_ui_api_campaigns_actionSplitResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_Campaign",
            "nullable": true
          },
          "meta": {
            "type": "object",
            "properties": {
              "action_id": {
                "type": "string"
              }
            },
            "required": [
              "action_id"
            ]
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "actions",
          "meta",
          "subscription_topics",
          "tags"
        ]
      },
      "services_ui_api_campaigns_actionSubjectsResponse": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "continuation": {
                "type": "string"
              }
            },
            "required": [
              "continuation"
            ]
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Subject"
            }
          }
        },
        "required": [
          "customers",
          "meta",
          "subjects"
        ]
      },
      "services_ui_api_campaigns_actionUpdateRequest": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionFromUI"
          }
        },
        "required": [
          "action"
        ]
      },
      "services_ui_api_campaigns_actionUpdateResponse": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionToUI",
            "nullable": true
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_campaigns_actionVariablesResponse": {
        "type": "object",
        "properties": {
          "variables": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "variables"
        ]
      },
      "services_ui_api_campaigns_actionsStatusResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_runtimeActionInfo"
            }
          }
        },
        "required": [
          "actions"
        ]
      },
      "services_ui_api_campaigns_addTagsRequest": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_TagsRequest"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_campaigns_campaignUpdateRequest": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionFromUI"
          },
          "action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_ActionCreateRequest"
            }
          },
          "campaign": {
            "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignUpdateRequest"
          },
          "copy_from_env": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "default_language_action_id": {
            "type": "string"
          },
          "exit_early": {
            "type": "boolean"
          },
          "updated_note_positions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_NotePosition"
            }
          }
        },
        "required": [
          "action",
          "action_ids",
          "actions",
          "campaign",
          "default_language_action_id",
          "exit_early",
          "updated_note_positions"
        ]
      },
      "services_ui_api_campaigns_campaignVersionsResponse": {
        "type": "object",
        "properties": {
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignVersionInfo"
            }
          }
        },
        "required": [
          "versions"
        ]
      },
      "services_ui_api_campaigns_createCampaignRequest": {
        "type": "object",
        "properties": {
          "campaign": {
            "$ref": "#/components/schemas/services_ui_api_campaigns_CampaignRequest"
          }
        },
        "required": [
          "campaign"
        ]
      },
      "services_ui_api_campaigns_createFromTemplateRequest": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string"
          }
        },
        "required": [
          "template"
        ]
      },
      "services_ui_api_campaigns_createFromTemplateResponse": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id"
        ]
      },
      "services_ui_api_campaigns_createStickyRequest": {
        "type": "object",
        "properties": {
          "note": {
            "$ref": "#/components/schemas/services_ui_api_campaigns_stickyNoteParams"
          }
        },
        "required": [
          "note"
        ]
      },
      "services_ui_api_campaigns_deleteResponse": {
        "type": "object"
      },
      "services_ui_api_campaigns_deleteStickiesRequest": {
        "type": "object",
        "properties": {
          "note_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "note_ids"
        ]
      },
      "services_ui_api_campaigns_downloadBroadcastTriggerErrorsResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ]
      },
      "services_ui_api_campaigns_getBroadcastTriggerDetailsResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "trigger": {
            "$ref": "#/components/schemas/services_ui_api_model_BroadcastTrigger",
            "nullable": true
          }
        },
        "required": [
          "actions"
        ]
      },
      "services_ui_api_campaigns_getCampaignMetricsResponse": {
        "type": "object",
        "properties": {
          "action_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "campaign_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "journey_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          "link_metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_TrackedLinkMetrics"
            }
          },
          "metric": {
            "$ref": "#/components/schemas/services_ui_api_model_Metric"
          },
          "subscription_topic_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "unsent_drafts": {
            "type": "boolean"
          }
        },
        "required": [
          "action_metrics",
          "campaign_metrics",
          "journey_metrics",
          "link_metrics",
          "metric",
          "subscription_topic_metrics",
          "unsent_drafts"
        ]
      },
      "services_ui_api_campaigns_getCampaignResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_Campaign",
            "nullable": true
          },
          "most_recent_trigger": {
            "$ref": "#/components/schemas/services_ui_api_model_BroadcastTrigger",
            "nullable": true
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "actions",
          "subscription_topics",
          "tags"
        ]
      },
      "services_ui_api_campaigns_listBroadcastTriggersResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          },
          "triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_BroadcastTrigger"
            }
          }
        },
        "required": [
          "meta",
          "triggers"
        ]
      },
      "services_ui_api_campaigns_listCampaignsResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_ActionForCampaignsList"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              },
              "totals": {
                "type": "object",
                "properties": {
                  "all_time": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "archived": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "campaigns": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "has_campaigns": {
                    "type": "boolean"
                  },
                  "has_legacy_segment_triggered_campaigns": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "all_time",
                  "archived",
                  "campaigns",
                  "has_campaigns",
                  "has_legacy_segment_triggered_campaigns"
                ]
              }
            },
            "required": [
              "pagination",
              "totals"
            ]
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "actions",
          "campaigns",
          "meta",
          "subscription_topics",
          "tags"
        ]
      },
      "services_ui_api_campaigns_listLLMModelsResponse": {
        "type": "object",
        "properties": {
          "default_model": {
            "type": "string"
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_llm_action_ModelOption"
            }
          }
        },
        "required": [
          "default_model",
          "models"
        ]
      },
      "services_ui_api_campaigns_messageThrottleSupportedChannel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_campaigns_messageThrottleSupportedChannelsResponse": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_messageThrottleSupportedChannel"
            }
          }
        },
        "required": [
          "channels"
        ]
      },
      "services_ui_api_campaigns_nextProfilesResponse": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_CustomerData"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "continuation": {
                    "type": "string"
                  },
                  "from": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "id": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "continuation",
                  "from",
                  "id",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          }
        },
        "required": [
          "customers",
          "meta"
        ]
      },
      "services_ui_api_campaigns_profileMatchTimeResponse": {
        "type": "object",
        "properties": {
          "attribute_timestamp": {
            "type": "string"
          },
          "future_timestamp": {
            "type": "string"
          },
          "next_timestamp": {
            "type": "string"
          }
        },
        "required": [
          "attribute_timestamp",
          "future_timestamp",
          "next_timestamp"
        ]
      },
      "services_ui_api_campaigns_recentTriggersResponse": {
        "type": "object",
        "properties": {
          "recent_triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_TriggerConfig"
            }
          }
        },
        "required": [
          "recent_triggers"
        ]
      },
      "services_ui_api_campaigns_recommendedSendTimeResponse": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionToUI",
            "nullable": true
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            },
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_campaigns_recommendedSendTimeStartResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_campaigns_runtimeActionInfo": {
        "type": "object",
        "properties": {
          "eval_progress": {
            "type": "integer",
            "format": "int32"
          },
          "eval_stage": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "subject_count": {
            "type": "integer",
            "format": "int32"
          },
          "subject_count_limited": {
            "type": "boolean"
          }
        },
        "required": [
          "eval_progress",
          "eval_stage",
          "id",
          "subject_count",
          "subject_count_limited"
        ]
      },
      "services_ui_api_campaigns_sendTimingModel": {
        "type": "object",
        "properties": {
          "end": {
            "type": "integer",
            "format": "int32",
            "description": "Window end, unix seconds."
          },
          "resolution": {
            "type": "integer",
            "format": "int32",
            "description": "Bucket width in seconds: 1, 30 or 60."
          },
          "start": {
            "type": "integer",
            "format": "int32",
            "description": "Window start, unix seconds."
          },
          "triggers": {
            "type": "array",
            "description": "Sorted by start_at ascending.",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_campaigns_sendTimingTrigger"
            }
          }
        },
        "required": [
          "end",
          "resolution",
          "start",
          "triggers"
        ]
      },
      "services_ui_api_campaigns_sendTimingResponse": {
        "type": "object",
        "properties": {
          "send_timing": {
            "$ref": "#/components/schemas/services_ui_api_campaigns_sendTimingModel"
          }
        },
        "required": [
          "send_timing"
        ]
      },
      "services_ui_api_campaigns_sendTimingTrigger": {
        "type": "object",
        "properties": {
          "cancelled_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "first_sent_at": {
            "type": "integer",
            "format": "int32",
            "description": "First send across all days, 0 before any send data."
          },
          "has_line": {
            "type": "boolean"
          },
          "last_sent_at": {
            "type": "integer",
            "format": "int32",
            "description": "Last send across all days, 0 before any send data."
          },
          "points": {
            "type": "array",
            "description": "[bucket_start_unix, count] ascending. Zero buckets appear only between first_sent_at and last_sent_at.",
            "items": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          "processed_at": {
            "type": "integer",
            "format": "int32"
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int32"
          },
          "sends_in_window": {
            "type": "integer",
            "format": "int32"
          },
          "start_at": {
            "type": "integer",
            "format": "int32",
            "description": "scheduled_at when set, else created_at."
          },
          "total_sends": {
            "type": "integer",
            "format": "int32"
          },
          "trigger_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cancelled_at",
          "created_at",
          "first_sent_at",
          "has_line",
          "last_sent_at",
          "points",
          "processed_at",
          "scheduled_at",
          "sends_in_window",
          "start_at",
          "total_sends",
          "trigger_id"
        ]
      },
      "services_ui_api_campaigns_stickiesResponse": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Sticky"
            }
          }
        },
        "required": [
          "notes"
        ]
      },
      "services_ui_api_campaigns_stickyNoteParams": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          },
          "shape": {
            "$ref": "#/components/schemas/services_ui_api_model_Shape",
            "nullable": true
          },
          "x": {
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "content",
          "x",
          "y"
        ]
      },
      "services_ui_api_campaigns_stickyResponse": {
        "type": "object",
        "properties": {
          "note": {
            "$ref": "#/components/schemas/services_ui_api_model_Sticky"
          }
        },
        "required": [
          "note"
        ]
      },
      "services_ui_api_campaigns_subjectResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          },
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "subject": {
            "$ref": "#/components/schemas/services_ui_api_model_Subject"
          },
          "subject_steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubjectStep"
            }
          }
        },
        "required": [
          "actions",
          "campaigns",
          "customers",
          "subject",
          "subject_steps"
        ]
      },
      "services_ui_api_campaigns_trackedResponsesResponse": {
        "type": "object",
        "properties": {
          "tracked_responses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tracked_responses"
        ]
      },
      "services_ui_api_campaigns_triggerBroadcastRequest": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Merge data shared by every recipient. Up to 50KB; a few workspaces are raised to 500KB.",
            "nullable": true
          },
          "data_file_url": {
            "type": "string",
            "description": "URL of a newline-delimited JSON file, one per_user_data object per line, for audiences too large to send inline. At most 3056 characters: the URL is encrypted before storage and the 4096-character limit applies to the encrypted form. Exactly one recipient field is allowed, and one is required unless the broadcast itself has a saved recipients filter.",
            "nullable": true
          },
          "email_add_duplicates": {
            "type": "boolean",
            "description": "Send to every person sharing an email address rather than only one of them.",
            "nullable": true
          },
          "email_ignore_missing": {
            "type": "boolean",
            "description": "Skip email addresses that match no person instead of failing the trigger.",
            "nullable": true
          },
          "emails": {
            "type": "array",
            "description": "Recipient email addresses. At most 10000. Exactly one recipient field is allowed, and one is required unless the broadcast itself has a saved recipients filter.",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "expires_after": {
            "type": "integer",
            "format": "int32",
            "description": "Seconds after the send starts, past which messages that have not gone out yet are discarded instead of delivered. Omit or 0 for no expiry, and no more than 2592000 (30 days). The clock starts at scheduled_at when the send is scheduled, otherwise when this request arrives, so a late start shortens the window rather than extending it. Messages already handed to a delivery provider are not recalled.",
            "nullable": true
          },
          "id_ignore_missing": {
            "type": "boolean",
            "description": "Skip ids that match no person instead of failing the trigger.",
            "nullable": true
          },
          "ids": {
            "type": "array",
            "description": "Recipient person ids. At most 10000. Exactly one recipient field is allowed, and one is required unless the broadcast itself has a saved recipients filter.",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "per_user_data": {
            "description": "Array of one object per recipient, each identifying the person by id or email and carrying that person's merge data. At most 10000. Exactly one recipient field is allowed, and one is required unless the broadcast itself has a saved recipients filter.",
            "nullable": true
          },
          "recipients": {
            "description": "Segment-style filter selecting recipients when the broadcast is sent. Resolved at send time. Exactly one recipient field is allowed, and one is required unless the broadcast itself has a saved recipients filter.",
            "nullable": true
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int32",
            "description": "Unix timestamp in seconds to send at. Omit or 0 to send immediately. Refused if more than 5 minutes in the past. When the audience is resolved depends on how it was given: ids, emails, per_user_data and data_file_url are resolved when the request is made, while a recipients filter is evaluated when the send fires.",
            "nullable": true
          }
        }
      },
      "services_ui_api_campaigns_triggerBroadcastResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id"
        ]
      },
      "services_ui_api_campaigns_updateFromTemplateRequest": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string"
          }
        },
        "required": [
          "template"
        ]
      },
      "services_ui_api_campaigns_updateStickyRequest": {
        "type": "object",
        "properties": {
          "note": {
            "$ref": "#/components/schemas/services_ui_api_campaigns_stickyNoteParams"
          }
        },
        "required": [
          "note"
        ]
      },
      "services_ui_api_campaigns_validateResponse": {
        "type": "object",
        "properties": {
          "campaign_type": {
            "type": "string"
          },
          "in_app_content_warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_InAppContentWarning"
            }
          },
          "template_warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_TemplateWarning"
            }
          }
        },
        "required": [
          "campaign_type",
          "in_app_content_warnings",
          "template_warnings"
        ]
      },
      "services_ui_api_campaigns_webhookResponse": {
        "type": "object",
        "properties": {
          "webhook_id": {
            "type": "string"
          }
        },
        "required": [
          "webhook_id"
        ]
      },
      "services_ui_api_categories_CategoryRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_categories_categoriesResponse": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Category"
            }
          }
        },
        "required": [
          "categories"
        ]
      },
      "services_ui_api_categories_categoryCreateRequest": {
        "type": "object",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/services_ui_api_categories_CategoryRequest"
          }
        },
        "required": [
          "category"
        ]
      },
      "services_ui_api_categories_categoryResponse": {
        "type": "object",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/services_ui_api_model_Category",
            "nullable": true
          }
        }
      },
      "services_ui_api_categories_categoryUpdateRequest": {
        "type": "object",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/services_ui_api_categories_CategoryRequest"
          }
        },
        "required": [
          "category"
        ]
      },
      "services_ui_api_collections_CollectionUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "name"
                ]
              }
            },
            "required": [
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "description"
                ]
              }
            },
            "required": [
              "description",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "s3_import": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "s3_import"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "sheet": {
                "$ref": "#/components/schemas/services_ui_api_model_SheetImport",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "sheet"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "displayed_attributes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "displayed_attributes"
                ]
              }
            },
            "required": [
              "displayed_attributes",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "update_type": {
                "type": "string",
                "enum": [
                  "clear_error"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          }
        ]
      },
      "services_ui_api_collections_collectionItemsResponse": {
        "type": "object",
        "properties": {
          "collection_items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "collection_items",
          "total"
        ]
      },
      "services_ui_api_collections_collectionResponse": {
        "type": "object",
        "properties": {
          "collection": {
            "$ref": "#/components/schemas/services_ui_api_model_Collection",
            "nullable": true
          }
        }
      },
      "services_ui_api_collections_collectionUpdateBody": {
        "type": "object",
        "properties": {
          "collection": {
            "$ref": "#/components/schemas/services_ui_api_collections_CollectionUpdateRequest"
          }
        },
        "required": [
          "collection"
        ]
      },
      "services_ui_api_collections_collectionUsageAction": {
        "type": "object",
        "properties": {
          "attribute_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        },
        "required": [
          "attribute_name",
          "id",
          "name",
          "state"
        ]
      },
      "services_ui_api_collections_collectionUsageCampaign": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_collections_collectionUsageAction"
            }
          },
          "archived": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "referenced_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "actions",
          "archived",
          "id",
          "name",
          "referenced_in",
          "state",
          "type",
          "updated"
        ]
      },
      "services_ui_api_collections_collectionUsageModel": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_collections_collectionUsageCampaign"
            }
          }
        },
        "required": [
          "campaigns"
        ]
      },
      "services_ui_api_collections_collectionUsageResponse": {
        "type": "object",
        "properties": {
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_collections_collectionUsageModel",
            "nullable": true
          }
        }
      },
      "services_ui_api_collections_collectionsResponse": {
        "type": "object",
        "properties": {
          "collections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Collection"
            }
          }
        },
        "required": [
          "collections"
        ]
      },
      "services_ui_api_collections_createCollectionRequest": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "s3_import": {
                "type": "string",
                "nullable": true
              },
              "sheet": {
                "type": "object",
                "properties": {
                  "sheet_id": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "spreadsheet_id": {
                    "type": "string"
                  }
                },
                "required": [
                  "sheet_id",
                  "spreadsheet_id"
                ],
                "nullable": true
              }
            },
            "required": [
              "description",
              "name"
            ]
          }
        },
        "required": [
          "collection"
        ]
      },
      "services_ui_api_collections_queryRequest": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionFromUI"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "action"
        ]
      },
      "services_ui_api_collections_queryResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "errors": {
            "type": "object",
            "properties": {
              "collection_id": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "limit": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "collection_id",
              "limit"
            ]
          }
        },
        "required": [
          "data",
          "errors"
        ]
      },
      "services_ui_api_collections_signCollectionRequest": {
        "type": "object",
        "properties": {
          "size": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "size",
          "type"
        ]
      },
      "services_ui_api_collections_signCollectionResponse": {
        "type": "object",
        "properties": {
          "gcs": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          },
          "s3": {
            "$ref": "#/components/schemas/services_s3_UploadSignature",
            "nullable": true
          }
        }
      },
      "services_ui_api_conversations_conversationDelivery": {
        "type": "object",
        "properties": {
          "attempted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "failed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "failure_message": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "operation": {
            "type": "string",
            "nullable": true
          },
          "sent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "undeliverable": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "id",
          "state"
        ]
      },
      "services_ui_api_conversations_conversationDetailsResponse": {
        "type": "object",
        "properties": {
          "conversation": {
            "$ref": "#/components/schemas/services_ui_api_model_Conversation",
            "nullable": true
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_conversations_conversationDelivery"
            }
          }
        },
        "required": [
          "deliveries"
        ]
      },
      "services_ui_api_conversations_conversationsResponse": {
        "type": "object",
        "properties": {
          "conversations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Conversation"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "continuation": {
                "type": "string"
              }
            },
            "required": [
              "continuation"
            ]
          }
        },
        "required": [
          "conversations",
          "meta"
        ]
      },
      "services_ui_api_credentials_credentialPayload": {
        "type": "object",
        "properties": {
          "config": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "config",
          "password",
          "username"
        ]
      },
      "services_ui_api_credentials_credentialResponse": {
        "type": "object",
        "properties": {
          "credential": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionCredential",
            "nullable": true
          }
        }
      },
      "services_ui_api_credentials_identityMapping": {
        "type": "object",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/services_ui_api_credentials_twilioIdentityPayload"
          },
          "replacement": {
            "$ref": "#/components/schemas/services_ui_api_credentials_twilioIdentityPayload"
          }
        },
        "required": [
          "identity",
          "replacement"
        ]
      },
      "services_ui_api_credentials_mapIdentitiesRequest": {
        "type": "object",
        "properties": {
          "credential": {
            "$ref": "#/components/schemas/services_ui_api_credentials_credentialPayload"
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_credentials_identityMapping"
            }
          }
        },
        "required": [
          "credential",
          "identities"
        ]
      },
      "services_ui_api_credentials_prepareSwitchoverRequest": {
        "type": "object",
        "properties": {
          "credential": {
            "type": "object",
            "properties": {
              "config": {
                "type": "string"
              },
              "password": {
                "type": "string"
              },
              "username": {
                "type": "string"
              }
            },
            "required": [
              "config",
              "password",
              "username"
            ]
          }
        },
        "required": [
          "credential"
        ]
      },
      "services_ui_api_credentials_prepareSwitchoverResponse": {
        "type": "object",
        "properties": {
          "new_identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_credentials_twilioIdentityPayload"
            }
          }
        },
        "required": [
          "new_identities"
        ]
      },
      "services_ui_api_credentials_twilioIdentityPayload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "phone"
        ]
      },
      "services_ui_api_credentials_updateConfigRequest": {
        "type": "object",
        "properties": {
          "config": {
            "type": "string"
          }
        },
        "required": [
          "config"
        ]
      },
      "services_ui_api_credentials_upsertRequest": {
        "type": "object",
        "properties": {
          "credential": {
            "type": "object",
            "properties": {
              "config": {
                "type": "string"
              },
              "password": {
                "type": "string"
              },
              "username": {
                "type": "string"
              }
            },
            "required": [
              "config",
              "password",
              "username"
            ]
          }
        },
        "required": [
          "credential"
        ]
      },
      "services_ui_api_custom_dashboards_createRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_custom_dashboards_dashboard": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "content",
          "created_at",
          "description",
          "id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_custom_dashboards_dashboardListItem": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created_at",
          "description",
          "id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_custom_dashboards_dashboardResponse": {
        "type": "object",
        "properties": {
          "dashboard": {
            "$ref": "#/components/schemas/services_ui_api_custom_dashboards_dashboard",
            "nullable": true
          }
        }
      },
      "services_ui_api_custom_dashboards_dashboardsResponse": {
        "type": "object",
        "properties": {
          "dashboards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_custom_dashboards_dashboardListItem"
            }
          }
        },
        "required": [
          "dashboards"
        ]
      },
      "services_ui_api_custom_dashboards_updateRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_custom_forms_createFormRequestBody": {
        "type": "object",
        "properties": {
          "custom_form": {
            "type": "object",
            "properties": {
              "attr_maps": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_requestAttrMap"
                }
              },
              "html_form_id": {
                "type": "string"
              },
              "html_form_inputs": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "html_form_name": {
                "type": "string"
              },
              "html_form_url": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "attr_maps",
              "html_form_id",
              "html_form_inputs",
              "html_form_name",
              "html_form_url",
              "name"
            ]
          }
        },
        "required": [
          "custom_form"
        ]
      },
      "services_ui_api_custom_forms_createFormResponse": {
        "type": "object",
        "properties": {
          "custom_form": {
            "$ref": "#/components/schemas/services_ui_api_model_CustomForm"
          }
        },
        "required": [
          "custom_form"
        ]
      },
      "services_ui_api_custom_forms_getFormResponse": {
        "type": "object",
        "properties": {
          "custom_form": {
            "$ref": "#/components/schemas/services_ui_api_model_CustomForm"
          }
        },
        "required": [
          "custom_form"
        ]
      },
      "services_ui_api_custom_forms_indexFormsResponse": {
        "type": "object",
        "properties": {
          "custom_forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_CustomForm"
            }
          }
        },
        "required": [
          "custom_forms"
        ]
      },
      "services_ui_api_custom_forms_requestAttrMap": {
        "type": "object",
        "properties": {
          "cio_attr": {
            "type": "string"
          },
          "form_field_key": {
            "type": "string"
          },
          "form_field_type": {
            "type": "string"
          }
        },
        "required": [
          "cio_attr",
          "form_field_key",
          "form_field_type"
        ]
      },
      "services_ui_api_custom_forms_scanFormsResponse": {
        "type": "object",
        "properties": {
          "scanned_forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ScannedCustomForm"
            }
          }
        },
        "required": [
          "scanned_forms"
        ]
      },
      "services_ui_api_custom_forms_updateFormRequestBody": {
        "type": "object",
        "properties": {
          "custom_form": {
            "type": "object",
            "properties": {
              "attr_maps": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_custom_forms_requestAttrMap"
                }
              },
              "error": {
                "type": "string"
              },
              "html_form_inputs": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "html_form_url": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "status": {
                "type": "string"
              }
            },
            "required": [
              "attr_maps",
              "error",
              "html_form_inputs",
              "html_form_url",
              "name",
              "status"
            ]
          }
        },
        "required": [
          "custom_form"
        ]
      },
      "services_ui_api_custom_forms_updateFormResponse": {
        "type": "object",
        "properties": {
          "custom_form": {
            "$ref": "#/components/schemas/services_ui_api_model_CustomForm"
          }
        },
        "required": [
          "custom_form"
        ]
      },
      "services_ui_api_customers_ConsentRecord": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "nullable": true
          },
          "last_updated": {
            "type": "string"
          },
          "sender_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string"
          },
          "topic_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "last_updated",
          "state"
        ]
      },
      "services_ui_api_customers_CustomerSubscriptionsRequest": {
        "type": "object",
        "properties": {
          "customer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "internal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "customer_ids",
          "internal_ids"
        ]
      },
      "services_ui_api_customers_ExportCustomersRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "export_relationships": {
            "type": "boolean"
          },
          "exported_from": {
            "type": "string"
          },
          "filters": {
            "type": "string",
            "nullable": true
          },
          "relationship_object_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "required": [
          "export_relationships",
          "exported_from"
        ]
      },
      "services_ui_api_customers_ExportCustomersResponse": {
        "type": "object",
        "properties": {
          "export_id": {
            "type": "integer",
            "format": "int32"
          },
          "relationship_export_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "export_id"
        ]
      },
      "services_ui_api_customers_GetConsentStateResponse": {
        "type": "object",
        "properties": {
          "consent_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_customers_ConsentRecord"
            }
          }
        },
        "required": [
          "consent_records"
        ]
      },
      "services_ui_api_customers_GetCustomerResponse": {
        "type": "object",
        "properties": {
          "customer": {
            "$ref": "#/components/schemas/services_ui_api_model_Customer",
            "nullable": true
          }
        }
      },
      "services_ui_api_customers_GetOptOutsResponse": {
        "type": "object",
        "properties": {
          "opt_outs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_customers_OptOut"
            }
          }
        },
        "required": [
          "opt_outs"
        ]
      },
      "services_ui_api_customers_ListTestUsersResponse": {
        "type": "object",
        "properties": {
          "test_users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "test_users",
          "total"
        ]
      },
      "services_ui_api_customers_OptOut": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "optedout": {
            "type": "boolean"
          }
        },
        "required": [
          "channel",
          "from",
          "id",
          "optedout"
        ]
      },
      "services_ui_api_customers_SuppressionCountResponse": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "count"
        ]
      },
      "services_ui_api_customers_TestUserCountResponse": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "count",
          "limit"
        ]
      },
      "services_ui_api_customers_UnsuppressRequest": {
        "type": "object",
        "properties": {
          "customer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "dry_run": {
            "type": "boolean",
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "internal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_customers_UnsuppressResponse": {
        "type": "object",
        "properties": {
          "matched": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string"
          },
          "not_found": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "not_suppressed": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "matched",
          "message",
          "not_found",
          "not_suppressed"
        ]
      },
      "services_ui_api_customers_deleteParams": {
        "type": "object",
        "properties": {
          "customer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "internal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "suppress": {
            "type": "boolean",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_customers_indexReply": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "message",
              "pagination"
            ]
          }
        },
        "required": [
          "customers",
          "meta"
        ]
      },
      "services_ui_api_customers_listRelatedCustomersResponse": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "message",
              "pagination"
            ]
          },
          "relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Relationship"
            }
          }
        },
        "required": [
          "customers",
          "meta",
          "relationships"
        ]
      },
      "services_ui_api_customers_mergeRequestBody": {
        "type": "object",
        "properties": {
          "customer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "primary_customer_id": {
            "type": "string"
          }
        },
        "required": [
          "customer_ids",
          "primary_customer_id"
        ]
      },
      "services_ui_api_customers_optout": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string"
          },
          "optout": {
            "type": "boolean"
          }
        },
        "required": [
          "from",
          "optout"
        ]
      },
      "services_ui_api_customers_optoutsRequest": {
        "type": "object",
        "properties": {
          "optouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_customers_optout"
            }
          }
        },
        "required": [
          "optouts"
        ]
      },
      "services_ui_api_customers_relationship": {
        "type": "object",
        "properties": {
          "attributes": {},
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "entity1_id": {
            "type": "string"
          },
          "entity1_type": {
            "type": "string"
          },
          "entity2_id": {
            "type": "string"
          },
          "entity2_type": {
            "type": "string"
          }
        },
        "required": [
          "attributes",
          "created_at",
          "entity1_id",
          "entity1_type",
          "entity2_id",
          "entity2_type"
        ]
      },
      "services_ui_api_customers_relationshipsRequestBody": {
        "type": "object",
        "properties": {
          "relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_customers_relationship"
            }
          }
        },
        "required": [
          "relationships"
        ]
      },
      "services_ui_api_customers_requestBody": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "object",
                "additionalProperties": {}
              }
            },
            "required": [
              "attributes"
            ]
          }
        },
        "required": [
          "customer"
        ]
      },
      "services_ui_api_deliveries_DeliveryDetailResponse": {
        "type": "object",
        "properties": {
          "content_source": {
            "type": "string",
            "description": "stored: saved delivery content; current_template: rendered during this read with the current template, not proof of what was sent; live_activity: activity payload; redacted: forgotten content; unavailable: content could not be rendered"
          },
          "delivery": {
            "$ref": "#/components/schemas/services_ui_api_deliveries_deliveryStatus",
            "description": "Recorded delivery status and timing. Content rendered for this response does not advance this status; attempted does not establish a successful send."
          },
          "delivery_detail": {
            "$ref": "#/components/schemas/services_ui_api_model_DeliveryDetail",
            "nullable": true
          }
        },
        "required": [
          "content_source",
          "delivery"
        ]
      },
      "services_ui_api_deliveries_RecipientCompletions": {
        "type": "object",
        "properties": {
          "matches": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "partial": {
                "type": "boolean"
              }
            },
            "required": [
              "partial"
            ]
          }
        },
        "required": [
          "matches",
          "meta"
        ]
      },
      "services_ui_api_deliveries_deliveryFiltersResponse": {
        "type": "object",
        "properties": {
          "branch_messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DeliveryFilterBranchMessage"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DeliveryFilterCampaign"
            }
          },
          "in_app_broadcasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DeliveryFilterInAppBroadcast"
            }
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DeliveryFilterMessage"
            }
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DeliveryFilterNewsletter"
            }
          },
          "transactional_messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DeliveryFilterTransactionalMessage"
            }
          }
        },
        "required": [
          "branch_messages",
          "campaigns",
          "in_app_broadcasts",
          "messages",
          "newsletters",
          "transactional_messages"
        ]
      },
      "services_ui_api_deliveries_deliveryRedeliverRequest": {
        "type": "object",
        "properties": {
          "delivery_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "override_message_limit": {
            "type": "boolean",
            "nullable": true
          },
          "overrides": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "tracked": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "delivery_ids",
          "overrides"
        ]
      },
      "services_ui_api_deliveries_deliveryResponse": {
        "type": "object",
        "properties": {
          "delivery": {
            "$ref": "#/components/schemas/services_ui_api_model_Delivery",
            "nullable": true
          }
        }
      },
      "services_ui_api_deliveries_deliveryRetryRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "campaign_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "delivery_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "metric": {
            "type": "string"
          },
          "newsletter_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "override_message_limit": {
            "type": "boolean",
            "nullable": true
          },
          "template_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "transactional_message_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "campaign_ids",
          "delivery_ids",
          "metric",
          "type"
        ]
      },
      "services_ui_api_deliveries_deliverySendRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "campaign_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "delivery_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "newsletter_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "overrides": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "template_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "campaign_ids",
          "delivery_ids",
          "overrides",
          "type"
        ]
      },
      "services_ui_api_deliveries_deliveryStatus": {
        "type": "object",
        "properties": {
          "attempted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "delivered": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "failure_message": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "sent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "state"
        ]
      },
      "services_ui_api_deliveries_indexReply": {
        "type": "object",
        "properties": {
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Delivery"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "continuation": {
                "type": "string"
              }
            },
            "required": [
              "continuation"
            ]
          }
        },
        "required": [
          "deliveries",
          "meta"
        ]
      },
      "services_ui_api_design_studio_PublishResponse": {
        "type": "object",
        "properties": {
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_publishing_NodeMapping"
            }
          }
        },
        "required": [
          "mappings"
        ]
      },
      "services_ui_api_design_studio_inAppPublishRequest": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_design_studio_renderResponse": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string"
          },
          "node_type": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "html",
          "node_id",
          "node_type"
        ]
      },
      "services_ui_api_design_studio_whatsAppPublishResponse": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "whatsapp_template_id": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "status",
          "whatsapp_template_id"
        ]
      },
      "services_ui_api_domains_EntriTokenResponse": {
        "type": "object",
        "properties": {
          "application_id": {
            "type": "string"
          },
          "dns_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DNSRecord"
            }
          },
          "dns_ttl": {
            "type": "integer",
            "format": "int32"
          },
          "domain": {
            "type": "string"
          },
          "existing_dmarc": {
            "$ref": "#/components/schemas/services_domains_domains_DMARCProbeResult",
            "nullable": true
          },
          "token": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "application_id",
          "dns_records",
          "dns_ttl",
          "domain",
          "token",
          "user_id"
        ]
      },
      "services_ui_api_domains_createRequest": {
        "type": "object",
        "properties": {
          "auto_tls": {
            "type": "boolean"
          },
          "domain": {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string"
              }
            },
            "required": [
              "domain"
            ]
          }
        },
        "required": [
          "auto_tls",
          "domain"
        ]
      },
      "services_ui_api_domains_dnsSetupExchangeRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          }
        },
        "required": [
          "token"
        ]
      },
      "services_ui_api_domains_dnsSetupLinkResponse": {
        "type": "object",
        "properties": {
          "expires_in": {
            "type": "integer",
            "format": "int32"
          },
          "handoff_token": {
            "type": "string"
          }
        },
        "required": [
          "expires_in",
          "handoff_token"
        ]
      },
      "services_ui_api_domains_domainCheckDNSResponse": {
        "type": "object",
        "properties": {
          "domain_auth": {
            "$ref": "#/components/schemas/services_domains_domains_DNSCheckGroup",
            "nullable": true
          },
          "link_tracking": {
            "$ref": "#/components/schemas/services_domains_domains_DNSCheckGroup",
            "nullable": true
          }
        }
      },
      "services_ui_api_domains_domainCreateResponse": {
        "type": "object",
        "properties": {
          "auto_tls_domain": {
            "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomain",
            "nullable": true
          },
          "domain": {
            "$ref": "#/components/schemas/services_ui_api_model_Domain",
            "nullable": true
          }
        }
      },
      "services_ui_api_domains_domainListResponse": {
        "type": "object",
        "properties": {
          "auto_tls_domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomain"
            },
            "nullable": true
          },
          "domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Domain"
            }
          }
        },
        "required": [
          "domains"
        ]
      },
      "services_ui_api_domains_domainResponse": {
        "type": "object",
        "properties": {
          "auto_tls_domain": {
            "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomain",
            "nullable": true
          },
          "domain": {
            "$ref": "#/components/schemas/services_ui_api_model_Domain",
            "nullable": true
          },
          "email_send_volume": {
            "$ref": "#/components/schemas/services_ui_api_domains_emailSendVolume",
            "nullable": true
          }
        }
      },
      "services_ui_api_domains_domainUpdateResponse": {
        "type": "object",
        "properties": {
          "auto_tls_domain": {
            "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomain",
            "nullable": true
          },
          "domain": {
            "$ref": "#/components/schemas/services_ui_api_model_Domain",
            "nullable": true
          },
          "warnings": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_domains_domainVerifyResponse": {
        "type": "object",
        "properties": {
          "domain": {
            "$ref": "#/components/schemas/services_ui_api_model_Domain",
            "nullable": true
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          },
          "warnings": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_domains_emailSendVolume": {
        "type": "object",
        "properties": {
          "peak_daily_sends": {
            "type": "integer",
            "format": "int32"
          },
          "weekly_sends": {
            "type": "integer",
            "format": "int32"
          },
          "window_days": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "peak_daily_sends",
          "weekly_sends",
          "window_days"
        ]
      },
      "services_ui_api_domains_ipPoolRequest": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "string",
            "nullable": true
          },
          "ip_pool": {
            "type": "string"
          },
          "volume": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "ip_pool"
        ]
      },
      "services_ui_api_domains_setMailServerRequest": {
        "type": "object",
        "properties": {
          "mail_server_id": {
            "type": "string"
          }
        },
        "required": [
          "mail_server_id"
        ]
      },
      "services_ui_api_domains_updateDomainRequest": {
        "type": "object",
        "properties": {
          "cname": {
            "type": "string"
          }
        },
        "required": [
          "cname"
        ]
      },
      "services_ui_api_ds_ai_InlineEditRequest": {
        "type": "object",
        "properties": {
          "ancestor_tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "current_html": {
            "type": "string"
          },
          "image_url": {
            "type": "string",
            "nullable": true
          },
          "instruction": {
            "type": "string"
          },
          "quality": {
            "type": "string",
            "nullable": true
          },
          "selected_html": {
            "type": "string",
            "nullable": true
          },
          "tag_name": {
            "type": "string"
          }
        },
        "required": [
          "current_html",
          "instruction",
          "tag_name"
        ]
      },
      "services_ui_api_ds_ai_InlineEditResponse": {
        "type": "object",
        "properties": {
          "escalate": {
            "type": "boolean"
          },
          "replacement": {
            "type": "string"
          }
        },
        "required": [
          "escalate",
          "replacement"
        ]
      },
      "services_ui_api_ds_brand_document_BrandDocumentResponse": {
        "type": "object",
        "properties": {
          "exists": {
            "type": "boolean"
          },
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "markdown": {
            "type": "string"
          },
          "max_bytes": {
            "type": "integer",
            "format": "int32"
          },
          "max_lines": {
            "type": "integer",
            "format": "int32"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "exists",
          "markdown",
          "max_bytes",
          "max_lines"
        ]
      },
      "services_ui_api_ds_brand_document_generateBrandDocumentRequest": {
        "type": "object",
        "properties": {
          "global_styles": {
            "type": "object",
            "additionalProperties": {}
          },
          "run_id": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "global_styles",
          "run_id",
          "workflow_id"
        ]
      },
      "services_ui_api_ds_brand_document_generateBrandDocumentResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "workflow_id"
        ]
      },
      "services_ui_api_ds_brand_document_generateStatusResponse": {
        "type": "object",
        "properties": {
          "assets_import": {
            "type": "string",
            "nullable": true
          },
          "document": {
            "type": "string",
            "nullable": true
          },
          "imported_assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_enrichment_ImportedBrandAsset"
            },
            "nullable": true
          },
          "phase": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "skipped_assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_enrichment_SkippedBrandAsset"
            },
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "summarized_pdfs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_email_groups_emailGroupRequest": {
        "type": "object",
        "properties": {
          "email_addresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 25
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "email_addresses",
          "name"
        ]
      },
      "services_ui_api_ds_email_groups_emailGroupResponse": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "email_addresses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created_at",
          "email_addresses",
          "id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_ds_exports_screenshotRequest": {
        "type": "object",
        "properties": {
          "compile": {
            "type": "boolean",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string",
            "nullable": true
          },
          "width": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "width"
        ]
      },
      "services_ui_api_ds_exports_screenshotResponse": {
        "type": "object",
        "properties": {
          "expires_at": {
            "type": "integer",
            "format": "int64"
          },
          "height_px": {
            "type": "integer",
            "format": "int32"
          },
          "mime_type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "width_px": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "expires_at",
          "height_px",
          "mime_type",
          "url",
          "width_px"
        ]
      },
      "services_ui_api_ds_global_styles_brandInput": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "markdown": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "markdown"
        ]
      },
      "services_ui_api_ds_global_styles_processSource": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "object": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "kind"
        ]
      },
      "services_ui_api_ds_global_styles_processSourceStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "warning": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "label",
          "status"
        ]
      },
      "services_ui_api_ds_global_styles_processStatusResponse": {
        "type": "object",
        "properties": {
          "document": {
            "type": "string",
            "nullable": true
          },
          "imported_assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_enrichment_ImportedBrandAsset"
            },
            "nullable": true
          },
          "phase": {
            "type": "string",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processSourceStatus"
            },
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "styles": {
            "$ref": "#/components/schemas/services_ai_ExtractedGlobalStyles",
            "nullable": true
          },
          "summary": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_global_styles_processStylesRequest": {
        "type": "object",
        "properties": {
          "author_document": {
            "type": "boolean",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_global_styles_processSource"
            }
          }
        },
        "required": [
          "sources"
        ]
      },
      "services_ui_api_ds_global_styles_processStylesResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "workflow_id"
        ]
      },
      "services_ui_api_ds_global_styles_processUploadRequest": {
        "type": "object",
        "properties": {
          "mime_type": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "mime_type",
          "size"
        ]
      },
      "services_ui_api_ds_global_styles_processUploadResponse": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string"
          },
          "signature": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          }
        },
        "required": [
          "object"
        ]
      },
      "services_ui_api_ds_global_styles_referenceItem": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "services_ui_api_ds_global_styles_updateGlobalStylesRequest": {
        "type": "object",
        "properties": {
          "brand": {
            "$ref": "#/components/schemas/services_ui_api_ds_global_styles_brandInput",
            "nullable": true
          },
          "global_styles": {
            "nullable": true
          },
          "variant_replacements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_global_styles_variantReplacement"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_global_styles_variantReplacement": {
        "type": "object",
        "properties": {
          "deleted_variant": {
            "type": "string"
          },
          "group": {
            "type": "string"
          },
          "replacement_variant": {
            "type": "string"
          }
        },
        "required": [
          "deleted_variant",
          "group",
          "replacement_variant"
        ]
      },
      "services_ui_api_ds_inbox_previews_clientGroup": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "description": "The group's Mailgun client ids, as the clients endpoint spells them.",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int32",
            "description": "Unix seconds."
          },
          "created_by": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The group's name as stored: trimmed, with line breaks and control characters replaced by spaces."
          },
          "updated_at": {
            "type": "integer",
            "format": "int32",
            "description": "Unix seconds."
          },
          "updated_by": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "clients",
          "created_at",
          "created_by",
          "id",
          "name",
          "updated_at",
          "updated_by"
        ]
      },
      "services_ui_api_ds_inbox_previews_clientPreview": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "cached": {
            "type": "boolean",
            "description": "True when this device was served from an earlier run's render and this batch was not charged for it.",
            "nullable": true
          },
          "category": {
            "type": "string"
          },
          "client": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "error": {
            "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewError",
            "nullable": true
          },
          "fullThumbnail": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "os": {
            "type": "string"
          },
          "screenshots": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "statusDetails": {
            "$ref": "#/components/schemas/services_clients_mailgun_previews_StatusDetails",
            "nullable": true
          },
          "thumbnail": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "category",
          "client",
          "displayName",
          "fullThumbnail",
          "id",
          "os",
          "status",
          "thumbnail"
        ]
      },
      "services_ui_api_ds_inbox_previews_clientsResponse": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewClient"
            }
          }
        },
        "required": [
          "clients"
        ]
      },
      "services_ui_api_ds_inbox_previews_createClientGroupRequest": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "description": "Mailgun client ids, spelled as the clients endpoint spells them. Each is at most 64 characters, non-empty, and uses only letters, digits, underscores and hyphens. Lowercased before they are stored, so the group reads back that way whatever case you send; duplicates are dropped on the lowercased form.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 150
          },
          "name": {
            "type": "string",
            "description": "The group's name. Trimmed, and line breaks and control characters become spaces. Cannot be blank, and must be unique in the workspace, compared case-sensitively — a clash is a 409.",
            "minLength": 1,
            "maxLength": 191
          }
        },
        "required": [
          "clients",
          "name"
        ]
      },
      "services_ui_api_ds_inbox_previews_createPreviewJobRequest": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "description": "Mailgun client ids, spelled as the clients endpoint spells them. Every node is previewed on every client. Each is at most 64 characters, non-empty, and uses only letters, digits, underscores and hyphens. Lowercased before they are stored, so the response and the preview history report them that way whatever case you send; duplicates are dropped on the lowercased form.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 150
          },
          "entry_point": {
            "type": "string",
            "description": "The UI entry point for request analytics. Excluded from batch identity.",
            "enum": [
              "test_menu",
              "review_panel_tab",
              "review_panel",
              "preview_again"
            ],
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "An optional label for the batch, shown in the preview history. Trimmed, and line breaks and control characters become spaces. Omit it for an unnamed batch.",
            "nullable": true,
            "maxLength": 191
          },
          "renders": {
            "type": "array",
            "description": "The nodes to preview, each with the liquid render hash GET .../renders/{render_job_id} reported for it. Nodes whose content rendered identically are collapsed into one entry.",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewRenderRequest"
            },
            "minItems": 1,
            "maxItems": 51
          }
        },
        "required": [
          "clients",
          "renders"
        ]
      },
      "services_ui_api_ds_inbox_previews_createPreviewJobResponse": {
        "type": "object",
        "properties": {
          "preview_job_id": {
            "type": "string",
            "description": "The run's content-derived id — the replay key. The poll route accepts it too."
          },
          "run_id": {
            "type": "integer",
            "format": "int64",
            "description": "The run's numeric id. Poll GET .../ds/inbox_previews/previews/{preview_job_id} with it, and use it in links to the run."
          }
        },
        "required": [
          "preview_job_id",
          "run_id"
        ]
      },
      "services_ui_api_ds_inbox_previews_creditPool": {
        "type": "object",
        "properties": {
          "credits_original": {
            "type": "integer",
            "format": "int64",
            "description": "The pool as granted, in whole previews."
          },
          "credits_remaining": {
            "type": "integer",
            "format": "int64",
            "description": "What is left of the pool, in whole previews."
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "description": "When the pool lapses, unix seconds. Null for a pool that does not expire.",
            "nullable": true
          },
          "tier": {
            "type": "string",
            "enum": [
              "free",
              "paid"
            ]
          }
        },
        "required": [
          "credits_original",
          "credits_remaining",
          "tier"
        ]
      },
      "services_ui_api_ds_inbox_previews_nodePreview": {
        "type": "object",
        "properties": {
          "is_processed": {
            "type": "boolean"
          },
          "liquid_render_hash": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          },
          "node_language": {
            "type": "string"
          },
          "node_language_group_id": {
            "type": "string"
          },
          "node_name": {
            "type": "string"
          },
          "previews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_clientPreview"
            }
          },
          "previews_bounced": {
            "type": "integer",
            "format": "int32",
            "description": "Devices that have failed, of the ones this node generated, whether at the vendor or on our side — the refund. Excludes previews served from cache."
          },
          "previews_cached": {
            "type": "integer",
            "format": "int32",
            "description": "How many of the requested devices were served from an earlier batch's renders, and so were not charged."
          },
          "previews_requested": {
            "type": "integer",
            "format": "int32",
            "description": "Devices this node asked for, cache hits included. The length of previews."
          },
          "previews_succeeded": {
            "type": "integer",
            "format": "int32",
            "description": "Devices that have rendered, of the ones this node generated — the charge. Excludes previews served from cache, so this and previews_bounced count towards previews_requested minus previews_cached rather than towards previews_requested."
          }
        },
        "required": [
          "is_processed",
          "liquid_render_hash",
          "node_id",
          "node_language",
          "node_language_group_id",
          "node_name",
          "previews",
          "previews_bounced",
          "previews_cached",
          "previews_requested",
          "previews_succeeded"
        ]
      },
      "services_ui_api_ds_inbox_previews_nodeRenderError": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "process",
              "liquid",
              "other"
            ]
          }
        },
        "required": [
          "message",
          "type"
        ]
      },
      "services_ui_api_ds_inbox_previews_nodeRenderStatus": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Rendered HTML. Present when status is success and include_content was set.",
            "nullable": true
          },
          "error": {
            "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_nodeRenderError",
            "nullable": true
          },
          "liquid_render_hash": {
            "type": "string",
            "description": "Names the stored render. Present when status is success.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "error",
              "success"
            ]
          },
          "subject": {
            "type": "string",
            "description": "Rendered subject line. Present when status is success and include_content was set.",
            "nullable": true
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewClient": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "client": {
            "type": "string"
          },
          "default": {
            "type": "boolean"
          },
          "extension": {
            "type": "string"
          },
          "free": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "imageBlocking": {
            "type": "boolean"
          },
          "os": {
            "type": "string"
          },
          "rotate": {
            "type": "boolean"
          }
        },
        "required": [
          "browser",
          "category",
          "client",
          "default",
          "extension",
          "free",
          "id",
          "imageBlocking",
          "os",
          "rotate"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewError": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "vendor_request",
              "client_rejected",
              "vendor_timeout",
              "abandoned",
              "other",
              "bounced",
              "expired"
            ]
          }
        },
        "required": [
          "message",
          "type"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewHistoryEntry": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "When the run was submitted, unix seconds. The listing is sorted on this, newest first."
          },
          "is_processed": {
            "type": "boolean",
            "description": "True once every counted node has settled and the outcome totals are final."
          },
          "name": {
            "type": "string",
            "description": "The run's name, empty when unnamed."
          },
          "node_count": {
            "type": "integer",
            "format": "int32",
            "description": "How many nodes this run covered. Under a node_id filter, how many of them matched."
          },
          "node_languages": {
            "type": "array",
            "description": "One language tag per counted node, in submission order. The empty string where a node has no language: an untranslated message, a group's default, or a node deleted since the run.",
            "items": {
              "type": "string"
            }
          },
          "node_name": {
            "type": "string",
            "description": "The message's current name, from whichever of the run's nodes still resolves one. Empty only when every node the run covered has been deleted."
          },
          "preview_job_id": {
            "type": "string"
          },
          "run_id": {
            "type": "integer",
            "format": "int64",
            "description": "The run's numeric id, interchangeable with preview_job_id for reopening it. Use it in links to the run."
          },
          "total_previews_bounced": {
            "type": "integer",
            "format": "int32",
            "description": "Devices that failed, of the ones this run generated — the refund. Counts only the nodes that have settled, so it is partial until is_processed."
          },
          "total_previews_cached": {
            "type": "integer",
            "format": "int32",
            "description": "How many of them were served from an earlier run's renders, and so were not charged."
          },
          "total_previews_requested": {
            "type": "integer",
            "format": "int32",
            "description": "Devices the run asked for, cache hits included."
          },
          "total_previews_succeeded": {
            "type": "integer",
            "format": "int32",
            "description": "Devices that rendered, of the ones this run generated — the charge. Counts only the nodes that have settled, so it is partial until is_processed."
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "When any counted node of the run last changed, unix seconds."
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "is_processed",
          "name",
          "node_count",
          "node_languages",
          "node_name",
          "preview_job_id",
          "run_id",
          "total_previews_bounced",
          "total_previews_cached",
          "total_previews_requested",
          "total_previews_succeeded",
          "updated_at",
          "user_id"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewHistoryMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewHistoryPagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewHistoryPagination": {
        "type": "object",
        "properties": {
          "next_cursor": {
            "type": "string",
            "description": "Pass as ?cursor= to fetch the next page. Its absence is the only end-of-list signal: a page holding fewer runs than requested may still have more behind it.",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "The page size requested, counted in runs. A page may hold fewer and still not be the end — page until next_cursor is absent."
          }
        },
        "required": [
          "size"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewHistoryResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewHistoryMeta"
          },
          "preview_jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_previewHistoryEntry"
            }
          }
        },
        "required": [
          "meta",
          "preview_jobs"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewJobResponse": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "string",
            "description": "Comma-separated device ids the batch asked for, cached ones included. Each entry's previews holds one tile per id, in this order."
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "description": "When the batch was submitted, unix seconds."
          },
          "is_processed": {
            "type": "boolean",
            "description": "True once every node has settled. Poll until this is true."
          },
          "name": {
            "type": "string",
            "description": "The batch's name, empty when unnamed."
          },
          "node_previews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_inbox_previews_nodePreview"
            }
          },
          "preview_job_id": {
            "type": "string"
          },
          "run_id": {
            "type": "integer",
            "format": "int64",
            "description": "The run's numeric id, interchangeable with preview_job_id on this route. Use it in links to the run."
          },
          "total_previews_bounced": {
            "type": "integer",
            "format": "int32",
            "description": "Devices that have failed across the batch, of the ones it generated — the refund."
          },
          "total_previews_cached": {
            "type": "integer",
            "format": "int32",
            "description": "How many of them were served from earlier renders, and so were not charged."
          },
          "total_previews_requested": {
            "type": "integer",
            "format": "int32",
            "description": "Devices the whole batch asked for, cache hits included."
          },
          "total_previews_succeeded": {
            "type": "integer",
            "format": "int32",
            "description": "Devices that have rendered across the batch, of the ones it generated — the charge."
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "description": "When any node of the batch last changed, unix seconds."
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "clients",
          "created_at",
          "is_processed",
          "name",
          "node_previews",
          "preview_job_id",
          "run_id",
          "total_previews_bounced",
          "total_previews_cached",
          "total_previews_requested",
          "total_previews_succeeded",
          "updated_at",
          "user_id"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewRenderRequest": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string",
            "description": "The Design Studio email node id, as a v4 UUID. Other UUID spellings are accepted and stored in the canonical lower-case hyphenated form.",
            "maxLength": 36
          },
          "render_hash": {
            "type": "string",
            "description": "The liquid render hash the render job reported for this node. Must name a render that completed successfully.",
            "maxLength": 64
          }
        },
        "required": [
          "node_id",
          "render_hash"
        ]
      },
      "services_ui_api_ds_inbox_previews_previewResult": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "client": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "fullThumbnail": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "os": {
            "type": "string"
          },
          "screenshots": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "statusDetails": {
            "$ref": "#/components/schemas/services_clients_mailgun_previews_StatusDetails",
            "nullable": true
          },
          "thumbnail": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "category",
          "client",
          "displayName",
          "fullThumbnail",
          "id",
          "os",
          "status",
          "thumbnail"
        ]
      },
      "services_ui_api_ds_inbox_previews_renameJobRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The batch's new name. Trimmed, and line breaks and control characters become spaces. Send \"\" to leave the batch unnamed.",
            "maxLength": 191
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_ds_inbox_previews_renameJobResponse": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The batch's name as stored: trimmed, with line breaks and control characters replaced by spaces. Empty when the batch is unnamed."
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_ds_inbox_previews_startRenderRequest": {
        "type": "object",
        "properties": {
          "lax_mode": {
            "type": "boolean",
            "description": "When true, render missing Liquid variables as empty strings instead of failing the node.",
            "nullable": true
          },
          "node_ids": {
            "type": "array",
            "description": "Design Studio email node ids to render. One node, or a message's whole language group.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 51
          },
          "sample_data": {
            "description": "Liquid variables to render with, as a JSON object. Defaults to none.",
            "nullable": true
          }
        },
        "required": [
          "node_ids"
        ]
      },
      "services_ui_api_ds_inbox_previews_startRenderResponse": {
        "type": "object",
        "properties": {
          "render_job_id": {
            "type": "string",
            "description": "Poll GET .../ds/inbox_previews/renders/{render_job_id} with this until no node is pending."
          }
        },
        "required": [
          "render_job_id"
        ]
      },
      "services_ui_api_ds_inbox_previews_updateClientGroupRequest": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "description": "The group's new client ids, replacing the previous list entirely. Each is at most 64 characters, non-empty, and uses only letters, digits, underscores and hyphens, and is lowercased before it is stored. Omit to leave them unchanged.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "minItems": 1,
            "maxItems": 150
          },
          "name": {
            "type": "string",
            "description": "The group's new name. Trimmed, and line breaks and control characters become spaces. Cannot be blank, and must be unique in the workspace, compared case-sensitively — a clash is a 409. Omit the key to leave it unchanged.",
            "nullable": true,
            "minLength": 1,
            "maxLength": 191
          }
        }
      },
      "services_ui_api_ds_nodes_BaseNodeFields": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "short_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_CommentResponse": {
        "type": "object",
        "properties": {
          "content": {
            "type": "object",
            "additionalProperties": {}
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          },
          "node_id": {
            "type": "string"
          },
          "reply_count": {
            "type": "integer",
            "format": "int32"
          },
          "reply_to": {
            "type": "string",
            "nullable": true
          },
          "resolved_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "resolved_by": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_UserInfo",
            "nullable": true
          },
          "version_id": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "created_at",
          "id",
          "meta",
          "node_id",
          "reply_count",
          "status",
          "type",
          "version_id"
        ]
      },
      "services_ui_api_ds_nodes_ComponentResponse": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_componentParts"
          },
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_componentSettings"
          },
          "short_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "component_name",
          "created_at",
          "id",
          "is_template",
          "name",
          "parts",
          "settings",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_CreateNodeResponse": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "envelope_details": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "inbound_id": {
            "type": "string",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "journeys_parent_entity_type": {
            "type": "string",
            "nullable": true
          },
          "journeys_template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "journeys_workspace_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "language_group_id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "settings": {},
          "short_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_name": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_VariantResponse",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "settings",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_NodeSkeletonsResponse": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "envelope_details": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "inbound_id": {
            "type": "string",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "journeys_parent_entity_type": {
            "type": "string",
            "nullable": true
          },
          "journeys_template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "journeys_workspace_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "language_group_id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "short_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_name": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_VariantResponse",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_PatchNodeCustomHeader": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ui_api_ds_nodes_PatchNodeEnvelope": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "nullable": true
          },
          "custom_headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_PatchNodeCustomHeader"
            },
            "nullable": true
          },
          "fake_bcc": {
            "type": "boolean",
            "nullable": true
          },
          "preheader_text": {
            "type": "string",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "nullable": true
          },
          "reply_to_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sender_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_PatchNodeParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_PatchNodeRequest": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "description": "COMPONENT nodes only. Must be a valid custom-element tag.",
            "nullable": true
          },
          "envelope_details": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_PatchNodeEnvelope",
            "description": "Merged into the stored envelope; null or empty-string values clear a field. EMAIL and WHATSAPP nodes only.",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "description": "EMAIL nodes only. Rejected with 409 when the node is Journeys-linked.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "New node name. Renaming a translation node is rejected — rename the default-language node instead.",
            "nullable": true
          },
          "parent_id": {
            "type": "string",
            "description": "Target folder UUID, or null to move the node to the root.",
            "nullable": true
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_PatchNodeParts",
            "description": "Node content parts. html takes precedence over content (both write the same column).",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "description": "Node settings. Client-settable keys vary by node type; non-settable keys are silently ignored.",
            "additionalProperties": {},
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_PatchNodeResponse": {
        "type": "object",
        "properties": {
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_SearchMatch": {
        "type": "object",
        "properties": {
          "character": {
            "type": "integer",
            "format": "int32"
          },
          "line": {
            "type": "integer",
            "format": "int32"
          },
          "preview": {
            "type": "string"
          }
        },
        "required": [
          "character",
          "line",
          "preview"
        ]
      },
      "services_ui_api_ds_nodes_SearchResultPart": {
        "type": "object",
        "properties": {
          "file_id": {
            "type": "string"
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_SearchMatch"
            }
          },
          "part": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "file_id",
          "matches",
          "part",
          "path"
        ]
      },
      "services_ui_api_ds_nodes_UserInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "image": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "image",
          "name"
        ]
      },
      "services_ui_api_ds_nodes_VariantResponse": {
        "type": "object",
        "properties": {
          "ab_test_state": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string"
          },
          "parent_id": {
            "type": "integer",
            "format": "int32"
          },
          "parent_type": {
            "type": "string"
          },
          "variant_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "node_id",
          "parent_id",
          "parent_type"
        ]
      },
      "services_ui_api_ds_nodes_bulkDeleteRequest": {
        "type": "object",
        "properties": {
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 100
          }
        },
        "required": [
          "node_ids"
        ]
      },
      "services_ui_api_ds_nodes_bulkDeleteResponse": {
        "type": "object",
        "properties": {
          "deleted_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "deleted_count"
        ]
      },
      "services_ui_api_ds_nodes_bulkDuplicateRequest": {
        "type": "object",
        "properties": {
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50
          }
        },
        "required": [
          "node_ids"
        ]
      },
      "services_ui_api_ds_nodes_bulkDuplicateResponse": {
        "type": "object",
        "properties": {
          "duplicated": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkDuplicatedItem"
            }
          }
        },
        "required": [
          "duplicated"
        ]
      },
      "services_ui_api_ds_nodes_bulkDuplicatedItem": {
        "type": "object",
        "properties": {
          "new_id": {
            "type": "string"
          },
          "original_id": {
            "type": "string"
          }
        },
        "required": [
          "new_id",
          "original_id"
        ]
      },
      "services_ui_api_ds_nodes_bulkMoveMovedItem": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "node_id"
        ]
      },
      "services_ui_api_ds_nodes_bulkMoveRequest": {
        "type": "object",
        "properties": {
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 50
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "node_ids"
        ]
      },
      "services_ui_api_ds_nodes_bulkMoveResponse": {
        "type": "object",
        "properties": {
          "moved": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_bulkMoveMovedItem"
            }
          }
        },
        "required": [
          "moved"
        ]
      },
      "services_ui_api_ds_nodes_bulkPublishRequest": {
        "type": "object",
        "properties": {
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 100
          }
        },
        "required": [
          "node_ids"
        ]
      },
      "services_ui_api_ds_nodes_bulkPublishResponse": {
        "type": "object",
        "properties": {
          "failed": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_publishing_BulkPublishFailure"
            }
          },
          "run_id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "successful": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "workflow_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "failed",
          "status",
          "successful"
        ]
      },
      "services_ui_api_ds_nodes_componentParts": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          }
        },
        "required": [
          "content"
        ]
      },
      "services_ui_api_ds_nodes_componentReference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "services_ui_api_ds_nodes_componentSettings": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_ds_nodes_confirmBeeConversionRequest": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_confirmTemplateContent"
            }
          }
        },
        "required": [
          "node_id",
          "templates"
        ]
      },
      "services_ui_api_ds_nodes_confirmBeeConversionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_nodes_confirmTemplateContent": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "body_amp": {
            "type": "string"
          },
          "body_json": {
            "type": "string"
          },
          "body_plain": {
            "type": "string"
          },
          "envelope_details": {
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "body",
          "body_amp",
          "body_json",
          "body_plain",
          "template_id"
        ]
      },
      "services_ui_api_ds_nodes_convertFromBeeRequest": {
        "type": "object",
        "properties": {
          "source_template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "template_id"
        ]
      },
      "services_ui_api_ds_nodes_convertFromBeeResponse": {
        "type": "object",
        "properties": {
          "envelope": {
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "settings": {
            "nullable": true
          },
          "short_id": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "is_template",
          "name",
          "short_id",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_createCommentRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "object",
            "additionalProperties": {}
          },
          "id": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          },
          "reply_to": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "COMMENT",
              "ANNOTATION",
              "APPROVAL",
              "REQUEST_CHANGES"
            ]
          },
          "version_id": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "id",
          "meta",
          "type",
          "version_id"
        ]
      },
      "services_ui_api_ds_nodes_createLanguageTranslationsRequest": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "languages"
        ]
      },
      "services_ui_api_ds_nodes_createLanguageTranslationsResponse": {
        "type": "object",
        "properties": {
          "language_group_id": {
            "type": "string"
          },
          "source_node_id": {
            "type": "string"
          },
          "translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_languageTranslationNode"
            }
          }
        },
        "required": [
          "language_group_id",
          "source_node_id",
          "translations"
        ]
      },
      "services_ui_api_ds_nodes_createNodeParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_createNodeRequest": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "envelope_details": {
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "inbound_id": {
            "type": "string",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_createNodeParts",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          },
          "short_id": {
            "type": "string",
            "nullable": true
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "settings",
          "type"
        ]
      },
      "services_ui_api_ds_nodes_duplicateMultiLanguageGroupRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_ds_nodes_duplicateMultiLanguageGroupResponse": {
        "type": "object",
        "properties": {
          "language_group_id": {
            "type": "string"
          }
        },
        "required": [
          "language_group_id"
        ]
      },
      "services_ui_api_ds_nodes_feedbackVersion": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "feedback": {
            "type": "boolean"
          },
          "hydra_saved_by": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "metadata": {},
          "name": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          },
          "nodes": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_feedbackVersionNode"
            }
          },
          "primary_node": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_feedbackVersionNode",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "description",
          "feedback",
          "id",
          "metadata",
          "name",
          "node_id",
          "nodes"
        ]
      },
      "services_ui_api_ds_nodes_feedbackVersionNode": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "envelope_details": {},
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_feedbackVersionNodeParts"
          },
          "settings": {},
          "type": {
            "type": "string"
          }
        },
        "required": [
          "envelope_details",
          "id",
          "name",
          "parts",
          "settings",
          "type"
        ]
      },
      "services_ui_api_ds_nodes_feedbackVersionNodeParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "amp",
          "html",
          "text"
        ]
      },
      "services_ui_api_ds_nodes_folderNodeResponse": {
        "type": "object",
        "properties": {
          "breadcrumb": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "breadcrumb",
          "id",
          "name"
        ]
      },
      "services_ui_api_ds_nodes_getComponentReferencesRequest": {
        "type": "object",
        "properties": {
          "component_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "component_ids"
        ]
      },
      "services_ui_api_ds_nodes_getComponentReferencesResponse": {
        "type": "object",
        "properties": {
          "references": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_componentReference"
              }
            }
          }
        },
        "required": [
          "references"
        ]
      },
      "services_ui_api_ds_nodes_getNodeParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_getNodeResponse": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "envelope_details": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "inbound_id": {
            "type": "string",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "journeys_parent_entity_type": {
            "type": "string",
            "nullable": true
          },
          "journeys_template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "journeys_workspace_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "language_group_id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_getNodeParts",
            "nullable": true
          },
          "settings": {},
          "short_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_name": {
            "type": "string",
            "nullable": true
          },
          "variant": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_VariantResponse",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "settings",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_getStartedResponse": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string"
          },
          "short_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created_at",
          "id",
          "is_template",
          "name",
          "path",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_getTreeResponse": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_treeNode"
            }
          },
          "variants": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/services_ui_api_ds_nodes_treeNode"
              }
            }
          }
        },
        "required": [
          "nodes",
          "variants"
        ]
      },
      "services_ui_api_ds_nodes_htmlToCartaStartResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_ds_nodes_htmlToCartaStatusResponse": {
        "type": "object",
        "properties": {
          "phase": {
            "type": "string",
            "nullable": true
          },
          "repair_pass": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "repair_reason": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/services_ai_htmlconvert_ConvertHTMLResult",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_nodes_journeysTemplateNodeResponse": {
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "node_id": {
            "type": "string"
          }
        },
        "required": [
          "environment_id",
          "node_id"
        ]
      },
      "services_ui_api_ds_nodes_languageTranslationListNode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "language",
          "name"
        ]
      },
      "services_ui_api_ds_nodes_languageTranslationNode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "language": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "language"
        ]
      },
      "services_ui_api_ds_nodes_linkableNode": {
        "type": "object",
        "properties": {
          "envelope_details": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "is_linked": {
            "type": "boolean"
          },
          "is_template": {
            "type": "boolean"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "language_group_id": {
            "type": "string",
            "nullable": true
          },
          "latest_render": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_linkableNodeParts"
          },
          "path": {
            "type": "string"
          },
          "settings": {
            "type": "string"
          },
          "short_id": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "is_linked",
          "is_template",
          "latest_render",
          "name",
          "parts",
          "path",
          "settings",
          "short_id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_linkableNodeParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "amp",
          "html",
          "text"
        ]
      },
      "services_ui_api_ds_nodes_linkableNodesResponse": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_linkableNode"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "nodes",
          "total"
        ]
      },
      "services_ui_api_ds_nodes_listLanguageTranslationsResponse": {
        "type": "object",
        "properties": {
          "language_group_id": {
            "type": "string",
            "nullable": true
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_languageTranslationListNode"
            }
          }
        },
        "required": [
          "nodes"
        ]
      },
      "services_ui_api_ds_nodes_nodeJourneysLink": {
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "journeys_parent_entity_id": {
            "type": "integer",
            "format": "int32"
          },
          "journeys_parent_entity_type": {
            "type": "string"
          },
          "journeys_template_id": {
            "type": "integer",
            "format": "int32"
          },
          "node_id": {
            "type": "string"
          },
          "tracked": {
            "type": "boolean"
          }
        },
        "required": [
          "environment_id",
          "journeys_parent_entity_id",
          "journeys_parent_entity_type",
          "journeys_template_id",
          "node_id",
          "tracked"
        ]
      },
      "services_ui_api_ds_nodes_nodeJourneysLinksResponse": {
        "type": "object",
        "properties": {
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_nodeJourneysLink"
            }
          }
        },
        "required": [
          "links"
        ]
      },
      "services_ui_api_ds_nodes_nodeWithRenderedContentResponse": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "envelope": {
            "nullable": true
          },
          "html": {
            "type": "string"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "language_group_id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          },
          "settings": {
            "nullable": true
          },
          "text": {
            "type": "string"
          },
          "translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_renderedTranslation"
            }
          }
        },
        "required": [
          "amp",
          "html",
          "name",
          "node_id",
          "text",
          "translations"
        ]
      },
      "services_ui_api_ds_nodes_publishInboxResponse": {
        "type": "object",
        "properties": {
          "template_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "version_id": {
            "type": "string"
          }
        },
        "required": [
          "template_ids",
          "version_id"
        ]
      },
      "services_ui_api_ds_nodes_publishNodeResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_nodes_publishNodeStatusResponse": {
        "type": "object",
        "properties": {
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_designstudio_publishing_NodeMapping"
            },
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_nodes_recentlyEditedNode": {
        "type": "object",
        "properties": {
          "component_name": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created_at",
          "id",
          "is_template",
          "name",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_ds_nodes_relinkRequest": {
        "type": "object",
        "properties": {
          "delete_from_node": {
            "type": "boolean"
          },
          "from_node_id": {
            "type": "string"
          },
          "to_node_id": {
            "type": "string"
          }
        },
        "required": [
          "delete_from_node",
          "from_node_id",
          "to_node_id"
        ]
      },
      "services_ui_api_ds_nodes_relinkResponse": {
        "type": "object",
        "properties": {
          "from_node_deleted": {
            "type": "boolean"
          },
          "node_id": {
            "type": "string"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "from_node_deleted",
          "node_id",
          "template_id"
        ]
      },
      "services_ui_api_ds_nodes_renderResponse": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "node_id"
        ]
      },
      "services_ui_api_ds_nodes_renderedSourceParts": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_renderedTranslation": {
        "type": "object",
        "properties": {
          "amp": {
            "type": "string"
          },
          "envelope": {
            "nullable": true
          },
          "html": {
            "type": "string"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          },
          "parts": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_renderedSourceParts"
          },
          "settings": {
            "nullable": true
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "amp",
          "html",
          "name",
          "node_id",
          "parts",
          "text"
        ]
      },
      "services_ui_api_ds_nodes_requestFeedbackRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_nodes_revertBeeConversionRequest": {
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          }
        },
        "required": [
          "node_id"
        ]
      },
      "services_ui_api_ds_nodes_revertBeeConversionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_nodes_searchResponse": {
        "type": "object",
        "properties": {
          "limited_set": {
            "type": "boolean"
          },
          "number_of_files": {
            "type": "integer",
            "format": "int32"
          },
          "number_of_matches": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_nodes_SearchResultPart"
            }
          }
        },
        "required": [
          "limited_set",
          "number_of_files",
          "number_of_matches",
          "results"
        ]
      },
      "services_ui_api_ds_nodes_takeOverNodeRequest": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "client_id"
        ]
      },
      "services_ui_api_ds_nodes_treeNode": {
        "type": "object",
        "properties": {
          "children": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "journeys_template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "variant": {
            "$ref": "#/components/schemas/services_ui_api_ds_nodes_treeNodeVariant",
            "nullable": true
          }
        },
        "required": [
          "children",
          "id",
          "name",
          "type"
        ]
      },
      "services_ui_api_ds_nodes_treeNodeVariant": {
        "type": "object",
        "properties": {
          "ab_test_state": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "journeys_ab_test_parent_entity_id": {
            "type": "integer",
            "format": "int32"
          },
          "journeys_parent_entity_type": {
            "type": "string"
          }
        },
        "required": [
          "journeys_ab_test_parent_entity_id",
          "journeys_parent_entity_type"
        ]
      },
      "services_ui_api_ds_nodes_validateComponentNameResponse": {
        "type": "object"
      },
      "services_ui_api_ds_org_patterns_document_OrgPatternsDocumentResponse": {
        "type": "object",
        "properties": {
          "exists": {
            "type": "boolean"
          },
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "markdown": {
            "type": "string"
          },
          "max_bytes": {
            "type": "integer",
            "format": "int32"
          },
          "max_lines": {
            "type": "integer",
            "format": "int32"
          },
          "new_linked_emails_since_generated": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "node_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "origin": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "exists",
          "markdown",
          "max_bytes",
          "max_lines"
        ]
      },
      "services_ui_api_ds_org_patterns_document_generateOrgPatternsDocumentResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "workflow_id"
        ]
      },
      "services_ui_api_ds_org_patterns_document_generateStatusResponse": {
        "type": "object",
        "properties": {
          "document": {
            "type": "string",
            "nullable": true
          },
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "max_bytes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max_lines": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_ds_org_patterns_document_patternsNodeProgress"
            },
            "nullable": true
          },
          "phase": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "skipped_nodes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_ds_org_patterns_document_patternsNodeProgress": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "status"
        ]
      },
      "services_ui_api_ds_org_patterns_document_updateOrgPatternsDocumentRequest": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "markdown": {
            "type": "string"
          },
          "node_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "markdown"
        ]
      },
      "services_ui_api_ds_preferences_preferencesResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_ds_preferences_updatePreferencesRequest": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_ds_settings_settingsRequest": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_ds_settings_settingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_ds_settings_updateLanguageAttributeRequest": {
        "type": "object",
        "properties": {
          "language_attribute": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_ds_settings_updateLanguageAttributeResponse": {
        "type": "object",
        "properties": {
          "language_attribute": {
            "type": "string"
          }
        },
        "required": [
          "language_attribute"
        ]
      },
      "services_ui_api_ds_whatsapp_templateStatusResponse": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "last_submitted_at": {
            "$ref": "#/components/schemas/Time"
          },
          "node_id": {
            "type": "string"
          },
          "not_found": {
            "type": "boolean"
          },
          "rejection_info": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "status_reason": {
            "type": "string"
          },
          "whats_app_template_id": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "last_submitted_at",
          "node_id",
          "not_found",
          "rejection_info",
          "status",
          "status_reason",
          "whats_app_template_id"
        ]
      },
      "services_ui_api_ds_whatsapp_templateTagsRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          }
        },
        "required": [
          "content"
        ]
      },
      "services_ui_api_ds_whatsapp_templateTagsResponse": {
        "type": "object",
        "properties": {
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_ParsedTemplateTag"
            }
          }
        },
        "required": [
          "parts"
        ]
      },
      "services_ui_api_environments_AttributeDetailResponse": {
        "type": "object",
        "properties": {
          "attribute_type": {
            "type": "integer",
            "format": "int32"
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaCampaign"
            }
          },
          "design_studio": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaDesignStudioAsset"
            },
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaLayout"
            },
            "nullable": true
          },
          "metadata": {
            "$ref": "#/components/schemas/services_ui_api_environments_AttributeMetadata"
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaNewsletter"
            },
            "nullable": true
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaSegment"
            }
          },
          "snippets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaSnippet"
            },
            "nullable": true
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaTemplate"
            },
            "nullable": true
          }
        },
        "required": [
          "attribute_type",
          "campaigns",
          "id",
          "metadata",
          "segments"
        ]
      },
      "services_ui_api_environments_AttributeDetailWithTagsResponse": {
        "type": "object",
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/services_ui_api_environments_AttributeDetailResponse"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            },
            "nullable": true
          }
        },
        "required": [
          "attribute"
        ]
      },
      "services_ui_api_environments_AttributeListItem": {
        "type": "object",
        "properties": {
          "attribute_type": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "last_seen": {
            "type": "integer",
            "format": "int32"
          },
          "metadata_summary": {
            "$ref": "#/components/schemas/services_ui_api_environments_AttributeMetadataSummary"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "last_seen",
          "metadata_summary",
          "sample"
        ]
      },
      "services_ui_api_environments_AttributeMetadata": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          },
          "last_seen_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "last_used_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Source"
            },
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "required": [
          "privacy_level"
        ]
      },
      "services_ui_api_environments_AttributeMetadataSummary": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Source"
            },
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "required": [
          "privacy_level"
        ]
      },
      "services_ui_api_environments_AttributeUsageCount": {
        "type": "object",
        "properties": {
          "campaign_count": {
            "type": "integer",
            "format": "int32"
          },
          "design_studio_count": {
            "type": "integer",
            "format": "int32"
          },
          "layout_count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_count": {
            "type": "integer",
            "format": "int32"
          },
          "segment_count": {
            "type": "integer",
            "format": "int32"
          },
          "snippet_count": {
            "type": "integer",
            "format": "int32"
          },
          "template_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_count",
          "design_studio_count",
          "layout_count",
          "newsletter_count",
          "segment_count",
          "snippet_count",
          "template_count"
        ]
      },
      "services_ui_api_environments_AttributesProfileCountRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_AttributesProfileCountResponse": {
        "type": "object",
        "properties": {
          "attribute_profile_counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "attribute_profile_counts"
        ]
      },
      "services_ui_api_environments_AttributesUsageRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_AttributesUsageResponse": {
        "type": "object",
        "properties": {
          "attribute_usages": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_environments_AttributeUsageCount"
            }
          }
        },
        "required": [
          "attribute_usages"
        ]
      },
      "services_ui_api_environments_BatchAttributeUpdateWithTags": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "is_relationship": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_environments_BatchDeleteAttributesRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_BatchEventUpdateWithTags": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_environments_BatchObjectAttributeUpdateWithTags": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "is_relationship": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_environments_BatchObjectRelationshipAttributeUpdateWithTags": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "is_relationship": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_environments_BatchUpdateAttributeMetadataRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_BatchAttributeUpdateWithTags"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_BatchUpdateCountResponse": {
        "type": "object",
        "properties": {
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "updated"
        ]
      },
      "services_ui_api_environments_BatchUpdateEventAttributeMetadataRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_attribute_metadata_BatchUpdateOpts"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_BatchUpdateEventMetadataRequest": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_BatchEventUpdateWithTags"
            }
          }
        },
        "required": [
          "events"
        ]
      },
      "services_ui_api_environments_BatchUpdateObjectAttributeMetadataRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_BatchObjectAttributeUpdateWithTags"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_BatchUpdateObjectRelAttributeMetadataRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_BatchObjectRelationshipAttributeUpdateWithTags"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_BatchUpdateResponse": {
        "type": "object",
        "properties": {
          "tags_updated": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "tags_updated",
          "updated"
        ]
      },
      "services_ui_api_environments_CreateEnvironmentRequest": {
        "type": "object",
        "properties": {
          "environment": {
            "type": "object",
            "properties": {
              "color": {
                "type": "string"
              },
              "delivery_email": {
                "type": "string"
              },
              "delivery_settings": {
                "type": "string"
              },
              "email_open_tracking": {
                "type": "boolean"
              },
              "honor_open_tracking_consent": {
                "type": "boolean"
              },
              "identifier_settings": {
                "$ref": "#/components/schemas/services_ui_api_model_IdentifierSettings"
              },
              "identifier_type": {
                "type": "string"
              },
              "identifiers": {
                "$ref": "#/components/schemas/services_ui_api_model_IdentifiersConfig",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "users": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "role_id": {
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "required": [
                    "id",
                    "role_id"
                  ]
                }
              }
            },
            "required": [
              "color",
              "delivery_email",
              "delivery_settings",
              "email_open_tracking",
              "honor_open_tracking_consent",
              "identifier_settings",
              "identifier_type",
              "name",
              "users"
            ]
          }
        },
        "required": [
          "environment"
        ]
      },
      "services_ui_api_environments_CreateEnvironmentResponse": {
        "type": "object",
        "properties": {
          "environment": {
            "$ref": "#/components/schemas/services_ui_api_model_Environment",
            "nullable": true
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Identity"
            }
          },
          "object_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ObjectType"
            }
          }
        },
        "required": [
          "identities",
          "object_types"
        ]
      },
      "services_ui_api_environments_DefaultFromIdentityResponse": {
        "type": "object",
        "properties": {
          "identity_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "identity_id"
        ]
      },
      "services_ui_api_environments_DescriptionItem": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "name"
        ]
      },
      "services_ui_api_environments_EnabledRequest": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "services_ui_api_environments_EnabledResponse": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "services_ui_api_environments_EventAttributeSummary": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          },
          "last_seen_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32"
          },
          "recent_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Source"
            },
            "nullable": true
          }
        },
        "required": [
          "name",
          "privacy_level"
        ]
      },
      "services_ui_api_environments_EventDetailResponse": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_EventAttributeSummary"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaCampaign"
            }
          },
          "daily_count": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/services_ui_api_environments_EventMetadata"
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaNewsletter"
            }
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SchemaSegment"
            }
          }
        },
        "required": [
          "attributes",
          "campaigns",
          "daily_count",
          "id",
          "metadata",
          "newsletters",
          "segments"
        ]
      },
      "services_ui_api_environments_EventDetailWithTagsResponse": {
        "type": "object",
        "properties": {
          "event": {
            "$ref": "#/components/schemas/services_ui_api_environments_EventDetailResponse"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            },
            "nullable": true
          }
        },
        "required": [
          "event"
        ]
      },
      "services_ui_api_environments_EventMetadata": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          },
          "last_seen_as": {
            "type": "string",
            "nullable": true
          },
          "last_seen_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "last_used_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Source"
            },
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_environments_EventMetadataSummary": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "last_seen_as": {
            "type": "string",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Source"
            },
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_environments_EventUsageCount": {
        "type": "object",
        "properties": {
          "campaign_count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_count": {
            "type": "integer",
            "format": "int32"
          },
          "segment_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_count",
          "newsletter_count",
          "segment_count"
        ]
      },
      "services_ui_api_environments_EventUsageCountRequest": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "events"
        ]
      },
      "services_ui_api_environments_EventsProfileCountRequest": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "events"
        ]
      },
      "services_ui_api_environments_EventsProfileCountResponse": {
        "type": "object",
        "properties": {
          "event_profile_counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "event_profile_counts"
        ]
      },
      "services_ui_api_environments_EventsUsageResponse": {
        "type": "object",
        "properties": {
          "event_usages": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_environments_EventUsageCount"
            }
          }
        },
        "required": [
          "event_usages"
        ]
      },
      "services_ui_api_environments_GenerateDescriptionsRequest": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "items",
          "type"
        ]
      },
      "services_ui_api_environments_GenerateDescriptionsResponse": {
        "type": "object",
        "properties": {
          "descriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_DescriptionItem"
            }
          }
        },
        "required": [
          "descriptions"
        ]
      },
      "services_ui_api_environments_GetEnvironmentResponse": {
        "type": "object",
        "properties": {
          "environment": {
            "$ref": "#/components/schemas/services_ui_api_model_Environment",
            "nullable": true
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Identity"
            }
          },
          "object_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ObjectType"
            }
          }
        },
        "required": [
          "identities",
          "object_types"
        ]
      },
      "services_ui_api_environments_GetSettingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_settings_WorkspaceSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_environments_GetSigningSecretResponse": {
        "type": "object",
        "properties": {
          "signing_secret": {
            "$ref": "#/components/schemas/services_ui_api_environments_SigningSecret"
          }
        },
        "required": [
          "signing_secret"
        ]
      },
      "services_ui_api_environments_GetSiteIDsResponse": {
        "type": "object",
        "properties": {
          "site_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "site_ids"
        ]
      },
      "services_ui_api_environments_IdentifierMigrationRequest": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "merge_mode": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "action",
          "identifier"
        ]
      },
      "services_ui_api_environments_IdentifierMigrationResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "workflow_id"
        ]
      },
      "services_ui_api_environments_IdentifierMigrationStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/services_domains_environments_identifier_toggle_IdentifierToggleStatus"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_environments_ListItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "last_seen": {
            "type": "integer",
            "format": "int32",
            "description": "Recorded workspace timestamp in Unix seconds. Zero means no timestamp is available; it does not prove an event never occurred or establish an individual profile's event history."
          },
          "metadata": {
            "$ref": "#/components/schemas/services_ui_api_environments_EventMetadataSummary",
            "nullable": true
          },
          "sample": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "last_seen",
          "sample"
        ]
      },
      "services_ui_api_environments_ObjectAttributeUsageCount": {
        "type": "object",
        "properties": {
          "campaign_count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_count": {
            "type": "integer",
            "format": "int32"
          },
          "segment_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_count",
          "newsletter_count",
          "segment_count"
        ]
      },
      "services_ui_api_environments_ObjectAttributesCountResponse": {
        "type": "object",
        "properties": {
          "attribute_object_counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "attribute_object_counts"
        ]
      },
      "services_ui_api_environments_ObjectAttributesUsageRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_ObjectAttributesUsageResponse": {
        "type": "object",
        "properties": {
          "attribute_usages": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_environments_ObjectAttributeUsageCount"
            }
          }
        },
        "required": [
          "attribute_usages"
        ]
      },
      "services_ui_api_environments_Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size",
          "total"
        ]
      },
      "services_ui_api_environments_RelationshipAttributeUsageCount": {
        "type": "object",
        "properties": {
          "campaign_count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_count": {
            "type": "integer",
            "format": "int32"
          },
          "segment_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_count",
          "newsletter_count",
          "segment_count"
        ]
      },
      "services_ui_api_environments_RelationshipAttributesUsageRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_environments_RelationshipAttributesUsageResponse": {
        "type": "object",
        "properties": {
          "attribute_usages": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_environments_RelationshipAttributeUsageCount"
            }
          }
        },
        "required": [
          "attribute_usages"
        ]
      },
      "services_ui_api_environments_RotateSigningSecretResponse": {
        "type": "object",
        "properties": {
          "signing_secret": {
            "$ref": "#/components/schemas/services_ui_api_environments_SigningSecret"
          }
        },
        "required": [
          "signing_secret"
        ]
      },
      "services_ui_api_environments_SchemaAttributeFiltersResponse": {
        "type": "object",
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SourceWithID"
            },
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_environments_SchemaAttributeListResponse": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_AttributeListItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_environments_SchemaListMeta",
            "nullable": true
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_ListItem"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            },
            "nullable": true
          }
        },
        "required": [
          "attributes",
          "pages"
        ]
      },
      "services_ui_api_environments_SchemaCampaign": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "usage": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "campaign_id",
          "description",
          "name",
          "type",
          "usage"
        ]
      },
      "services_ui_api_environments_SchemaDesignStudioAsset": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "is_template": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "short_id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "is_template",
          "name",
          "short_id"
        ]
      },
      "services_ui_api_environments_SchemaEventFiltersResponse": {
        "type": "object",
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_SourceWithID"
            },
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_environments_SchemaLayout": {
        "type": "object",
        "properties": {
          "layout_id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "layout_id",
          "name"
        ]
      },
      "services_ui_api_environments_SchemaListMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_environments_Pagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_environments_SchemaListResponse": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_ListItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_environments_SchemaListMeta",
            "nullable": true
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_environments_ListItem"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            },
            "nullable": true
          }
        },
        "required": [
          "events",
          "pages"
        ]
      },
      "services_ui_api_environments_SchemaNewsletter": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32"
          },
          "usage": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "newsletter_id",
          "usage"
        ]
      },
      "services_ui_api_environments_SchemaSegment": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            },
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "archived",
          "description",
          "name",
          "segment_id"
        ]
      },
      "services_ui_api_environments_SchemaSnippet": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_environments_SchemaTemplate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "template_id"
        ]
      },
      "services_ui_api_environments_SigningSecret": {
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "secret": {
            "type": "string"
          }
        },
        "required": [
          "environment_id",
          "secret"
        ]
      },
      "services_ui_api_environments_SourceWithID": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "action_name": {
            "type": "string",
            "nullable": true
          },
          "action_type": {
            "type": "string",
            "nullable": true
          },
          "anonymous_id": {
            "type": "string",
            "nullable": true
          },
          "api": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_name": {
            "type": "string",
            "nullable": true
          },
          "campaign_type": {
            "type": "string",
            "nullable": true
          },
          "client": {
            "$ref": "#/components/schemas/services_ui_api_model_Client"
          },
          "content_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "content_name": {
            "type": "string",
            "nullable": true
          },
          "content_type": {
            "type": "string",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "environment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "form_id": {
            "type": "string",
            "nullable": true
          },
          "form_type": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "import_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "import_row_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ip_addr": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "newsletter_name": {
            "type": "string",
            "nullable": true
          },
          "site_id": {
            "type": "string",
            "nullable": true
          },
          "subject_id": {
            "type": "string",
            "nullable": true
          },
          "subtype": {
            "type": "string",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_title": {
            "type": "string",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "ua": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "client",
          "id"
        ]
      },
      "services_ui_api_environments_StringListResponse": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "values"
        ]
      },
      "services_ui_api_environments_Totals": {
        "type": "object",
        "properties": {
          "all": {
            "type": "integer",
            "format": "int32"
          },
          "in_use": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "all"
        ]
      },
      "services_ui_api_environments_TotalsResponse": {
        "type": "object",
        "properties": {
          "totals": {
            "$ref": "#/components/schemas/services_ui_api_environments_Totals"
          }
        },
        "required": [
          "totals"
        ]
      },
      "services_ui_api_environments_UpdateAttributeMetadataRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          },
          "privacy_level": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_environments_UpdateAttributeTagsRequest": {
        "type": "object",
        "properties": {
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "tag_ids"
        ]
      },
      "services_ui_api_environments_UpdateDefaultFromIdentityRequest": {
        "type": "object",
        "properties": {
          "identity_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "identity_id"
        ]
      },
      "services_ui_api_environments_UpdateEnvironmentRequest": {
        "type": "object",
        "properties": {
          "environment": {
            "type": "object",
            "properties": {
              "account_id": {
                "type": "string"
              },
              "consent_gates_link_tracking": {
                "type": "boolean",
                "nullable": true
              },
              "default_preprocess_css": {
                "type": "boolean",
                "nullable": true
              },
              "default_template_engine": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "delivery_email": {
                "type": "string",
                "nullable": true
              },
              "delivery_settings": {
                "type": "string",
                "nullable": true
              },
              "email_open_tracking": {
                "type": "boolean",
                "nullable": true
              },
              "hex_code": {
                "type": "string",
                "nullable": true
              },
              "honor_open_tracking_consent": {
                "type": "boolean",
                "nullable": true
              },
              "identifier_settings": {
                "$ref": "#/components/schemas/services_ui_api_model_IdentifierSettings",
                "nullable": true
              },
              "identifier_type": {
                "type": "string"
              },
              "identifiers": {
                "$ref": "#/components/schemas/services_ui_api_model_IdentifiersConfig",
                "nullable": true
              },
              "language_attribute": {
                "type": "string",
                "nullable": true
              },
              "metric_denominator": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "open_tracking_consent_mode": {
                "type": "string",
                "nullable": true
              },
              "subscription_center_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "users": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "role_id": {
                      "type": "integer",
                      "format": "int32"
                    }
                  },
                  "required": [
                    "id",
                    "role_id"
                  ]
                }
              }
            },
            "required": [
              "account_id",
              "identifier_type",
              "metric_denominator",
              "name",
              "users"
            ]
          }
        },
        "required": [
          "environment"
        ]
      },
      "services_ui_api_environments_UpdateEnvironmentResponse": {
        "type": "object",
        "properties": {
          "environment": {
            "$ref": "#/components/schemas/services_ui_api_model_Environment",
            "nullable": true
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Identity"
            }
          },
          "object_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ObjectType"
            }
          }
        },
        "required": [
          "identities",
          "object_types"
        ]
      },
      "services_ui_api_environments_UpdateEventMetadataRequest": {
        "type": "object",
        "properties": {
          "counts_as_mau_activity": {
            "type": "boolean",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "generated_description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_environments_UpdateEventTagsRequest": {
        "type": "object",
        "properties": {
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "tag_ids"
        ]
      },
      "services_ui_api_environments_UpdateSettingsRequest": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_settings_WorkspaceSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_environments_UpdateSettingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_settings_WorkspaceSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_events_sendEventRequest": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string",
            "description": "JSON-encoded event attributes. Omit or use \"{}\" when there are no attributes.",
            "nullable": true
          },
          "ids": {
            "type": "array",
            "description": "Internal CIO IDs of the People to receive the event. Fetch a profile first and use customer.internal_id or customer.identifiers.cio_id.",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string",
            "description": "Event name to record on each profile."
          },
          "timestamp": {
            "type": "string",
            "description": "Unix timestamp in seconds as a string. Omit to use the current time.",
            "nullable": true
          }
        },
        "required": [
          "ids",
          "name"
        ]
      },
      "services_ui_api_experiments_applyWinnerBody": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "version"
        ]
      },
      "services_ui_api_experiments_attachmentSummary": {
        "type": "object",
        "properties": {
          "campaign_deleted": {
            "type": "boolean"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_name": {
            "type": "string"
          },
          "detached_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "test_nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_attachmentTestNode"
            }
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_attachmentVariant"
            }
          }
        },
        "required": [
          "campaign_deleted",
          "campaign_id",
          "campaign_name",
          "test_nodes",
          "variants"
        ]
      },
      "services_ui_api_experiments_attachmentTestNode": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "fallback_variant_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "action_id",
          "fallback_variant_id",
          "name"
        ]
      },
      "services_ui_api_experiments_attachmentVariant": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_attachmentVariantAction"
            }
          },
          "variant_id": {
            "type": "string"
          }
        },
        "required": [
          "actions",
          "variant_id"
        ]
      },
      "services_ui_api_experiments_attachmentVariantAction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ]
      },
      "services_ui_api_experiments_campaignExperimentItem": {
        "type": "object",
        "properties": {
          "attachment_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_deleted": {
            "type": "boolean"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "detached_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "experiment": {
            "$ref": "#/components/schemas/services_ui_api_experiments_campaignExperimentSummary"
          },
          "latest_snapshot_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "attachment_id",
          "campaign_deleted",
          "created_at",
          "experiment"
        ]
      },
      "services_ui_api_experiments_campaignExperimentSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_SnapshotVariant"
            }
          },
          "winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "variants"
        ]
      },
      "services_ui_api_experiments_campaignExperimentsResponse": {
        "type": "object",
        "properties": {
          "experiments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_campaignExperimentItem"
            }
          }
        },
        "required": [
          "experiments"
        ]
      },
      "services_ui_api_experiments_createBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_experiments_experimentListItem": {
        "type": "object",
        "properties": {
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_attachmentSummary"
            }
          },
          "completed_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "decided_early_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "dropped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "enrollment_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "finalization_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "latest_results": {
            "$ref": "#/components/schemas/services_domains_experiments_Results",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "paused_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "stopped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "attachments",
          "config",
          "created_at",
          "id",
          "name",
          "status",
          "updated_at",
          "version"
        ]
      },
      "services_ui_api_experiments_experimentModel": {
        "type": "object",
        "properties": {
          "completed_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "decided_early_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "dropped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "enrollment_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "finalization_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "paused_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "stopped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "config",
          "created_at",
          "id",
          "name",
          "status",
          "updated_at",
          "version"
        ]
      },
      "services_ui_api_experiments_experimentWithAttachments": {
        "type": "object",
        "properties": {
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_attachmentSummary"
            }
          },
          "completed_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "decided_early_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "dropped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "enrollment_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "finalization_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "paused_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "stopped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "attachments",
          "config",
          "created_at",
          "id",
          "name",
          "status",
          "updated_at",
          "version"
        ]
      },
      "services_ui_api_experiments_experimentWithResults": {
        "type": "object",
        "properties": {
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_attachmentSummary"
            }
          },
          "completed_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "decided_early_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "dropped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "enrollment_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "exposed_total": {
            "type": "integer",
            "format": "int32"
          },
          "exposures_by_node": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_NodeExposure"
            }
          },
          "exposures_by_variant": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_variantExposureCount"
            }
          },
          "finalization_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "latest_results": {
            "$ref": "#/components/schemas/services_domains_experiments_Results",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "paused_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "started_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "stopped_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "attachments",
          "config",
          "created_at",
          "exposed_total",
          "exposures_by_node",
          "exposures_by_variant",
          "id",
          "name",
          "status",
          "updated_at",
          "version"
        ]
      },
      "services_ui_api_experiments_exposureItem": {
        "type": "object",
        "properties": {
          "assignment_id": {
            "type": "integer",
            "format": "int32"
          },
          "converted_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "first_exposed_at": {
            "type": "integer",
            "format": "int64"
          },
          "outcome": {
            "type": "string"
          },
          "subject_cio_id": {
            "type": "string"
          },
          "subject_deleted": {
            "type": "boolean"
          },
          "subject_name": {
            "type": "string"
          },
          "variant_id": {
            "type": "string"
          },
          "via_action_id": {
            "type": "integer",
            "format": "int32"
          },
          "via_action_name": {
            "type": "string"
          },
          "window_closes_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "assignment_id",
          "first_exposed_at",
          "outcome",
          "subject_cio_id",
          "subject_deleted",
          "subject_name",
          "variant_id",
          "via_action_id",
          "via_action_name",
          "window_closes_at"
        ]
      },
      "services_ui_api_experiments_exposuresResponse": {
        "type": "object",
        "properties": {
          "exposures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_exposureItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_experiments_listMeta"
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_ExposureSeriesPoint"
            }
          }
        },
        "required": [
          "exposures",
          "meta",
          "series"
        ]
      },
      "services_ui_api_experiments_listMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_experiments_listPagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_experiments_listPagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "per_page": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "per_page",
          "total"
        ]
      },
      "services_ui_api_experiments_listResponse": {
        "type": "object",
        "properties": {
          "experiments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_experimentListItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_experiments_listMeta"
          }
        },
        "required": [
          "experiments",
          "meta"
        ]
      },
      "services_ui_api_experiments_snapshotItem": {
        "type": "object",
        "properties": {
          "attachment_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_name": {
            "type": "string"
          },
          "captured_at": {
            "type": "integer",
            "format": "int64"
          },
          "data": {
            "$ref": "#/components/schemas/services_domains_experiments_SnapshotData"
          },
          "experiment_version": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "type": "string"
          },
          "status_after": {
            "type": "string"
          }
        },
        "required": [
          "attachment_id",
          "campaign_id",
          "campaign_name",
          "captured_at",
          "data",
          "experiment_version",
          "id",
          "reason",
          "status_after"
        ]
      },
      "services_ui_api_experiments_snapshotListResponse": {
        "type": "object",
        "properties": {
          "snapshots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_snapshotItem"
            }
          }
        },
        "required": [
          "snapshots"
        ]
      },
      "services_ui_api_experiments_snapshotRenderChannel": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderField"
            }
          },
          "raw": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderRawBody"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "fields",
          "raw",
          "to"
        ]
      },
      "services_ui_api_experiments_snapshotRenderEmail": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string"
          },
          "body_plain": {
            "type": "string"
          },
          "cc": {
            "type": "string"
          },
          "from_address": {
            "type": "string"
          },
          "from_name": {
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "preheader": {
            "type": "string"
          },
          "raw": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderRawEmail"
          },
          "reply_to": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "bcc",
          "body_plain",
          "cc",
          "from_address",
          "from_name",
          "html",
          "preheader",
          "raw",
          "reply_to",
          "subject",
          "to"
        ]
      },
      "services_ui_api_experiments_snapshotRenderField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ui_api_experiments_snapshotRenderLLMAction": {
        "type": "object",
        "properties": {
          "llm_configuration_model_id": {
            "type": "integer",
            "format": "int32"
          },
          "model": {
            "type": "string"
          },
          "output_action": {
            "type": "string"
          },
          "output_event_name": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "raw_prompt": {
            "type": "string"
          },
          "result_schema": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderSource"
            }
          }
        },
        "required": [
          "llm_configuration_model_id",
          "model",
          "output_action",
          "output_event_name",
          "prompt",
          "raw_prompt",
          "result_schema",
          "sources"
        ]
      },
      "services_ui_api_experiments_snapshotRenderOther": {
        "type": "object",
        "properties": {
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "summary"
        ]
      },
      "services_ui_api_experiments_snapshotRenderPush": {
        "type": "object",
        "properties": {
          "image_url": {
            "type": "string"
          },
          "link": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "raw": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderRawPush"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "image_url",
          "link",
          "message",
          "raw",
          "title"
        ]
      },
      "services_ui_api_experiments_snapshotRenderRawBody": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          }
        },
        "required": [
          "body"
        ]
      },
      "services_ui_api_experiments_snapshotRenderRawEmail": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "preheader": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "preheader",
          "subject"
        ]
      },
      "services_ui_api_experiments_snapshotRenderRawPush": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "message",
          "title"
        ]
      },
      "services_ui_api_experiments_snapshotRenderResponse": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "channel": {
            "type": "string"
          },
          "email": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderEmail",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "in_app": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderChannel",
            "nullable": true
          },
          "inbox": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderChannel",
            "nullable": true
          },
          "llm_action": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderLLMAction",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "other": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderOther",
            "nullable": true
          },
          "push": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderPush",
            "nullable": true
          },
          "rendered": {
            "type": "boolean"
          },
          "sms": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderChannel",
            "nullable": true
          },
          "source": {
            "type": "string"
          },
          "template_audit_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string"
          },
          "webhook": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderWebhook",
            "nullable": true
          },
          "whatsapp": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderChannel",
            "nullable": true
          }
        },
        "required": [
          "action_id",
          "channel",
          "errors",
          "name",
          "rendered",
          "source",
          "template_id",
          "type"
        ]
      },
      "services_ui_api_experiments_snapshotRenderSource": {
        "type": "object",
        "properties": {
          "library_id": {
            "type": "integer",
            "format": "int64"
          },
          "row_id": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "library_id",
          "row_id"
        ]
      },
      "services_ui_api_experiments_snapshotRenderWebhook": {
        "type": "object",
        "properties": {
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderField"
            }
          },
          "method": {
            "type": "string"
          },
          "raw": {
            "$ref": "#/components/schemas/services_ui_api_experiments_snapshotRenderRawBody"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "headers",
          "method",
          "raw",
          "url"
        ]
      },
      "services_ui_api_experiments_transitionBody": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string"
          },
          "early": {
            "type": "boolean",
            "nullable": true
          },
          "enrollment_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "variant_id": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "command",
          "version"
        ]
      },
      "services_ui_api_experiments_updateBody": {
        "type": "object",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "config",
          "name",
          "version"
        ]
      },
      "services_ui_api_experiments_variantExposureCount": {
        "type": "object",
        "properties": {
          "exposed": {
            "type": "integer",
            "format": "int32"
          },
          "variant_id": {
            "type": "string"
          }
        },
        "required": [
          "exposed",
          "variant_id"
        ]
      },
      "services_ui_api_exports_analysisRequest": {
        "type": "object",
        "properties": {
          "data_type": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "end": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "report_id": {
            "type": "string"
          },
          "resolution": {
            "type": "string"
          },
          "start": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "data_type",
          "end",
          "name",
          "report_id",
          "resolution",
          "start",
          "status",
          "tag_ids"
        ]
      },
      "services_ui_api_exports_anonymousFormSubmissionsRequest": {
        "type": "object",
        "properties": {
          "form_id": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "form_id",
          "in_app_broadcast_id"
        ]
      },
      "services_ui_api_exports_campaignJourneysRequest": {
        "type": "object",
        "properties": {
          "action_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "exported_from": {
            "type": "string",
            "nullable": true
          },
          "started_after": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "campaign_id"
        ]
      },
      "services_ui_api_exports_consentRecordsRequest": {
        "type": "object",
        "properties": {
          "end_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "start_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_exports_contentMetricsRequest": {
        "type": "object",
        "properties": {
          "end": {
            "type": "integer",
            "format": "int32"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32"
          },
          "resolution": {
            "type": "string"
          },
          "start": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "end",
          "in_app_broadcast_id",
          "resolution",
          "start"
        ]
      },
      "services_ui_api_exports_deliveriesRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string"
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "delivery_type": {
            "type": "string"
          },
          "drafted": {
            "type": "boolean"
          },
          "end_ts": {
            "type": "integer",
            "format": "int32"
          },
          "exported_from": {
            "type": "string"
          },
          "metric": {
            "type": "string"
          },
          "newsletter_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "start_ts": {
            "type": "integer",
            "format": "int32"
          },
          "template_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "transactional_message_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "trigger_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "action_id",
          "attributes",
          "delivery_type",
          "drafted",
          "end_ts",
          "exported_from",
          "metric",
          "start_ts",
          "trigger_id"
        ]
      },
      "services_ui_api_exports_deliveryMetricsRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "delivery_type": {
            "type": "string"
          },
          "exported_from": {
            "type": "string"
          },
          "period": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "steps": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "delivery_type",
          "exported_from"
        ]
      },
      "services_ui_api_exports_deliveryTotalsRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string"
          },
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "exported_from": {
            "type": "string"
          },
          "newsletter_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "template_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "transactional_message_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          }
        },
        "required": [
          "action_id",
          "exported_from"
        ]
      },
      "services_ui_api_exports_devicesRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_exports_downloadURLResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ]
      },
      "services_ui_api_exports_duplicatedAttributeRequest": {
        "type": "object",
        "properties": {
          "attribute": {
            "type": "string"
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attribute",
          "attributes"
        ]
      },
      "services_ui_api_exports_exportCreatedResponse": {
        "type": "object",
        "properties": {
          "export_id": {
            "type": "string"
          }
        },
        "required": [
          "export_id"
        ]
      },
      "services_ui_api_exports_formSubmissionsRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "form_id": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "form_id",
          "newsletter_id"
        ]
      },
      "services_ui_api_exports_getResponse": {
        "type": "object",
        "properties": {
          "export": {
            "$ref": "#/components/schemas/services_ui_api_model_Export",
            "nullable": true
          }
        }
      },
      "services_ui_api_exports_indexResponse": {
        "type": "object",
        "properties": {
          "exports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Export"
            }
          }
        },
        "required": [
          "exports"
        ]
      },
      "services_ui_api_exports_journeyMetricsRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "nullable": true,
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "end": {
            "type": "integer",
            "format": "int32"
          },
          "resolution": {
            "type": "string"
          },
          "start": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "end",
          "resolution",
          "start"
        ]
      },
      "services_ui_api_exports_newsletterDeliveryTotalsRequest": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string"
          },
          "end_time": {
            "type": "integer",
            "format": "int32"
          },
          "exported_from": {
            "type": "string"
          },
          "search": {
            "type": "string"
          },
          "start_time": {
            "type": "integer",
            "format": "int32"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "channel",
          "end_time",
          "exported_from",
          "search",
          "start_time",
          "tag_ids"
        ]
      },
      "services_ui_api_exports_objectDataRequest": {
        "type": "object",
        "properties": {
          "exported_from": {
            "type": "string"
          },
          "internal_id": {
            "type": "string"
          }
        },
        "required": [
          "exported_from",
          "internal_id"
        ]
      },
      "services_ui_api_exports_profileDataRequest": {
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "exported_from": {
            "type": "string",
            "nullable": true
          },
          "internal_id": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_exports_segmentMembershipRequest": {
        "type": "object",
        "properties": {
          "end": {
            "type": "integer",
            "format": "int64"
          },
          "resolution": {
            "type": "string"
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          },
          "start": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "end",
          "resolution",
          "segment_id",
          "start"
        ]
      },
      "services_ui_api_exports_trackedResponsesRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
            "oneOf": [
              {
                "type": "integer",
                "format": "int32"
              },
              {
                "type": "string",
                "pattern": "^(-?[0-9]+)?$"
              }
            ]
          },
          "end": {
            "type": "integer",
            "format": "int32"
          },
          "resolution": {
            "type": "string"
          },
          "start": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "end",
          "resolution",
          "start"
        ]
      },
      "services_ui_api_ext_api_keys_extAPIKeyResponse": {
        "type": "object",
        "properties": {
          "ext_api_key": {
            "$ref": "#/components/schemas/services_ui_api_model_ExternalAPIKey",
            "nullable": true
          }
        }
      },
      "services_ui_api_ext_api_keys_extAPIKeysResponse": {
        "type": "object",
        "properties": {
          "ext_api_keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ExternalAPIKey"
            }
          }
        },
        "required": [
          "ext_api_keys"
        ]
      },
      "services_ui_api_ext_api_keys_requestBody": {
        "type": "object",
        "properties": {
          "ext_api_key": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
            },
            "required": [
              "name"
            ]
          }
        },
        "required": [
          "ext_api_key"
        ]
      },
      "services_ui_api_facebook_lead_ads_createOrUpdateCredRequestBody": {
        "type": "object",
        "properties": {
          "facebook_lead_ads_credential": {
            "type": "object",
            "properties": {
              "page_id": {
                "type": "string"
              },
              "user_access_token": {
                "type": "string"
              }
            },
            "required": [
              "page_id",
              "user_access_token"
            ]
          }
        },
        "required": [
          "facebook_lead_ads_credential"
        ]
      },
      "services_ui_api_facebook_lead_ads_credentialResponse": {
        "type": "object",
        "properties": {
          "facebook_lead_ads_credential": {
            "$ref": "#/components/schemas/services_ui_api_model_FacebookLeadAdsCredential",
            "nullable": true
          }
        }
      },
      "services_ui_api_facebook_lead_ads_formIndexResponse": {
        "type": "object",
        "properties": {
          "facebook_lead_ads_forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FacebookLeadAdsForm"
            }
          }
        },
        "required": [
          "facebook_lead_ads_forms"
        ]
      },
      "services_ui_api_facebook_lead_ads_formResponse": {
        "type": "object",
        "properties": {
          "facebook_lead_ads_form": {
            "$ref": "#/components/schemas/services_ui_api_model_FacebookLeadAdsForm",
            "nullable": true
          }
        }
      },
      "services_ui_api_facebook_lead_ads_requestAttrMap": {
        "type": "object",
        "properties": {
          "cio_attr": {
            "type": "string"
          },
          "facebook_question_key": {
            "type": "string"
          },
          "facebook_question_label": {
            "type": "string"
          },
          "facebook_question_type": {
            "type": "string"
          }
        },
        "required": [
          "cio_attr",
          "facebook_question_key",
          "facebook_question_label",
          "facebook_question_type"
        ]
      },
      "services_ui_api_facebook_lead_ads_scopesResponse": {
        "type": "object",
        "properties": {
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "scopes"
        ]
      },
      "services_ui_api_facebook_lead_ads_updateFormRequestBody": {
        "type": "object",
        "properties": {
          "facebook_lead_ads_form": {
            "type": "object",
            "properties": {
              "attr_maps": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_ui_api_facebook_lead_ads_requestAttrMap"
                }
              },
              "extra_attrs": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "nullable": true
              },
              "status": {
                "type": "string"
              }
            },
            "required": [
              "attr_maps",
              "status"
            ]
          }
        },
        "required": [
          "facebook_lead_ads_form"
        ]
      },
      "services_ui_api_frequency_caps_deleteConflictError": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string"
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_frequency_caps_deleteConflictMeta"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "detail",
          "meta",
          "status"
        ]
      },
      "services_ui_api_frequency_caps_deleteConflictMeta": {
        "type": "object",
        "properties": {
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FrequencyCapReference"
            }
          }
        },
        "required": [
          "references"
        ]
      },
      "services_ui_api_frequency_caps_deleteConflictResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_frequency_caps_deleteConflictError"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "services_ui_api_frequency_caps_frequencyCapCreateRequest": {
        "type": "object",
        "properties": {
          "frequency_cap": {
            "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapRequest"
          }
        },
        "required": [
          "frequency_cap"
        ]
      },
      "services_ui_api_frequency_caps_frequencyCapRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_frequency_caps_ruleRequest"
            }
          }
        },
        "required": [
          "name",
          "rules"
        ]
      },
      "services_ui_api_frequency_caps_frequencyCapResponse": {
        "type": "object",
        "properties": {
          "frequency_cap": {
            "$ref": "#/components/schemas/services_ui_api_model_FrequencyCap",
            "nullable": true
          }
        }
      },
      "services_ui_api_frequency_caps_frequencyCapUpdateRequest": {
        "type": "object",
        "properties": {
          "frequency_cap": {
            "$ref": "#/components/schemas/services_ui_api_frequency_caps_frequencyCapRequest"
          }
        },
        "required": [
          "frequency_cap"
        ]
      },
      "services_ui_api_frequency_caps_frequencyCapUsageResponse": {
        "type": "object",
        "properties": {
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FrequencyCapReference"
            }
          }
        },
        "required": [
          "references"
        ]
      },
      "services_ui_api_frequency_caps_frequencyCapsResponse": {
        "type": "object",
        "properties": {
          "frequency_caps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FrequencyCap"
            }
          }
        },
        "required": [
          "frequency_caps"
        ]
      },
      "services_ui_api_frequency_caps_ruleRequest": {
        "type": "object",
        "properties": {
          "cap_limit": {
            "type": "integer",
            "format": "int32"
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "window_secs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cap_limit",
          "channels",
          "retry_window_secs",
          "window_secs"
        ]
      },
      "services_ui_api_frequency_caps_supportedChannel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_frequency_caps_supportedChannelsResponse": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_frequency_caps_supportedChannel"
            }
          }
        },
        "required": [
          "channels"
        ]
      },
      "services_ui_api_game_scores_leaderboardEntry": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string"
          },
          "is_me": {
            "type": "boolean"
          },
          "metadata": {
            "nullable": true
          },
          "rank": {
            "type": "integer",
            "format": "int32"
          },
          "score": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "display_name",
          "is_me",
          "rank",
          "score"
        ]
      },
      "services_ui_api_game_scores_leaderboardResponse": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_game_scores_leaderboardEntry"
            }
          },
          "me": {
            "$ref": "#/components/schemas/services_ui_api_game_scores_leaderboardEntry",
            "nullable": true
          }
        },
        "required": [
          "entries"
        ]
      },
      "services_ui_api_game_scores_submitRequest": {
        "type": "object",
        "properties": {
          "metadata": {
            "nullable": true
          },
          "score": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "score"
        ]
      },
      "services_ui_api_game_scores_submitResponse": {
        "type": "object",
        "properties": {
          "best_score": {
            "type": "integer",
            "format": "int32"
          },
          "is_new_high_score": {
            "type": "boolean"
          },
          "rank": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "best_score",
          "is_new_high_score",
          "rank"
        ]
      },
      "services_ui_api_geosets_deleteFencesRequest": {
        "type": "object",
        "properties": {
          "fence_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          }
        },
        "required": [
          "fence_ids"
        ]
      },
      "services_ui_api_geosets_deleteFencesResponse": {
        "type": "object",
        "properties": {
          "deleted_fence_rows": {
            "type": "integer",
            "format": "int64"
          },
          "fences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_fenceModel"
            }
          }
        },
        "required": [
          "deleted_fence_rows",
          "fences"
        ]
      },
      "services_ui_api_geosets_fenceModel": {
        "type": "object",
        "properties": {
          "attributes": {},
          "base_radius_m": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "external_id": {
            "type": "string"
          },
          "geometry": {
            "nullable": true
          },
          "geoset_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          },
          "name": {
            "type": "string"
          },
          "radius": {
            "type": "integer",
            "format": "int32"
          },
          "shape": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attributes",
          "created_at",
          "enabled",
          "external_id",
          "geoset_ids",
          "id",
          "latitude",
          "longitude",
          "name",
          "radius",
          "shape",
          "updated_at"
        ]
      },
      "services_ui_api_geosets_fencePointModel": {
        "type": "object",
        "properties": {
          "base_radius_m": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "geometry": {
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          },
          "radius": {
            "type": "integer",
            "format": "int32"
          },
          "shape": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "latitude",
          "longitude",
          "radius",
          "shape"
        ]
      },
      "services_ui_api_geosets_fenceRequest": {
        "type": "object",
        "properties": {
          "fence": {
            "type": "object",
            "properties": {
              "attributes": {
                "nullable": true
              },
              "enabled": {
                "type": "boolean",
                "nullable": true
              },
              "external_id": {
                "type": "string",
                "nullable": true
              },
              "geometry": {
                "nullable": true
              },
              "latitude": {
                "type": "number",
                "format": "double",
                "nullable": true
              },
              "longitude": {
                "type": "number",
                "format": "double",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "radius": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "shape": {
                "type": "string",
                "nullable": true
              }
            }
          }
        },
        "required": [
          "fence"
        ]
      },
      "services_ui_api_geosets_fenceResponse": {
        "type": "object",
        "properties": {
          "fence": {
            "$ref": "#/components/schemas/services_ui_api_geosets_fenceModel",
            "nullable": true
          }
        }
      },
      "services_ui_api_geosets_geosetExportResponse": {
        "type": "object",
        "properties": {
          "export_id": {
            "type": "string"
          }
        },
        "required": [
          "export_id"
        ]
      },
      "services_ui_api_geosets_geosetFenceMeta": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "page_size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "page_size",
          "total"
        ]
      },
      "services_ui_api_geosets_geosetFencePointsResponse": {
        "type": "object",
        "properties": {
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_fencePointModel"
            }
          }
        },
        "required": [
          "points"
        ]
      },
      "services_ui_api_geosets_geosetFencesResponse": {
        "type": "object",
        "properties": {
          "fences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_fenceModel"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_geosets_geosetFenceMeta"
          }
        },
        "required": [
          "fences",
          "meta"
        ]
      },
      "services_ui_api_geosets_geosetModel": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "emoji": {
            "type": "string"
          },
          "fence_count": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "emoji",
          "fence_count",
          "id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_geosets_geosetRequest": {
        "type": "object",
        "properties": {
          "geoset": {
            "type": "object",
            "properties": {
              "emoji": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              }
            }
          }
        },
        "required": [
          "geoset"
        ]
      },
      "services_ui_api_geosets_geosetResponse": {
        "type": "object",
        "properties": {
          "geoset": {
            "$ref": "#/components/schemas/services_ui_api_geosets_geosetModel",
            "nullable": true
          }
        }
      },
      "services_ui_api_geosets_geosetUsageCampaign": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "conditional_wait": {
            "type": "boolean"
          },
          "exit_condition": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "transition": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "archived",
          "conditional_wait",
          "exit_condition",
          "id",
          "name",
          "transition",
          "type",
          "updated"
        ]
      },
      "services_ui_api_geosets_geosetUsageModel": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_geosetUsageCampaign"
            }
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_geosetUsageSegment"
            }
          }
        },
        "required": [
          "campaigns",
          "segments"
        ]
      },
      "services_ui_api_geosets_geosetUsageResponse": {
        "type": "object",
        "properties": {
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_geosets_geosetUsageModel",
            "nullable": true
          }
        }
      },
      "services_ui_api_geosets_geosetUsageSegment": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "archived",
          "id",
          "name",
          "updated"
        ]
      },
      "services_ui_api_geosets_geosetsResponse": {
        "type": "object",
        "properties": {
          "geosets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_geosetModel"
            }
          }
        },
        "required": [
          "geosets"
        ]
      },
      "services_ui_api_geosets_moveFencesRequest": {
        "type": "object",
        "properties": {
          "fence_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "mode": {
            "type": "string",
            "nullable": true
          },
          "target_geoset_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "fence_ids"
        ]
      },
      "services_ui_api_geosets_moveFencesResponse": {
        "type": "object",
        "properties": {
          "fences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_geosets_fenceModel"
            }
          }
        },
        "required": [
          "fences"
        ]
      },
      "services_ui_api_goal_recommendations_GoalRecommendation": {
        "type": "object",
        "properties": {
          "conversion_action": {
            "type": "string"
          },
          "conversion_window_seconds": {
            "type": "integer",
            "format": "int64"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "event_attribute_filters": {
            "nullable": true
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "matching_goal_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "segment_direction": {
            "type": "string",
            "nullable": true
          },
          "segment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_goal_recommendations_Source"
            }
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "conversion_action",
          "conversion_window_seconds",
          "count",
          "matching_goal_ids",
          "sources",
          "type"
        ]
      },
      "services_ui_api_goal_recommendations_Source": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "services_ui_api_goal_recommendations_indexResponse": {
        "type": "object",
        "properties": {
          "goal_recommendations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_goal_recommendations_GoalRecommendation"
            }
          }
        },
        "required": [
          "goal_recommendations"
        ]
      },
      "services_ui_api_guest_invitations_acceptResponse": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "account_name": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "account_name"
        ]
      },
      "services_ui_api_guest_invitations_listItem": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "env_roles": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "id": {
            "type": "string"
          },
          "invited_at": {
            "type": "integer",
            "format": "int64"
          },
          "invitee_email": {
            "type": "string"
          },
          "invitee_first_name": {
            "type": "string"
          },
          "invitee_last_name": {
            "type": "string"
          },
          "is_admin": {
            "type": "boolean"
          }
        },
        "required": [
          "account_permissions",
          "env_roles",
          "id",
          "invited_at",
          "invitee_email",
          "invitee_first_name",
          "invitee_last_name",
          "is_admin"
        ]
      },
      "services_ui_api_guest_invitations_listResponse": {
        "type": "object",
        "properties": {
          "invitations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_guest_invitations_listItem"
            }
          }
        },
        "required": [
          "invitations"
        ]
      },
      "services_ui_api_guest_invitations_previewResponse": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "account_name": {
            "type": "string"
          },
          "inviter_name": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "account_name",
          "inviter_name"
        ]
      },
      "services_ui_api_guest_invitations_sendRequest": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "email": {
            "type": "string"
          },
          "env_roles": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "replaces_user_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "account_permissions",
          "email",
          "env_roles",
          "first_name",
          "last_name"
        ]
      },
      "services_ui_api_guest_invitations_sendResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_identities_createIdentityRequest": {
        "type": "object",
        "properties": {
          "identity": {
            "type": "object",
            "properties": {
              "actions_credential_id": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              },
              "template_type": {
                "type": "string"
              }
            },
            "required": [
              "template_type"
            ]
          }
        },
        "required": [
          "identity"
        ]
      },
      "services_ui_api_identities_identitiesResponse": {
        "type": "object",
        "properties": {
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Identity"
            }
          }
        },
        "required": [
          "identities"
        ]
      },
      "services_ui_api_identities_identityResponse": {
        "type": "object",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/services_ui_api_model_Identity",
            "nullable": true
          }
        }
      },
      "services_ui_api_identities_updateIdentityRequest": {
        "type": "object",
        "properties": {
          "identity": {
            "type": "object",
            "properties": {
              "actions_credential_id": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "nullable": true
              },
              "hidden": {
                "type": "boolean",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              }
            }
          }
        },
        "required": [
          "identity"
        ]
      },
      "services_ui_api_imports_ImportUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "filename": {
                "type": "string"
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "object_type_id": {
                "type": "string",
                "nullable": true
              },
              "path": {
                "type": "string"
              },
              "sheet": {
                "$ref": "#/components/schemas/services_ui_api_imports_sheetRef",
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "people",
                  "segment",
                  "event",
                  "object",
                  "relationship"
                ]
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "reset"
                ]
              }
            },
            "required": [
              "description",
              "filename",
              "path",
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "reset_preprocessed"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "preprocess_rules": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "preprocess_rules"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "validate_rules"
                ]
              },
              "validate_rules": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "import_rules": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "import_rules"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "preprocess"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "validate"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "import"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "segment_id": {
                "type": "string",
                "nullable": true
              },
              "segment_name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "import_segment"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "name"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          }
        ]
      },
      "services_ui_api_imports_SheetMeta": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_imports_createImportRequest": {
        "type": "object",
        "properties": {
          "import": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string",
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "filename": {
                "type": "string"
              },
              "geoset_id": {
                "type": "string",
                "nullable": true
              },
              "geoset_mode": {
                "type": "string",
                "enum": [
                  "merge",
                  "replace"
                ],
                "nullable": true
              },
              "geoset_skip_invalid_rows": {
                "type": "boolean",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "object_type_id": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "segment_id": {
                "type": "string"
              },
              "sheet": {
                "type": "object",
                "properties": {
                  "sheet_id": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "spreadsheet_id": {
                    "type": "string"
                  }
                },
                "required": [
                  "sheet_id",
                  "spreadsheet_id"
                ],
                "nullable": true
              },
              "type": {
                "type": "string",
                "enum": [
                  "people",
                  "segment",
                  "event",
                  "object",
                  "relationship",
                  "geoset"
                ]
              }
            },
            "required": [
              "description",
              "filename",
              "name",
              "object_type_id",
              "path",
              "segment_id",
              "type"
            ]
          }
        },
        "required": [
          "import"
        ]
      },
      "services_ui_api_imports_downloadURLResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ]
      },
      "services_ui_api_imports_generateSignatureRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "size",
          "type"
        ]
      },
      "services_ui_api_imports_importResponse": {
        "type": "object",
        "properties": {
          "import": {
            "$ref": "#/components/schemas/services_ui_api_model_Import",
            "nullable": true
          }
        }
      },
      "services_ui_api_imports_indexResponse": {
        "type": "object",
        "properties": {
          "imports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Import"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          }
        },
        "required": [
          "imports",
          "meta"
        ]
      },
      "services_ui_api_imports_sheetRef": {
        "type": "object",
        "properties": {
          "sheet_id": {
            "type": "integer",
            "format": "int32"
          },
          "sheet_name": {
            "type": "string",
            "nullable": true
          },
          "spreadsheet_id": {
            "type": "string"
          },
          "spreadsheet_name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "sheet_id",
          "spreadsheet_id"
        ]
      },
      "services_ui_api_imports_sheetsResponse": {
        "type": "object",
        "properties": {
          "sheets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_imports_SheetMeta"
            }
          }
        },
        "required": [
          "sheets"
        ]
      },
      "services_ui_api_imports_signResponse": {
        "type": "object",
        "properties": {
          "gcs": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          },
          "s3": {
            "$ref": "#/components/schemas/services_s3_UploadSignature",
            "nullable": true
          }
        }
      },
      "services_ui_api_imports_updateImportRequest": {
        "type": "object",
        "properties": {
          "import": {
            "$ref": "#/components/schemas/services_ui_api_imports_ImportUpdateRequest"
          }
        },
        "required": [
          "import"
        ]
      },
      "services_ui_api_imports_validateRequest": {
        "type": "object",
        "properties": {
          "import": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              }
            },
            "required": [
              "path"
            ]
          }
        },
        "required": [
          "import"
        ]
      },
      "services_ui_api_imports_validateResponse": {
        "type": "object",
        "properties": {
          "sheet_id": {
            "type": "integer",
            "format": "int32"
          },
          "sheet_name": {
            "type": "string"
          },
          "spreadsheet_id": {
            "type": "string"
          },
          "spreadsheet_name": {
            "type": "string"
          }
        },
        "required": [
          "sheet_id",
          "sheet_name",
          "spreadsheet_id",
          "spreadsheet_name"
        ]
      },
      "services_ui_api_in_app_CheckQueueResponse": {
        "type": "object",
        "properties": {
          "delivered": {
            "type": "boolean"
          },
          "expired": {
            "type": "boolean"
          }
        },
        "required": [
          "delivered",
          "expired"
        ]
      },
      "services_ui_api_in_app_InAppBroadcastUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "anonymous"
                ]
              },
              "conversion": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                    "enum": [
                      "",
                      "viewed",
                      "clicked"
                    ]
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
                  },
                  "event_filters": {
                    "type": "object",
                    "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "event_name": {
                    "type": "string",
                    "description": "Event for a perform_event goal; empty otherwise."
                  },
                  "segment_id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment for an enter or exit goal; 0 otherwise."
                  },
                  "type": {
                    "type": "string",
                    "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                    "enum": [
                      "",
                      "identified",
                      "perform_event",
                      "enter",
                      "exit"
                    ]
                  },
                  "window": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
                  }
                },
                "required": [
                  "enabled"
                ],
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "expire_timezone": {
                "type": "string"
              },
              "expires_at": {
                "type": "integer",
                "format": "int64"
              },
              "frequency": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Times the message shows; 0 shows it every time."
                  },
                  "delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Seconds between showings."
                  },
                  "ignore_dismiss": {
                    "type": "boolean",
                    "description": "Keep showing the message after the visitor dismisses it."
                  }
                },
                "required": [
                  "count",
                  "delay"
                ],
                "nullable": true
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "send"
                ]
              }
            },
            "required": [
              "audience",
              "description",
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "anonymous"
                ]
              },
              "conversion": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                    "enum": [
                      "",
                      "viewed",
                      "clicked"
                    ]
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
                  },
                  "event_filters": {
                    "type": "object",
                    "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "event_name": {
                    "type": "string",
                    "description": "Event for a perform_event goal; empty otherwise."
                  },
                  "segment_id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment for an enter or exit goal; 0 otherwise."
                  },
                  "type": {
                    "type": "string",
                    "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                    "enum": [
                      "",
                      "identified",
                      "perform_event",
                      "enter",
                      "exit"
                    ]
                  },
                  "window": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
                  }
                },
                "required": [
                  "enabled"
                ],
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "expire_timezone": {
                "type": "string"
              },
              "expires_at": {
                "type": "integer",
                "format": "int64"
              },
              "frequency": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Times the message shows; 0 shows it every time."
                  },
                  "delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Seconds between showings."
                  },
                  "ignore_dismiss": {
                    "type": "boolean",
                    "description": "Keep showing the message after the visitor dismisses it."
                  }
                },
                "required": [
                  "count",
                  "delay"
                ],
                "nullable": true
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int64"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "timezone": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "schedule"
                ]
              }
            },
            "required": [
              "audience",
              "description",
              "name",
              "scheduled_at",
              "timezone",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "anonymous"
                ]
              },
              "conversion": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                    "enum": [
                      "",
                      "viewed",
                      "clicked"
                    ]
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
                  },
                  "event_filters": {
                    "type": "object",
                    "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "event_name": {
                    "type": "string",
                    "description": "Event for a perform_event goal; empty otherwise."
                  },
                  "segment_id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment for an enter or exit goal; 0 otherwise."
                  },
                  "type": {
                    "type": "string",
                    "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                    "enum": [
                      "",
                      "identified",
                      "perform_event",
                      "enter",
                      "exit"
                    ]
                  },
                  "window": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
                  }
                },
                "required": [
                  "enabled"
                ],
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "expire_timezone": {
                "type": "string"
              },
              "expires_at": {
                "type": "integer",
                "format": "int64"
              },
              "frequency": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Times the message shows; 0 shows it every time."
                  },
                  "delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Seconds between showings."
                  },
                  "ignore_dismiss": {
                    "type": "boolean",
                    "description": "Keep showing the message after the visitor dismisses it."
                  }
                },
                "required": [
                  "count",
                  "delay"
                ],
                "nullable": true
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "deschedule"
                ]
              }
            },
            "required": [
              "audience",
              "description",
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "anonymous"
                ]
              },
              "conversion": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                    "enum": [
                      "",
                      "viewed",
                      "clicked"
                    ]
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
                  },
                  "event_filters": {
                    "type": "object",
                    "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "event_name": {
                    "type": "string",
                    "description": "Event for a perform_event goal; empty otherwise."
                  },
                  "segment_id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment for an enter or exit goal; 0 otherwise."
                  },
                  "type": {
                    "type": "string",
                    "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                    "enum": [
                      "",
                      "identified",
                      "perform_event",
                      "enter",
                      "exit"
                    ]
                  },
                  "window": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
                  }
                },
                "required": [
                  "enabled"
                ],
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "expire_timezone": {
                "type": "string"
              },
              "expires_at": {
                "type": "integer",
                "format": "int64"
              },
              "frequency": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Times the message shows; 0 shows it every time."
                  },
                  "delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Seconds between showings."
                  },
                  "ignore_dismiss": {
                    "type": "boolean",
                    "description": "Keep showing the message after the visitor dismisses it."
                  }
                },
                "required": [
                  "count",
                  "delay"
                ],
                "nullable": true
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "stop"
                ]
              }
            },
            "required": [
              "audience",
              "description",
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "anonymous"
                ]
              },
              "conversion": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                    "enum": [
                      "",
                      "viewed",
                      "clicked"
                    ]
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
                  },
                  "event_filters": {
                    "type": "object",
                    "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "event_name": {
                    "type": "string",
                    "description": "Event for a perform_event goal; empty otherwise."
                  },
                  "segment_id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment for an enter or exit goal; 0 otherwise."
                  },
                  "type": {
                    "type": "string",
                    "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                    "enum": [
                      "",
                      "identified",
                      "perform_event",
                      "enter",
                      "exit"
                    ]
                  },
                  "window": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
                  }
                },
                "required": [
                  "enabled"
                ],
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "expire_timezone": {
                "type": "string"
              },
              "expires_at": {
                "type": "integer",
                "format": "int64"
              },
              "frequency": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Times the message shows; 0 shows it every time."
                  },
                  "delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Seconds between showings."
                  },
                  "ignore_dismiss": {
                    "type": "boolean",
                    "description": "Keep showing the message after the visitor dismisses it."
                  }
                },
                "required": [
                  "count",
                  "delay"
                ],
                "nullable": true
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "update_type": {
                "not": {}
              }
            },
            "required": [
              "audience",
              "description",
              "name"
            ]
          }
        ]
      },
      "services_ui_api_in_app_StatusResponse": {
        "type": "object",
        "properties": {
          "connected": {
            "type": "boolean"
          },
          "last_connected": {
            "type": "integer",
            "format": "int64"
          },
          "provisioned": {
            "type": "boolean"
          }
        },
        "required": [
          "connected",
          "last_connected",
          "provisioned"
        ]
      },
      "services_ui_api_in_app_SurveyTemplate": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "rendered_content": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "description",
          "label",
          "rendered_content",
          "type"
        ]
      },
      "services_ui_api_in_app_TourTemplate": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "rendered_content": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "description",
          "label",
          "rendered_content",
          "type"
        ]
      },
      "services_ui_api_in_app_addTagRequest": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "color": {
                  "type": "string"
                },
                "id": {
                  "type": "integer",
                  "format": "int32"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "color",
                "id",
                "name"
              ]
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_in_app_analyzeSurveyRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "survey_report": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "action_id",
          "campaign_id",
          "survey_report"
        ]
      },
      "services_ui_api_in_app_analyzeSurveyStartResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_in_app_analyzeSurveyStatusResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/services_ai_content_SurveyAnalysisResult",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_in_app_bannerRequest": {
        "type": "object",
        "properties": {
          "in_app_broadcast": {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "anonymous"
                ]
              },
              "conversion": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                    "enum": [
                      "",
                      "viewed",
                      "clicked"
                    ]
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
                  },
                  "event_filters": {
                    "type": "object",
                    "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "event_name": {
                    "type": "string",
                    "description": "Event for a perform_event goal; empty otherwise."
                  },
                  "segment_id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment for an enter or exit goal; 0 otherwise."
                  },
                  "type": {
                    "type": "string",
                    "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                    "enum": [
                      "",
                      "identified",
                      "perform_event",
                      "enter",
                      "exit"
                    ]
                  },
                  "window": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
                  }
                },
                "required": [
                  "enabled"
                ],
                "nullable": true
              },
              "description": {
                "type": "string"
              },
              "expire_timezone": {
                "type": "string"
              },
              "expires_at": {
                "type": "integer",
                "format": "int64"
              },
              "frequency": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Times the message shows; 0 shows it every time."
                  },
                  "delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Seconds between showings."
                  },
                  "ignore_dismiss": {
                    "type": "boolean",
                    "description": "Keep showing the message after the visitor dismisses it."
                  }
                },
                "required": [
                  "count",
                  "delay"
                ],
                "nullable": true
              },
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string"
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int64"
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "timezone": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "sign_up_form"
                ]
              }
            },
            "required": [
              "audience",
              "description",
              "expire_timezone",
              "expires_at",
              "id",
              "name",
              "scheduled_at",
              "tag_ids",
              "timezone",
              "type"
            ]
          }
        },
        "required": [
          "in_app_broadcast"
        ]
      },
      "services_ui_api_in_app_broadcastWithTagsResponse": {
        "type": "object",
        "properties": {
          "in_app_broadcast": {
            "$ref": "#/components/schemas/services_ui_api_model_InAppBroadcast",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_in_app_broadcastWithTemplatesResponse": {
        "type": "object",
        "properties": {
          "in_app_broadcast": {
            "$ref": "#/components/schemas/services_ui_api_model_InAppBroadcast",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          }
        },
        "required": [
          "tags",
          "templates"
        ]
      },
      "services_ui_api_in_app_copyBroadcastRequest": {
        "type": "object",
        "properties": {
          "copy_to_env": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "services_ui_api_in_app_enableOutputRequest": {
        "type": "object",
        "properties": {
          "output_type": {
            "type": "string",
            "enum": [
              "in_app",
              "embedded",
              "hosted"
            ]
          }
        },
        "required": [
          "output_type"
        ]
      },
      "services_ui_api_in_app_inAppBroadcastUpdateBody": {
        "type": "object",
        "properties": {
          "in_app_broadcast": {
            "$ref": "#/components/schemas/services_ui_api_in_app_InAppBroadcastUpdateRequest"
          }
        },
        "required": [
          "in_app_broadcast"
        ]
      },
      "services_ui_api_in_app_indexBroadcastMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer",
                "format": "int32"
              },
              "size": {
                "type": "integer",
                "format": "int32"
              },
              "total": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "page",
              "size",
              "total"
            ]
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_in_app_indexBroadcastResponse": {
        "type": "object",
        "properties": {
          "in_app_broadcasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_InAppBroadcast"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_in_app_indexBroadcastMeta",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          }
        },
        "required": [
          "in_app_broadcasts",
          "tags",
          "templates"
        ]
      },
      "services_ui_api_in_app_previewBroadcastRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "body_json": {
            "type": "string"
          },
          "output": {
            "type": "string",
            "enum": [
              "hosted",
              "embedded"
            ]
          }
        },
        "required": [
          "body",
          "body_json",
          "output"
        ]
      },
      "services_ui_api_in_app_previewBroadcastResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ]
      },
      "services_ui_api_in_app_provisionResponse": {
        "type": "object",
        "properties": {
          "credential": {
            "$ref": "#/components/schemas/services_ui_api_model_ActionCredential",
            "nullable": true
          }
        }
      },
      "services_ui_api_in_app_routeRulesRegexRequest": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "excluded_rules": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_domains_in_app_InAppRouteRuleValue"
                  }
                },
                "included_rules": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/services_domains_in_app_InAppRouteRuleValue"
                  }
                }
              },
              "required": [
                "excluded_rules",
                "included_rules"
              ]
            }
          }
        },
        "required": [
          "rules"
        ]
      },
      "services_ui_api_in_app_saveSignUpFormTemplatesRequest": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_in_app_signUpFormTemplateSave"
            },
            "minItems": 1
          }
        },
        "required": [
          "templates"
        ]
      },
      "services_ui_api_in_app_signUpFormTemplateSave": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "body_json": {
            "type": "string"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "body",
          "body_json",
          "template_id"
        ]
      },
      "services_ui_api_in_app_surveyTemplatesResponse": {
        "type": "object",
        "properties": {
          "survey_templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_in_app_SurveyTemplate"
            }
          }
        },
        "required": [
          "survey_templates"
        ]
      },
      "services_ui_api_in_app_tourTemplatesResponse": {
        "type": "object",
        "properties": {
          "tour_templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_in_app_TourTemplate"
            }
          }
        },
        "required": [
          "tour_templates"
        ]
      },
      "services_ui_api_in_app_trackedResponsesResponse": {
        "type": "object",
        "properties": {
          "tracked_responses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tracked_responses"
        ]
      },
      "services_ui_api_integrations_CreateDataOutRequest": {
        "type": "object",
        "properties": {
          "data_out": {
            "$ref": "#/components/schemas/services_ui_api_integrations_DataOutCreateFields"
          }
        },
        "required": [
          "data_out"
        ]
      },
      "services_ui_api_integrations_CreateDataOutResponse": {
        "type": "object",
        "properties": {
          "data_out": {
            "$ref": "#/components/schemas/services_ui_api_model_DataOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_CreateMParticleRequest": {
        "type": "object",
        "properties": {
          "mparticle": {
            "$ref": "#/components/schemas/services_ui_api_integrations_MParticleCreateFields"
          }
        },
        "required": [
          "mparticle"
        ]
      },
      "services_ui_api_integrations_CreateMParticleResponse": {
        "type": "object",
        "properties": {
          "mparticle": {
            "$ref": "#/components/schemas/services_ui_api_model_MParticleIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_CreateSegmentOutRequest": {
        "type": "object",
        "properties": {
          "segment_out": {
            "$ref": "#/components/schemas/services_ui_api_integrations_SegmentOutCreateFields"
          }
        },
        "required": [
          "segment_out"
        ]
      },
      "services_ui_api_integrations_CreateSegmentOutResponse": {
        "type": "object",
        "properties": {
          "segment_out": {
            "$ref": "#/components/schemas/services_ui_api_model_SegmentOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_DataOutCreateFields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "resolution": {
            "type": "boolean",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "with_content": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_DataOutUpdateFields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resolution": {
            "type": "boolean"
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled",
          "events",
          "resolution",
          "settings",
          "with_content"
        ]
      },
      "services_ui_api_integrations_DataOutVerifyFields": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_integrations_GetCdpOutResponse": {
        "type": "object",
        "properties": {
          "cdp_out": {
            "$ref": "#/components/schemas/services_ui_api_model_CdpOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_GetDataOutResponse": {
        "type": "object",
        "properties": {
          "data_out": {
            "$ref": "#/components/schemas/services_ui_api_model_DataOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_GetMParticleResponse": {
        "type": "object",
        "properties": {
          "mparticle": {
            "$ref": "#/components/schemas/services_ui_api_model_MParticleIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_GetSegmentInResponse": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "source",
          "updated_at"
        ]
      },
      "services_ui_api_integrations_GetSegmentOutLegacyResponse": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "events": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          },
          "key": {
            "type": "string"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "enabled",
          "events",
          "key",
          "last_activity_at"
        ]
      },
      "services_ui_api_integrations_GetSegmentOutResponse": {
        "type": "object",
        "properties": {
          "segment_out": {
            "$ref": "#/components/schemas/services_ui_api_model_SegmentOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_Integration": {
        "type": "object",
        "properties": {
          "beta": {
            "type": "boolean"
          },
          "category": {
            "type": "string"
          },
          "connection_type": {
            "type": "string"
          },
          "cta_label": {
            "type": "string"
          },
          "cta_url": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "details_page_description": {
            "type": "string"
          },
          "direction": {
            "type": "string"
          },
          "homepage": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "is_premium": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "settings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_integrations_Setting"
            },
            "nullable": true
          },
          "subtitle": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "use_cases": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "beta",
          "category",
          "connection_type",
          "cta_label",
          "cta_url",
          "description",
          "details_page_description",
          "direction",
          "homepage",
          "id",
          "image_url",
          "is_premium",
          "name",
          "overview",
          "subtitle",
          "type"
        ]
      },
      "services_ui_api_integrations_ListIntegrationsResponse": {
        "type": "object",
        "properties": {
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_integrations_Integration"
            }
          }
        },
        "required": [
          "integrations"
        ]
      },
      "services_ui_api_integrations_ListPipelinesConnectionsResponse": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_integrations_PipelinesConnection"
            }
          }
        },
        "required": [
          "connections"
        ]
      },
      "services_ui_api_integrations_MParticleCreateFields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "key": {
            "type": "string"
          },
          "resolution": {
            "type": "boolean",
            "nullable": true
          },
          "secret": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "secret"
        ]
      },
      "services_ui_api_integrations_MParticleUpdateFields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resolution": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled",
          "events",
          "resolution"
        ]
      },
      "services_ui_api_integrations_PipelinesConnection": {
        "type": "object",
        "properties": {
          "connected_to": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "direction": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "is_auto_track": {
            "type": "boolean"
          },
          "last_activity": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "status_message": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "connected_to",
          "created_at",
          "direction",
          "enabled",
          "id",
          "is_auto_track",
          "last_activity",
          "name",
          "path",
          "status",
          "status_message",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_integrations_SegmentOutCreateFields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "eu": {
            "type": "boolean",
            "nullable": true
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "key": {
            "type": "string"
          },
          "resolution": {
            "type": "boolean",
            "nullable": true
          },
          "send_cio": {
            "type": "boolean",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "Accepted and ignored; the Segment endpoint is derived from eu.",
            "nullable": true
          },
          "use_javascript": {
            "type": "boolean",
            "nullable": true
          },
          "with_content": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "key"
        ]
      },
      "services_ui_api_integrations_SegmentOutUpdateFields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "eu": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resolution": {
            "type": "boolean"
          },
          "send_cio": {
            "type": "boolean"
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled",
          "eu",
          "events",
          "resolution",
          "send_cio",
          "with_content"
        ]
      },
      "services_ui_api_integrations_Setting": {
        "type": "object",
        "properties": {
          "allowed_values": {
            "type": "object",
            "additionalProperties": {}
          },
          "default": {},
          "description": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "placeholder": {
            "type": "string"
          },
          "secret": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "allowed_values",
          "default",
          "description",
          "key",
          "label",
          "placeholder",
          "secret",
          "type"
        ]
      },
      "services_ui_api_integrations_UpdateDataOutRequest": {
        "type": "object",
        "properties": {
          "data_out": {
            "$ref": "#/components/schemas/services_ui_api_integrations_DataOutUpdateFields"
          }
        },
        "required": [
          "data_out"
        ]
      },
      "services_ui_api_integrations_UpdateDataOutResponse": {
        "type": "object",
        "properties": {
          "data_out": {
            "$ref": "#/components/schemas/services_ui_api_model_DataOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_UpdateMParticleRequest": {
        "type": "object",
        "properties": {
          "mparticle": {
            "$ref": "#/components/schemas/services_ui_api_integrations_MParticleUpdateFields"
          }
        },
        "required": [
          "mparticle"
        ]
      },
      "services_ui_api_integrations_UpdateMParticleResponse": {
        "type": "object",
        "properties": {
          "webhook": {
            "$ref": "#/components/schemas/services_ui_api_model_MParticleIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_UpdateSegmentOutRequest": {
        "type": "object",
        "properties": {
          "segment_out": {
            "$ref": "#/components/schemas/services_ui_api_integrations_SegmentOutUpdateFields"
          }
        },
        "required": [
          "segment_out"
        ]
      },
      "services_ui_api_integrations_UpdateSegmentOutResponse": {
        "type": "object",
        "properties": {
          "segment_out": {
            "$ref": "#/components/schemas/services_ui_api_model_SegmentOutIntegration",
            "nullable": true
          }
        }
      },
      "services_ui_api_integrations_UpsertSegmentOutLegacyRequest": {
        "type": "object",
        "properties": {
          "eu": {
            "type": "boolean",
            "description": "Whether the workspace ships to Segment's EU region. Required for an update; defaults to false on create.",
            "nullable": true
          },
          "events": {
            "type": "object",
            "description": "Which events to forward, keyed by the names the GET publishes — send those back rather than the stored names, which carry an email_ prefix for all but customer_subscribed. Replaces the whole selection, so omitting a name unsubscribes it. Required for an update.",
            "additionalProperties": {
              "type": "boolean"
            },
            "nullable": true
          },
          "key": {
            "type": "string",
            "description": "The Segment write key. Overwritten on every update, not just on create, so an update must send the key the record already holds — re-read the GET first if you do not have it."
          }
        },
        "required": [
          "key"
        ]
      },
      "services_ui_api_integrations_UpsertSegmentOutLegacyResponse": {
        "type": "object",
        "properties": {
          "eu": {
            "type": "boolean"
          },
          "events": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            },
            "nullable": true
          },
          "key": {
            "type": "string"
          }
        },
        "required": [
          "eu",
          "key"
        ]
      },
      "services_ui_api_integrations_VerifyBanner": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "title",
          "type"
        ]
      },
      "services_ui_api_integrations_VerifyDataOutRequest": {
        "type": "object",
        "properties": {
          "data_out": {
            "$ref": "#/components/schemas/services_ui_api_integrations_DataOutVerifyFields"
          }
        },
        "required": [
          "data_out"
        ]
      },
      "services_ui_api_integrations_VerifyDataOutResponse": {
        "type": "object",
        "properties": {
          "alert": {
            "$ref": "#/components/schemas/services_ui_api_integrations_VerifyBanner",
            "nullable": true
          },
          "console": {
            "type": "array",
            "description": "Lines the integration's JS script logged during the test send. Nullable, and null in practice today — the test runner does not capture console output yet.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_join_requests_accountsResponse": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string",
            "nullable": true
          },
          "domain": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "match": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "domain",
          "email"
        ]
      },
      "services_ui_api_join_requests_approveRequest": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "env_roles": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "account_permissions",
          "env_roles"
        ]
      },
      "services_ui_api_join_requests_createRequest": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "first_name",
          "last_name"
        ]
      },
      "services_ui_api_join_requests_createResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_join_requests_listItem": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "requested_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "email",
          "first_name",
          "id",
          "last_name",
          "requested_at"
        ]
      },
      "services_ui_api_join_requests_listResponse": {
        "type": "object",
        "properties": {
          "join_requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_join_requests_listItem"
            }
          }
        },
        "required": [
          "join_requests"
        ]
      },
      "services_ui_api_journey_attributes_getResponse": {
        "type": "object",
        "properties": {
          "journey_attributes": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "journey_attributes"
        ]
      },
      "services_ui_api_knowledge_sources_attachRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "library_id": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "ordinal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "library_id"
        ]
      },
      "services_ui_api_knowledge_sources_attachmentView": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string"
          },
          "action_name": {
            "type": "string"
          },
          "campaign_id": {
            "type": "string"
          },
          "campaign_name": {
            "type": "string"
          }
        },
        "required": [
          "action_id",
          "action_name",
          "campaign_id",
          "campaign_name"
        ]
      },
      "services_ui_api_knowledge_sources_createLibraryRequest": {
        "type": "object",
        "properties": {
          "credential_id": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "file_id": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string"
          },
          "mime_type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64"
          },
          "stored_filename": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "filename",
          "mime_type",
          "name",
          "size_bytes",
          "stored_filename",
          "type"
        ]
      },
      "services_ui_api_knowledge_sources_createRequest": {
        "type": "object",
        "properties": {
          "credential_id": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "file_id": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string"
          },
          "mime_type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "ordinal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "query": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_recentEventsQuery",
            "nullable": true
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64"
          },
          "stored_filename": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "filename",
          "mime_type",
          "name",
          "size_bytes",
          "stored_filename",
          "type"
        ]
      },
      "services_ui_api_knowledge_sources_knowledgeSourceResponse": {
        "type": "object",
        "properties": {
          "attachment_count": {
            "type": "integer",
            "format": "int64"
          },
          "credential_id": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "estimated_tokens": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "failure_code": {
            "type": "string",
            "nullable": true
          },
          "failure_reason": {
            "type": "string",
            "nullable": true
          },
          "fetched_at": {
            "type": "string",
            "nullable": true
          },
          "file_id": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "is_static": {
            "type": "boolean",
            "nullable": true
          },
          "library_id": {
            "type": "string",
            "nullable": true
          },
          "mime_type": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "ordinal": {
            "type": "integer",
            "format": "int32"
          },
          "over_budget": {
            "type": "string",
            "nullable": true
          },
          "query": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_recentEventsQuery",
            "nullable": true
          },
          "queryable_table": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableTableConfig",
            "nullable": true
          },
          "rendering": {
            "type": "boolean"
          },
          "searchable_text": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_searchableTextConfig",
            "nullable": true
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "source_version": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "web_view_link": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "attachment_count",
          "id",
          "name",
          "ordinal",
          "rendering",
          "status",
          "type"
        ]
      },
      "services_ui_api_knowledge_sources_libraryEntryResponse": {
        "type": "object",
        "properties": {
          "attachment_count": {
            "type": "integer",
            "format": "int64"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_attachmentView"
            },
            "nullable": true
          },
          "credential_id": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "duplicate": {
            "type": "boolean",
            "nullable": true
          },
          "estimated_tokens": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "failure_code": {
            "type": "string",
            "nullable": true
          },
          "failure_reason": {
            "type": "string",
            "nullable": true
          },
          "fetched_at": {
            "type": "string",
            "nullable": true
          },
          "file_id": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "is_static": {
            "type": "boolean",
            "nullable": true
          },
          "mime_type": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "queryable_table": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableTableConfig",
            "nullable": true
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "source_version": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "string",
            "nullable": true
          },
          "web_view_link": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "attachment_count",
          "id",
          "name",
          "status",
          "type"
        ]
      },
      "services_ui_api_knowledge_sources_libraryListResponse": {
        "type": "object",
        "properties": {
          "knowledge_source_library": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_libraryEntryResponse"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int64"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          }
        },
        "required": [
          "knowledge_source_library",
          "meta"
        ]
      },
      "services_ui_api_knowledge_sources_listResponse": {
        "type": "object",
        "properties": {
          "knowledge_sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_knowledgeSourceResponse"
            }
          }
        },
        "required": [
          "knowledge_sources"
        ]
      },
      "services_ui_api_knowledge_sources_previewRequest": {
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string"
          },
          "query": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_recentEventsQuery"
          }
        },
        "required": [
          "customer_id",
          "query"
        ]
      },
      "services_ui_api_knowledge_sources_previewResponse": {
        "type": "object",
        "properties": {
          "data": {},
          "errors": {
            "type": "object",
            "properties": {
              "customer_id": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "limit": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              }
            }
          }
        },
        "required": [
          "data",
          "errors"
        ]
      },
      "services_ui_api_knowledge_sources_queryableColumn": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "services_ui_api_knowledge_sources_queryableSchemaEdit": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableColumn"
            },
            "nullable": true
          },
          "tabs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableTab"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_knowledge_sources_queryableTab": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableColumn"
            }
          },
          "delimiter": {
            "type": "string",
            "nullable": true
          },
          "row_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "columns",
          "title"
        ]
      },
      "services_ui_api_knowledge_sources_queryableTableConfig": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableColumn"
            }
          },
          "delimiter": {
            "type": "string",
            "nullable": true
          },
          "row_cap": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "row_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "skipped_tabs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "tabs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableTab"
            },
            "nullable": true
          },
          "tool_description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "columns"
        ]
      },
      "services_ui_api_knowledge_sources_recentEventsQuery": {
        "type": "object",
        "properties": {
          "asc": {
            "type": "boolean",
            "nullable": true
          },
          "conditions": {
            "type": "string",
            "nullable": true
          },
          "event_name": {
            "type": "string",
            "nullable": true
          },
          "event_type": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "order_by": {
            "type": "string",
            "nullable": true
          },
          "window_days": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_knowledge_sources_searchableTextConfig": {
        "type": "object",
        "properties": {
          "context_lines": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max_matches": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "size_bytes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tool_description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_knowledge_sources_signRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "size",
          "type"
        ]
      },
      "services_ui_api_knowledge_sources_signResponse": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "gcs": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          },
          "s3": {
            "$ref": "#/components/schemas/services_s3_UploadSignature",
            "nullable": true
          }
        },
        "required": [
          "filename"
        ]
      },
      "services_ui_api_knowledge_sources_updateLibraryRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string",
            "nullable": true
          },
          "mime_type": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "queryable_table": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableSchemaEdit",
            "nullable": true
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "stored_filename": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_knowledge_sources_updateRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string",
            "nullable": true
          },
          "mime_type": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "query": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_recentEventsQuery",
            "nullable": true
          },
          "queryable_table": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_queryableTableConfig",
            "nullable": true
          },
          "searchable_text": {
            "$ref": "#/components/schemas/services_ui_api_knowledge_sources_searchableTextConfig",
            "nullable": true
          },
          "size_bytes": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "stored_filename": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_knowledge_sources_uploadLibraryForm": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Optional description shown alongside the entry.",
            "nullable": true
          },
          "file": {
            "type": "string",
            "format": "binary",
            "description": "The file to upload. Its content type comes from the part's Content-Type header, falling back to the filename extension; a declared type that contradicts the extension is rejected."
          },
          "name": {
            "type": "string",
            "description": "Name to store the entry under. Defaults to the uploaded file's name.",
            "nullable": true
          }
        },
        "required": [
          "file"
        ]
      },
      "services_ui_api_layouts_actionsLinksResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          }
        },
        "required": [
          "actions",
          "campaigns"
        ]
      },
      "services_ui_api_layouts_layoutParams": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "is_default": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "starter_layout_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "body",
          "is_default",
          "name"
        ]
      },
      "services_ui_api_layouts_layoutRequest": {
        "type": "object",
        "properties": {
          "layout": {
            "$ref": "#/components/schemas/services_ui_api_layouts_layoutParams"
          }
        },
        "required": [
          "layout"
        ]
      },
      "services_ui_api_layouts_layoutResponse": {
        "type": "object",
        "properties": {
          "layout": {
            "$ref": "#/components/schemas/services_ui_api_model_Layout",
            "nullable": true
          }
        }
      },
      "services_ui_api_layouts_layoutsMeta": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "archived",
          "total"
        ]
      },
      "services_ui_api_layouts_layoutsResponse": {
        "type": "object",
        "properties": {
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Layout"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_layouts_layoutsMeta",
            "nullable": true
          }
        },
        "required": [
          "layouts"
        ]
      },
      "services_ui_api_layouts_newslettersLinksResponse": {
        "type": "object",
        "properties": {
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Newsletter"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TemplateListItem"
            }
          }
        },
        "required": [
          "newsletters",
          "templates"
        ]
      },
      "services_ui_api_layouts_setDefaultRequest": {
        "type": "object",
        "properties": {
          "layout": {}
        },
        "required": [
          "layout"
        ]
      },
      "services_ui_api_layouts_starterLayoutsResponse": {
        "type": "object",
        "properties": {
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LayoutStarter"
            }
          }
        },
        "required": [
          "layouts"
        ]
      },
      "services_ui_api_layouts_toggleArchivedRequest": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          }
        },
        "required": [
          "archived"
        ]
      },
      "services_ui_api_layouts_transactionalLinksResponse": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          },
          "transactional_messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TransactionalMessage"
            }
          }
        },
        "required": [
          "templates",
          "transactional_messages"
        ]
      },
      "services_ui_api_llm_configurations_addModelsRequest": {
        "type": "object",
        "properties": {
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_llm_configurations_modelEntry"
            }
          }
        },
        "required": [
          "models"
        ]
      },
      "services_ui_api_llm_configurations_configModelResponse": {
        "type": "object",
        "properties": {
          "model": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMConfigurationModel"
          }
        },
        "required": [
          "model"
        ]
      },
      "services_ui_api_llm_configurations_configModelsResponse": {
        "type": "object",
        "properties": {
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMConfigurationModel"
            }
          }
        },
        "required": [
          "models"
        ]
      },
      "services_ui_api_llm_configurations_configurationResponse": {
        "type": "object",
        "properties": {
          "configuration": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMConfiguration",
            "nullable": true
          }
        }
      },
      "services_ui_api_llm_configurations_configurationsResponse": {
        "type": "object",
        "properties": {
          "configurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMConfiguration"
            }
          }
        },
        "required": [
          "configurations"
        ]
      },
      "services_ui_api_llm_configurations_createRequest": {
        "type": "object",
        "properties": {
          "config_data": {},
          "description": {
            "type": "string"
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_llm_configurations_modelEntry"
            }
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          }
        },
        "required": [
          "config_data",
          "description",
          "models",
          "name",
          "provider"
        ]
      },
      "services_ui_api_llm_configurations_fetchModelsRequest": {
        "type": "object",
        "properties": {
          "config_data": {},
          "provider": {
            "type": "string"
          }
        },
        "required": [
          "config_data",
          "provider"
        ]
      },
      "services_ui_api_llm_configurations_modelEntry": {
        "type": "object",
        "properties": {
          "model_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "model_id",
          "name"
        ]
      },
      "services_ui_api_llm_configurations_modelsResponse": {
        "type": "object",
        "properties": {
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMModel"
            }
          }
        },
        "required": [
          "models"
        ]
      },
      "services_ui_api_llm_configurations_providersResponse": {
        "type": "object",
        "properties": {
          "providers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMProvider"
            }
          }
        },
        "required": [
          "providers"
        ]
      },
      "services_ui_api_llm_configurations_updateModelRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_llm_configurations_updateRequest": {
        "type": "object",
        "properties": {
          "config_data": {},
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "config_data"
        ]
      },
      "services_ui_api_llm_configurations_verifyRequest": {
        "type": "object",
        "properties": {
          "config_data": {},
          "provider": {
            "type": "string"
          }
        },
        "required": [
          "config_data",
          "provider"
        ]
      },
      "services_ui_api_llm_configurations_verifyResponse": {
        "type": "object",
        "properties": {
          "verified": {
            "type": "boolean"
          }
        },
        "required": [
          "verified"
        ]
      },
      "services_ui_api_logs_logsReply": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Log"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "continuation": {
                "type": "string"
              },
              "filter_matches": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "continuation",
              "filter_matches"
            ]
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Object"
            },
            "nullable": true
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Segment"
            },
            "nullable": true
          }
        },
        "required": [
          "customers",
          "logs",
          "meta"
        ]
      },
      "services_ui_api_mailservers_mailServerResponse": {
        "type": "object",
        "properties": {
          "mail_server": {
            "$ref": "#/components/schemas/services_ui_api_model_MailServer",
            "nullable": true
          }
        }
      },
      "services_ui_api_mailservers_mailServersResponse": {
        "type": "object",
        "properties": {
          "mail_servers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_MailServer"
            }
          }
        },
        "required": [
          "mail_servers"
        ]
      },
      "services_ui_api_mailservers_requestBody": {
        "type": "object",
        "properties": {
          "mail_server": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string"
              },
              "authentication": {
                "type": "string"
              },
              "default_for": {
                "type": "string"
              },
              "password": {
                "type": "string",
                "nullable": true
              },
              "port": {
                "type": "integer",
                "format": "int32"
              },
              "use_api": {
                "type": "boolean"
              },
              "username": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "address",
              "authentication",
              "default_for",
              "port",
              "use_api"
            ]
          }
        },
        "required": [
          "mail_server"
        ]
      },
      "services_ui_api_mcp_getSessionResponse": {
        "type": "object",
        "properties": {
          "mcp_client": {
            "$ref": "#/components/schemas/services_ui_api_model_McpClient",
            "nullable": true
          },
          "mcp_session": {
            "$ref": "#/components/schemas/services_ui_api_model_McpSession",
            "nullable": true
          }
        }
      },
      "services_ui_api_mcp_listSessionsResponse": {
        "type": "object",
        "properties": {
          "mcp_clients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_McpClient"
            }
          },
          "mcp_sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_McpSession"
            }
          }
        },
        "required": [
          "mcp_clients",
          "mcp_sessions"
        ]
      },
      "services_ui_api_mcp_listToolsResponse": {
        "type": "object",
        "properties": {
          "mcp_tools": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_McpTool"
            }
          }
        },
        "required": [
          "mcp_tools"
        ]
      },
      "services_ui_api_message_channels_settingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_domains_environments_ChannelClientSettings",
            "description": "Settings currently stored for the channel. Fields not applicable to the channel are omitted."
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_message_channels_updateSettingsRequest": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_domains_environments_ChannelClientSettings",
            "description": "Full replacement of the channel's settings. Unknown fields are ignored. Fields not applicable to the channel are silently dropped."
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_message_limits_MessageLimits": {
        "type": "object",
        "properties": {
          "apitb_enabled": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "campaigns_enabled": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletters_enabled": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          },
          "retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "window_secs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "apitb_enabled",
          "campaigns_enabled",
          "count",
          "newsletters_enabled",
          "retry_window_secs",
          "window_secs"
        ]
      },
      "services_ui_api_message_limits_messageLimitsResponse": {
        "type": "object",
        "properties": {
          "message_limit": {
            "$ref": "#/components/schemas/services_ui_api_message_limits_MessageLimits"
          }
        },
        "required": [
          "message_limit"
        ]
      },
      "services_ui_api_message_limits_updateMessageLimits": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "window_secs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "count",
          "retry_window_secs",
          "window_secs"
        ]
      },
      "services_ui_api_message_limits_updateMessageLimitsRequest": {
        "type": "object",
        "properties": {
          "message_limit": {
            "$ref": "#/components/schemas/services_ui_api_message_limits_updateMessageLimits"
          }
        },
        "required": [
          "message_limit"
        ]
      },
      "services_ui_api_messages_messageLibraryResponse": {
        "type": "object",
        "properties": {
          "message_library_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TemplateItem"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "is_limited": {
                "type": "boolean"
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "is_limited",
              "pagination"
            ]
          }
        },
        "required": [
          "message_library_items",
          "meta"
        ]
      },
      "services_ui_api_metrics_actionMetricsResponse": {
        "type": "object",
        "properties": {
          "metric": {
            "$ref": "#/components/schemas/services_ui_api_model_Metric"
          }
        },
        "required": [
          "metric"
        ]
      },
      "services_ui_api_metrics_allActionMetricsResponse": {
        "type": "object",
        "properties": {
          "action_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_Metric"
            }
          }
        },
        "required": [
          "action_metrics"
        ]
      },
      "services_ui_api_metrics_allEnvironmentMetricsResponse": {
        "type": "object",
        "properties": {
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Metric"
            }
          }
        },
        "required": [
          "metrics"
        ]
      },
      "services_ui_api_metrics_channelMetricsResponse": {
        "type": "object",
        "properties": {
          "channel_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_Metric"
            }
          }
        },
        "required": [
          "channel_metrics"
        ]
      },
      "services_ui_api_metrics_inAppBroadcastMetricsResponse": {
        "type": "object",
        "properties": {
          "metric": {
            "$ref": "#/components/schemas/services_ui_api_model_Metric"
          }
        },
        "required": [
          "metric"
        ]
      },
      "services_ui_api_metrics_inAppBroadcastOutputMetricsResponse": {
        "type": "object",
        "properties": {
          "in_app_broadcast_id": {
            "type": "string"
          },
          "metrics": {
            "type": "array",
            "description": "One entry per output the form currently has, in in_app, embedded, hosted order.",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_metrics_outputMetric"
            }
          }
        },
        "required": [
          "in_app_broadcast_id",
          "metrics"
        ]
      },
      "services_ui_api_metrics_journeyMetricsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_metrics_outputMetric": {
        "type": "object",
        "properties": {
          "metric": {
            "$ref": "#/components/schemas/services_ui_api_model_Metric"
          },
          "output_type": {
            "type": "string",
            "description": "in_app, embedded, or hosted."
          },
          "template_ids": {
            "type": "array",
            "description": "The templates (one per language) whose metrics are summed into this entry.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "metric",
          "output_type",
          "template_ids"
        ]
      },
      "services_ui_api_metrics_splitMetricsActionResponse": {
        "type": "object",
        "properties": {
          "split_metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SplitMetric"
            }
          }
        },
        "required": [
          "split_metrics"
        ]
      },
      "services_ui_api_metrics_splitMetricsResponse": {
        "type": "object",
        "properties": {
          "split_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/services_ui_api_model_SplitMetric"
              }
            }
          }
        },
        "required": [
          "split_metrics"
        ]
      },
      "services_ui_api_metrics_v2_DashboardTestsResponse": {
        "type": "object",
        "properties": {
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DashboardNewsletter"
            }
          },
          "split_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SplitAction"
            }
          }
        },
        "required": [
          "newsletters",
          "split_actions"
        ]
      },
      "services_ui_api_metrics_v2_DeliveryMetricsResponse": {
        "type": "object",
        "properties": {
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Metrics"
            }
          }
        },
        "required": [
          "metrics"
        ]
      },
      "services_ui_api_metrics_v2_LinkMetricsResponse": {
        "type": "object",
        "properties": {
          "tracked_link_metric": {
            "$ref": "#/components/schemas/services_ui_api_model_TrackedLinkMetrics"
          }
        },
        "required": [
          "tracked_link_metric"
        ]
      },
      "services_ui_api_metrics_v2_SegmentMembershipResponse": {
        "type": "object",
        "properties": {
          "membership_metric": {
            "$ref": "#/components/schemas/services_ui_api_model_SegmentMembership"
          }
        },
        "required": [
          "membership_metric"
        ]
      },
      "services_ui_api_model_Account": {
        "type": "object",
        "properties": {
          "access_granted_by": {
            "type": "string",
            "nullable": true
          },
          "access_granted_on": {
            "type": "integer",
            "format": "int64"
          },
          "access_granted_until": {
            "type": "integer",
            "format": "int64"
          },
          "account_state": {
            "type": "string",
            "enum": [
              "free",
              "current",
              "canceled",
              "suspended",
              "overdue",
              "payment_pending",
              "pending_cancellation"
            ]
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": "string"
          },
          "admin": {
            "type": "boolean"
          },
          "billing_vendor": {
            "type": "string",
            "enum": [
              "legacy_stripe",
              "ordway",
              "metronome",
              "modern_stripe"
            ],
            "nullable": true
          },
          "can_reactivate": {
            "type": "boolean"
          },
          "cancel_trial_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "city": {
            "type": "string"
          },
          "confirmed": {
            "type": "boolean"
          },
          "country": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "cs_access_granted_by": {
            "type": "string",
            "nullable": true
          },
          "cs_access_granted_on": {
            "type": "integer",
            "format": "int64"
          },
          "cs_access_granted_until": {
            "type": "integer",
            "format": "int64"
          },
          "current_user_id": {
            "type": "string"
          },
          "custom_smtp_locked": {
            "type": "boolean"
          },
          "data_center": {
            "type": "string"
          },
          "delete_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "enable_troubleshooting_cookies": {
            "type": "boolean"
          },
          "environment_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "feature_flags": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          },
          "gated_features": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_gates_Feature"
            }
          },
          "has_csm": {
            "type": "boolean"
          },
          "has_data": {
            "type": "boolean"
          },
          "hipaa_account": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "invoice_email": {
            "type": "string"
          },
          "is_masqueraded": {
            "type": "boolean"
          },
          "is_paused": {
            "type": "boolean"
          },
          "is_sample_account_access": {
            "type": "boolean"
          },
          "legal_email": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          },
          "max_session_duration_hours": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "next_invoice_date": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ordway_id": {
            "type": "string",
            "nullable": true
          },
          "partner_account": {
            "type": "boolean"
          },
          "plan_include_churn": {
            "type": "boolean"
          },
          "plan_period_end": {
            "type": "integer",
            "format": "int32"
          },
          "plan_period_start": {
            "type": "integer",
            "format": "int32"
          },
          "plan_price": {
            "type": "integer",
            "format": "int32"
          },
          "plan_slug": {
            "type": "string"
          },
          "premium": {
            "type": "boolean"
          },
          "premium_trial": {
            "type": "boolean"
          },
          "product_activations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "promo_codes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_PromoCode"
            }
          },
          "public_settings": {
            "$ref": "#/components/schemas/services_domains_accounts_PublicSettings"
          },
          "rd_access_granted_by": {
            "type": "string",
            "nullable": true
          },
          "rd_access_granted_on": {
            "type": "integer",
            "format": "int64"
          },
          "read_only": {
            "type": "boolean"
          },
          "sandbox": {
            "type": "boolean"
          },
          "session_duration": {
            "type": "integer",
            "format": "int32"
          },
          "setup_data": {
            "type": "integer",
            "format": "int32"
          },
          "setup_email": {
            "type": "integer",
            "format": "int32"
          },
          "signup_profile": {
            "$ref": "#/components/schemas/services_domains_accounts_SignupProfile",
            "nullable": true
          },
          "sso_setting": {
            "type": "string",
            "enum": [
              "off",
              "required"
            ]
          },
          "state": {
            "type": "string"
          },
          "support_tier": {
            "type": "string"
          },
          "suspend_incomplete_subscription_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "suspend_trial_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "system_notification": {
            "type": "string"
          },
          "technical_email": {
            "type": "string"
          },
          "two_factor_authentication_required": {
            "type": "boolean"
          },
          "verification_review_state": {
            "type": "string",
            "enum": [
              "pending",
              "enriching",
              "review",
              "approved",
              "rejected",
              "needs_more_info"
            ],
            "nullable": true
          },
          "verification_state": {
            "type": "string",
            "enum": [
              "approved",
              "rejected",
              "pending",
              "unsubmitted"
            ]
          },
          "zip_code": {
            "type": "string"
          }
        },
        "required": [
          "access_granted_on",
          "access_granted_until",
          "account_state",
          "address_line1",
          "address_line2",
          "admin",
          "can_reactivate",
          "city",
          "confirmed",
          "country",
          "created_at",
          "cs_access_granted_on",
          "cs_access_granted_until",
          "current_user_id",
          "custom_smtp_locked",
          "data_center",
          "email",
          "enable_troubleshooting_cookies",
          "environment_ids",
          "feature_flags",
          "gated_features",
          "has_csm",
          "has_data",
          "hipaa_account",
          "id",
          "invoice_email",
          "is_masqueraded",
          "is_paused",
          "is_sample_account_access",
          "legal_email",
          "logo_url",
          "name",
          "partner_account",
          "plan_include_churn",
          "plan_period_end",
          "plan_period_start",
          "plan_price",
          "plan_slug",
          "premium",
          "premium_trial",
          "promo_codes",
          "public_settings",
          "rd_access_granted_on",
          "read_only",
          "sandbox",
          "session_duration",
          "setup_data",
          "setup_email",
          "sso_setting",
          "state",
          "support_tier",
          "system_notification",
          "technical_email",
          "two_factor_authentication_required",
          "verification_state",
          "zip_code"
        ]
      },
      "services_ui_api_model_ActionAttribute": {
        "type": "object",
        "properties": {
          "attribute_name": {
            "type": "string"
          },
          "attribute_value": {
            "type": "string"
          },
          "attributes": {
            "type": "string"
          }
        },
        "required": [
          "attribute_name",
          "attribute_value",
          "attributes"
        ]
      },
      "services_ui_api_model_ActionAttributeWrites": {
        "type": "object",
        "properties": {
          "attribute_destinations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribute_fallback_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attributes_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attributes_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_model_ActionConditional": {
        "type": "object",
        "properties": {
          "conditions": {
            "type": "string"
          }
        },
        "required": [
          "conditions"
        ]
      },
      "services_ui_api_model_ActionConditionalEventAttr": {
        "type": "object",
        "properties": {
          "delay_event_attr": {
            "type": "string"
          },
          "delay_event_attr_offset": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "delay_event_attr",
          "delay_event_attr_offset"
        ]
      },
      "services_ui_api_model_ActionConditionalWait": {
        "type": "object",
        "properties": {
          "delay_paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DelayPathFromUI"
            },
            "nullable": true
          },
          "exit_type": {
            "type": "string"
          }
        },
        "required": [
          "exit_type"
        ]
      },
      "services_ui_api_model_ActionCreateEvent": {
        "type": "object",
        "properties": {
          "event_name": {
            "type": "string"
          }
        },
        "required": [
          "event_name"
        ]
      },
      "services_ui_api_model_ActionCreateWebhook": {
        "type": "object",
        "properties": {
          "webhook_id": {
            "type": "string"
          }
        },
        "required": [
          "webhook_id"
        ]
      },
      "services_ui_api_model_ActionCredential": {
        "type": "object",
        "properties": {
          "action_type": {
            "type": "string",
            "enum": [
              "webhook",
              "attribute_update",
              "twilio",
              "sms",
              "urban_airship",
              "slack",
              "url_params",
              "time_zone_match",
              "push_apns",
              "push_fcm",
              "in_app",
              "line",
              "whatsapp",
              "inbox"
            ]
          },
          "config": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "action_type",
          "config",
          "created",
          "updated",
          "username"
        ]
      },
      "services_ui_api_model_ActionDelaySeconds": {
        "type": "object",
        "properties": {
          "delay": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "delay"
        ]
      },
      "services_ui_api_model_ActionDelayTimeWindow": {
        "type": "object",
        "properties": {
          "days": {
            "type": "string"
          },
          "end_time": {
            "type": "string"
          },
          "fallback_zone": {
            "type": "string"
          },
          "start_time": {
            "type": "string"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "days",
          "end_time",
          "fallback_zone",
          "start_time",
          "zone"
        ]
      },
      "services_ui_api_model_ActionDelivery": {
        "type": "object",
        "properties": {
          "add_to_inbox": {
            "type": "boolean",
            "nullable": true
          },
          "await_completion": {
            "type": "boolean",
            "nullable": true
          },
          "can_convert": {
            "type": "boolean"
          },
          "has_content": {
            "type": "boolean"
          },
          "has_subject": {
            "type": "boolean"
          },
          "holdout": {
            "type": "boolean"
          },
          "optimal_time_days": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "optimal_time_description": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_end": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_start": {
            "type": "string",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "description": "Read-only copy of the associated template's recipient. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "sending_state": {
            "type": "string",
            "enum": [
              "off",
              "draft",
              "automatic"
            ]
          },
          "subject": {
            "type": "string",
            "description": "Read-only copy of the associated template's subject. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "tracked": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "can_convert",
          "has_content",
          "has_subject",
          "holdout",
          "sending_state"
        ]
      },
      "services_ui_api_model_ActionExperiment": {
        "type": "object",
        "properties": {
          "experiment_config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig",
            "nullable": true
          },
          "experiment_fallback_variant_id": {
            "type": "string"
          },
          "experiment_holdout_variant_id": {
            "type": "string",
            "nullable": true
          },
          "experiment_id": {
            "type": "string"
          },
          "experiment_name": {
            "type": "string",
            "nullable": true
          },
          "experiment_observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "experiment_status": {
            "type": "string",
            "nullable": true
          },
          "experiment_variant_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "experiment_variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ExperimentVariantSummary"
            },
            "nullable": true
          },
          "experiment_winner_variant_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "experiment_fallback_variant_id",
          "experiment_id",
          "experiment_variant_ids"
        ]
      },
      "services_ui_api_model_ActionFromUI": {
        "type": "object",
        "properties": {
          "action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "action_state": {
            "type": "string"
          },
          "add_to_inbox": {
            "type": "boolean",
            "nullable": true
          },
          "add_to_seg": {
            "type": "boolean"
          },
          "allocations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "asc": {
            "type": "boolean",
            "nullable": true
          },
          "attribute_destinations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribute_fallback_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attribute_name": {
            "type": "string"
          },
          "attribute_value": {
            "type": "string"
          },
          "attributes": {
            "type": "string"
          },
          "attributes_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attributes_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "await_completion": {
            "type": "boolean",
            "nullable": true
          },
          "campaign_id": {
            "type": "string"
          },
          "can_convert": {
            "type": "boolean"
          },
          "cohort_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "cohorts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "collection_id": {
            "type": "string",
            "nullable": true
          },
          "conditions": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "days": {
            "type": "string"
          },
          "delay": {
            "type": "integer",
            "format": "int32"
          },
          "delay_event_attr": {
            "type": "string"
          },
          "delay_event_attr_offset": {
            "type": "integer",
            "format": "int32"
          },
          "delay_paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DelayPathFromUI"
            },
            "nullable": true
          },
          "end_time": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "event_name": {
            "type": "string"
          },
          "exit_type": {
            "type": "string"
          },
          "experiment_config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig",
            "nullable": true
          },
          "experiment_fallback_variant_id": {
            "type": "string"
          },
          "experiment_holdout_variant_id": {
            "type": "string",
            "nullable": true
          },
          "experiment_id": {
            "type": "string"
          },
          "experiment_name": {
            "type": "string",
            "nullable": true
          },
          "experiment_observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "experiment_status": {
            "type": "string",
            "nullable": true
          },
          "experiment_variant_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "experiment_variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ExperimentVariantSummary"
            },
            "nullable": true
          },
          "experiment_winner_variant_id": {
            "type": "string",
            "nullable": true
          },
          "fallback_zone": {
            "type": "string"
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string",
            "nullable": true
          },
          "group_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "group_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "has_content": {
            "type": "boolean"
          },
          "has_subject": {
            "type": "boolean"
          },
          "has_url": {
            "type": "boolean"
          },
          "holdout": {
            "type": "boolean"
          },
          "hostname": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "journey_attribute_name": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_SplitMetricLinks"
          },
          "llm_calls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMCall"
            }
          },
          "llm_result_action": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMResultAction"
          },
          "max_delay": {
            "type": "integer",
            "format": "int32"
          },
          "message_limits_retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "min_delay": {
            "type": "integer",
            "format": "int32"
          },
          "multi_conditions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "optimal_time_days": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "optimal_time_description": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_end": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_start": {
            "type": "string",
            "nullable": true
          },
          "order_by": {
            "type": "string",
            "nullable": true
          },
          "override_message_limits_retry": {
            "type": "boolean"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          },
          "preconditions": {
            "type": "string"
          },
          "query_preview_columns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "randomize": {
            "type": "boolean"
          },
          "recipient": {
            "type": "string",
            "description": "Read-only copy of the associated template's recipient. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "request_method": {
            "type": "string"
          },
          "segment_id": {
            "type": "string",
            "nullable": true
          },
          "send_to_platform": {
            "type": "string"
          },
          "send_to_unsubscribed": {
            "type": "boolean",
            "nullable": true
          },
          "sending_state": {
            "type": "string",
            "enum": [
              "off",
              "draft",
              "automatic"
            ]
          },
          "single_result": {
            "type": "boolean"
          },
          "split_state": {
            "type": "string"
          },
          "start_time": {
            "type": "string"
          },
          "started": {
            "type": "integer",
            "format": "int32"
          },
          "sub_type": {
            "type": "string",
            "enum": [
              "default",
              "survey",
              "whatsapp",
              "journey_attr_update",
              "tour",
              "llm_action_guided"
            ]
          },
          "subject": {
            "type": "string",
            "description": "Read-only copy of the associated template's subject. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "subscription_topic_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "template_type": {
            "type": "string",
            "nullable": true
          },
          "tracked": {
            "type": "boolean",
            "nullable": true
          },
          "trigger_conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TriggerElement"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "email_action",
              "delay_seconds_action",
              "delay_time_window_action",
              "split_randomized_action",
              "webhook_action",
              "twilio_action",
              "urban_airship_action",
              "slack_action",
              "attribute_update_action",
              "filter_match_delay_action",
              "grace_period_action",
              "push_action",
              "conditional_wait_action",
              "randomized_delay_action",
              "conditional_branch_action",
              "multi_split_branch_action",
              "random_cohort_branch_action",
              "experiment_action",
              "exit_action",
              "static_seg_update_action",
              "collection_query_action",
              "create_event_action",
              "multi_lang_branch_action",
              "batch_update_action",
              "in_app_action",
              "trigger",
              "llm_action",
              "line_action",
              "inbox_action",
              "whatsapp_action",
              "sms_action"
            ]
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "use_message_limits": {
            "type": "boolean",
            "nullable": true
          },
          "warnings": {
            "type": "string",
            "nullable": true
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "webhook_id": {
            "type": "string"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "action_ids",
          "action_state",
          "add_to_seg",
          "allocations",
          "attribute_name",
          "attribute_value",
          "attributes",
          "campaign_id",
          "can_convert",
          "cohorts",
          "conditions",
          "created",
          "days",
          "delay",
          "delay_event_attr",
          "delay_event_attr_offset",
          "end_time",
          "environment_id",
          "event_name",
          "exit_type",
          "experiment_fallback_variant_id",
          "experiment_id",
          "experiment_variant_ids",
          "fallback_zone",
          "has_content",
          "has_subject",
          "has_url",
          "holdout",
          "hostname",
          "id",
          "links",
          "llm_calls",
          "llm_result_action",
          "max_delay",
          "message_limits_retry_window_secs",
          "min_delay",
          "multi_conditions",
          "name",
          "object_type_id",
          "override_message_limits_retry",
          "preconditions",
          "query_preview_columns",
          "randomize",
          "request_method",
          "send_to_platform",
          "sending_state",
          "single_result",
          "split_state",
          "start_time",
          "started",
          "sub_type",
          "trigger_conditions",
          "type",
          "updated",
          "webhook_id",
          "zone"
        ]
      },
      "services_ui_api_model_ActionLLMAction": {
        "type": "object",
        "properties": {
          "llm_calls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMCall"
            }
          },
          "llm_result_action": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMResultAction"
          }
        },
        "required": [
          "llm_calls",
          "llm_result_action"
        ]
      },
      "services_ui_api_model_ActionMultiConditional": {
        "type": "object",
        "properties": {
          "group_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "group_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "multi_conditions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "multi_conditions"
        ]
      },
      "services_ui_api_model_ActionPreconditions": {
        "type": "object",
        "properties": {
          "preconditions": {
            "type": "string"
          }
        },
        "required": [
          "preconditions"
        ]
      },
      "services_ui_api_model_ActionQueryCollection": {
        "type": "object",
        "properties": {
          "asc": {
            "type": "boolean",
            "nullable": true
          },
          "collection_id": {
            "type": "string",
            "nullable": true
          },
          "journey_attribute_name": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "order_by": {
            "type": "string",
            "nullable": true
          },
          "query_preview_columns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "randomize": {
            "type": "boolean"
          },
          "single_result": {
            "type": "boolean"
          }
        },
        "required": [
          "query_preview_columns",
          "randomize",
          "single_result"
        ]
      },
      "services_ui_api_model_ActionRandomCohort": {
        "type": "object",
        "properties": {
          "cohort_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "cohorts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "cohorts"
        ]
      },
      "services_ui_api_model_ActionRandomizedDelay": {
        "type": "object",
        "properties": {
          "max_delay": {
            "type": "integer",
            "format": "int32"
          },
          "min_delay": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "max_delay",
          "min_delay"
        ]
      },
      "services_ui_api_model_ActionResultAttributes": {
        "type": "object",
        "properties": {
          "attribute_destinations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribute_fallback_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attributes_names": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "attributes_values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attributes_names",
          "attributes_values"
        ]
      },
      "services_ui_api_model_ActionSplit": {
        "type": "object",
        "properties": {
          "action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "action_ids"
        ]
      },
      "services_ui_api_model_ActionSplitRandom": {
        "type": "object",
        "properties": {
          "allocations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_SplitMetricLinks"
          },
          "split_state": {
            "type": "string"
          },
          "started": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "allocations",
          "links",
          "split_state",
          "started"
        ]
      },
      "services_ui_api_model_ActionStaticSegUpdate": {
        "type": "object",
        "properties": {
          "add_to_seg": {
            "type": "boolean"
          },
          "segment_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "add_to_seg"
        ]
      },
      "services_ui_api_model_ActionSubscription": {
        "type": "object",
        "properties": {
          "send_to_unsubscribed": {
            "type": "boolean",
            "nullable": true
          },
          "subscription_topic_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_model_ActionTemplate": {
        "type": "object",
        "properties": {
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "template_type": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_model_ActionToUI": {
        "type": "object",
        "properties": {
          "action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "action_state": {
            "type": "string"
          },
          "add_to_inbox": {
            "type": "boolean",
            "nullable": true
          },
          "add_to_seg": {
            "type": "boolean"
          },
          "allocations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "asc": {
            "type": "boolean",
            "nullable": true
          },
          "attribute_destinations": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attribute_fallback_values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "attribute_name": {
            "type": "string"
          },
          "attribute_value": {
            "type": "string"
          },
          "attributes": {
            "type": "string"
          },
          "attributes_names": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "attributes_values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "await_completion": {
            "type": "boolean",
            "nullable": true
          },
          "campaign_id": {
            "type": "string"
          },
          "can_convert": {
            "type": "boolean"
          },
          "cohort_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "cohorts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "collection_id": {
            "type": "string",
            "nullable": true
          },
          "conditions": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "days": {
            "type": "string"
          },
          "delay": {
            "type": "integer",
            "format": "int32"
          },
          "delay_event_attr": {
            "type": "string"
          },
          "delay_event_attr_offset": {
            "type": "integer",
            "format": "int32"
          },
          "delay_paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DelayPathFromUI"
            },
            "nullable": true
          },
          "end_time": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "event_name": {
            "type": "string"
          },
          "exit_type": {
            "type": "string"
          },
          "experiment_config": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConfig",
            "nullable": true
          },
          "experiment_fallback_variant_id": {
            "type": "string"
          },
          "experiment_holdout_variant_id": {
            "type": "string",
            "nullable": true
          },
          "experiment_id": {
            "type": "string"
          },
          "experiment_name": {
            "type": "string",
            "nullable": true
          },
          "experiment_observation_ends_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "experiment_status": {
            "type": "string",
            "nullable": true
          },
          "experiment_variant_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "experiment_variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ExperimentVariantSummary"
            },
            "nullable": true
          },
          "experiment_winner_variant_id": {
            "type": "string",
            "nullable": true
          },
          "fallback_zone": {
            "type": "string"
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string",
            "nullable": true
          },
          "group_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "group_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "has_content": {
            "type": "boolean"
          },
          "has_subject": {
            "type": "boolean"
          },
          "has_url": {
            "type": "boolean"
          },
          "holdout": {
            "type": "boolean"
          },
          "hostname": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "journey_attribute_name": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_SplitMetricLinks"
          },
          "llm_calls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMCall"
            }
          },
          "llm_result_action": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMResultAction"
          },
          "max_delay": {
            "type": "integer",
            "format": "int32"
          },
          "message_limits_retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "min_delay": {
            "type": "integer",
            "format": "int32"
          },
          "multi_conditions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "optimal_time_days": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "optimal_time_description": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_end": {
            "type": "string",
            "nullable": true
          },
          "optimal_time_start": {
            "type": "string",
            "nullable": true
          },
          "order_by": {
            "type": "string",
            "nullable": true
          },
          "override_message_limits_retry": {
            "type": "boolean"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          },
          "preconditions": {
            "type": "string"
          },
          "query_preview_columns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "randomize": {
            "type": "boolean"
          },
          "recipient": {
            "type": "string",
            "description": "Read-only copy of the associated template's recipient. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "request_method": {
            "type": "string"
          },
          "segment_id": {
            "type": "string",
            "nullable": true
          },
          "send_to_platform": {
            "type": "string"
          },
          "send_to_unsubscribed": {
            "type": "boolean",
            "nullable": true
          },
          "sending_state": {
            "type": "string",
            "enum": [
              "off",
              "draft",
              "automatic"
            ]
          },
          "single_result": {
            "type": "boolean"
          },
          "split_state": {
            "type": "string"
          },
          "start_time": {
            "type": "string"
          },
          "started": {
            "type": "integer",
            "format": "int32"
          },
          "sub_type": {
            "type": "string",
            "enum": [
              "default",
              "survey",
              "whatsapp",
              "journey_attr_update",
              "tour",
              "llm_action_guided"
            ]
          },
          "subject": {
            "type": "string",
            "description": "Read-only copy of the associated template's subject. Action writes do not save it; update the template identified by template_id.",
            "readOnly": true
          },
          "subscription_topic_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "template_type": {
            "type": "string",
            "nullable": true
          },
          "tracked": {
            "type": "boolean",
            "nullable": true
          },
          "trigger_conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TriggerElement"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "email_action",
              "delay_seconds_action",
              "delay_time_window_action",
              "split_randomized_action",
              "webhook_action",
              "twilio_action",
              "urban_airship_action",
              "slack_action",
              "attribute_update_action",
              "filter_match_delay_action",
              "grace_period_action",
              "push_action",
              "conditional_wait_action",
              "randomized_delay_action",
              "conditional_branch_action",
              "multi_split_branch_action",
              "random_cohort_branch_action",
              "experiment_action",
              "exit_action",
              "static_seg_update_action",
              "collection_query_action",
              "create_event_action",
              "multi_lang_branch_action",
              "batch_update_action",
              "in_app_action",
              "trigger",
              "llm_action",
              "line_action",
              "inbox_action",
              "whatsapp_action",
              "sms_action"
            ]
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "use_message_limits": {
            "type": "boolean",
            "nullable": true
          },
          "warnings": {
            "type": "string",
            "nullable": true
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "webhook_id": {
            "type": "string"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "action_ids",
          "action_state",
          "add_to_seg",
          "allocations",
          "attribute_name",
          "attribute_value",
          "attributes",
          "attributes_names",
          "attributes_values",
          "campaign_id",
          "can_convert",
          "cohorts",
          "conditions",
          "created",
          "days",
          "delay",
          "delay_event_attr",
          "delay_event_attr_offset",
          "end_time",
          "environment_id",
          "event_name",
          "exit_type",
          "experiment_fallback_variant_id",
          "experiment_id",
          "experiment_variant_ids",
          "fallback_zone",
          "has_content",
          "has_subject",
          "has_url",
          "holdout",
          "hostname",
          "id",
          "links",
          "llm_calls",
          "llm_result_action",
          "max_delay",
          "message_limits_retry_window_secs",
          "min_delay",
          "multi_conditions",
          "name",
          "override_message_limits_retry",
          "preconditions",
          "query_preview_columns",
          "randomize",
          "request_method",
          "send_to_platform",
          "sending_state",
          "single_result",
          "split_state",
          "start_time",
          "started",
          "sub_type",
          "trigger_conditions",
          "type",
          "updated",
          "webhook_id",
          "zone"
        ]
      },
      "services_ui_api_model_ActionTrigger": {
        "type": "object",
        "properties": {
          "trigger_conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TriggerElement"
            }
          }
        },
        "required": [
          "trigger_conditions"
        ]
      },
      "services_ui_api_model_ActionWebhook": {
        "type": "object",
        "properties": {
          "has_url": {
            "type": "boolean"
          },
          "hostname": {
            "type": "string"
          },
          "request_method": {
            "type": "string"
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "has_url",
          "hostname",
          "request_method"
        ]
      },
      "services_ui_api_model_ActionWithMessageLimits": {
        "type": "object",
        "properties": {
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string",
            "nullable": true
          },
          "message_limits_retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "override_message_limits_retry": {
            "type": "boolean"
          },
          "use_message_limits": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "message_limits_retry_window_secs",
          "override_message_limits_retry"
        ]
      },
      "services_ui_api_model_ActionWithPlatform": {
        "type": "object",
        "properties": {
          "send_to_platform": {
            "type": "string"
          }
        },
        "required": [
          "send_to_platform"
        ]
      },
      "services_ui_api_model_Analysis": {
        "type": "object",
        "properties": {
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AnalysisMetric"
            }
          }
        },
        "required": [
          "metrics"
        ]
      },
      "services_ui_api_model_AnalysisData": {
        "type": "object",
        "properties": {
          "delivery_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "nullable": true
          },
          "journey_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "nullable": true
          },
          "live_notification_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "nullable": true
          },
          "message_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "nullable": true
          },
          "newsletter_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "nullable": true
          },
          "subscription_topic_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "nullable": true
          },
          "transactional_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_model_AnalysisMetric": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conversion": {
            "type": "boolean"
          },
          "data": {
            "$ref": "#/components/schemas/services_ui_api_model_AnalysisData"
          },
          "is_default": {
            "type": "boolean",
            "nullable": true
          },
          "live_notification_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tracked_links": {
            "type": "boolean"
          },
          "tracked_opens": {
            "type": "boolean"
          },
          "transactional_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "conversion",
          "data",
          "tracked_links",
          "tracked_opens"
        ]
      },
      "services_ui_api_model_AnonymousForm": {
        "type": "object",
        "properties": {
          "form_id": {
            "type": "string"
          },
          "form_name": {
            "type": "string"
          },
          "stats": {
            "$ref": "#/components/schemas/services_ui_api_model_AnonymousFormStats"
          }
        },
        "required": [
          "form_id",
          "form_name",
          "stats"
        ]
      },
      "services_ui_api_model_AnonymousFormStats": {
        "type": "object",
        "properties": {
          "last_submitted_at": {
            "type": "integer",
            "format": "int32"
          },
          "submission_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "last_submitted_at",
          "submission_count"
        ]
      },
      "services_ui_api_model_AnonymousFormSubmission": {
        "type": "object",
        "properties": {
          "anonymous_id": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "form_id": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "ip_address": {
            "type": "string",
            "nullable": true
          },
          "submitted_at": {
            "type": "integer",
            "format": "int32"
          },
          "template_id": {
            "type": "string"
          },
          "user_agent": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "data",
          "form_id",
          "submitted_at",
          "template_id"
        ]
      },
      "services_ui_api_model_AnonymousFormSubmissionMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_model_AnonymousFormSubmissionPagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_model_AnonymousFormSubmissionPagination": {
        "type": "object",
        "properties": {
          "next_cursor": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "size"
        ]
      },
      "services_ui_api_model_AnonymousFormSubmissionsResponse": {
        "type": "object",
        "properties": {
          "anonymous_form_submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AnonymousFormSubmission"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_model_AnonymousFormSubmissionMeta"
          }
        },
        "required": [
          "anonymous_form_submissions",
          "meta"
        ]
      },
      "services_ui_api_model_AnonymousFormsResponse": {
        "type": "object",
        "properties": {
          "forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AnonymousForm"
            }
          }
        },
        "required": [
          "forms"
        ]
      },
      "services_ui_api_model_ApiCredential": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "last_used_at": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "site_id": {
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "created_at",
          "environment_id",
          "id",
          "last_used_at",
          "name",
          "site_id"
        ]
      },
      "services_ui_api_model_Asset": {
        "type": "object",
        "properties": {
          "alt_text": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_by": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "in_use": {
            "type": "boolean"
          },
          "is_dir": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "path": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "id",
          "in_use",
          "is_dir",
          "name",
          "path",
          "size",
          "updated_at"
        ]
      },
      "services_ui_api_model_AttributeWithSource": {
        "type": "object",
        "properties": {
          "cio_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "cio_id",
          "name",
          "value"
        ]
      },
      "services_ui_api_model_Audience": {
        "type": "object",
        "properties": {
          "bitmap_id": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "has_consent": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "last_error": {
            "type": "string",
            "nullable": true
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          },
          "name": {
            "type": "string"
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "bitmap_id",
          "created_at",
          "description",
          "environment_id",
          "has_consent",
          "id",
          "meta",
          "name",
          "segment_id",
          "state",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_model_AudienceCredential": {
        "type": "object",
        "properties": {
          "adwords": {
            "$ref": "#/components/schemas/services_ui_api_model_AudienceCredentialDetail",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "expired": {
            "type": "boolean"
          },
          "facebook": {
            "$ref": "#/components/schemas/services_ui_api_model_AudienceCredentialDetail",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "expired",
          "id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_model_AudienceCredentialAdAccount": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "name"
        ]
      },
      "services_ui_api_model_AudienceCredentialDetail": {
        "type": "object",
        "properties": {
          "ad_accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AudienceCredentialAdAccount"
            }
          }
        },
        "required": [
          "ad_accounts"
        ]
      },
      "services_ui_api_model_AudienceSettings": {
        "type": "object",
        "properties": {
          "person_filters": {
            "type": "string",
            "nullable": true
          },
          "relationship_filters": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "description": "Audience selector. 0 = Self (the triggering person; valid only for relationship campaigns), 1 = all related people, 2 = certain related people. Object campaigns reject 0 (Self) with HTTP 400; use 1 or 2."
          }
        },
        "required": [
          "type"
        ]
      },
      "services_ui_api_model_AutoTLSDomain": {
        "type": "object",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_AutoTLSDomainConfig"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "domain": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "last_error": {
            "type": "string"
          },
          "last_error_time": {
            "type": "integer",
            "format": "int64"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "short_links",
              "link_tracking"
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "drafted",
              "dns_verify_failed",
              "dns_verified",
              "gcp_certificate_created",
              "gcp_certificate_creation_failed",
              "gcp_certificate_add_to_map_failed",
              "gcp_authorizing",
              "gcp_authorizing_failed",
              "active"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          }
        },
        "required": [
          "config",
          "created_at",
          "domain",
          "id",
          "last_error",
          "last_error_time",
          "purpose",
          "state",
          "updated_at"
        ]
      },
      "services_ui_api_model_AutoTLSDomainConfig": {
        "type": "object",
        "properties": {
          "dns_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DNSRecord"
            }
          },
          "enabled_for_link_shortening": {
            "type": "boolean"
          }
        },
        "required": [
          "dns_records",
          "enabled_for_link_shortening"
        ]
      },
      "services_ui_api_model_AzureStorage": {
        "type": "object",
        "properties": {
          "bucket_path": {
            "type": "string"
          },
          "container_sas_url": {
            "type": "string"
          }
        },
        "required": [
          "bucket_path",
          "container_sas_url"
        ]
      },
      "services_ui_api_model_Backfill": {
        "type": "object",
        "properties": {
          "completed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "delivery_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "last_updated": {
            "type": "integer",
            "format": "int32"
          },
          "object_deleted": {
            "type": "boolean",
            "nullable": true
          },
          "object_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "object_name": {
            "type": "string",
            "nullable": true
          },
          "object_version": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "priority": {
            "type": "string",
            "enum": [
              "Default",
              "Background",
              "Priority",
              "Import",
              "ProfileExport",
              "DeliveriesExport",
              "SendNewsletter",
              "RunAlias",
              "SQL_Import",
              "SendTriggeredBroadcast",
              "ResolveTriggeredBroadcast"
            ]
          },
          "progress": {
            "$ref": "#/components/schemas/services_domains_backfill_progress_Progress",
            "nullable": true
          },
          "related_object_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "started": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string",
            "enum": [
              "Queued",
              "InProgress",
              "Success",
              "Retrying",
              "Failure",
              "Canceled"
            ]
          },
          "status": {
            "type": "string"
          },
          "template_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "created",
          "environment_id",
          "id",
          "last_updated",
          "priority",
          "state",
          "status",
          "type"
        ]
      },
      "services_ui_api_model_BillingEstimates": {
        "type": "object",
        "properties": {
          "cdp_api_call_overage": {
            "type": "integer",
            "format": "int32"
          },
          "customer_overage": {
            "type": "integer",
            "format": "int32"
          },
          "invoice_estimate": {
            "type": "integer",
            "format": "int32"
          },
          "message_overage": {
            "type": "integer",
            "format": "int32"
          },
          "object_overage": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cdp_api_call_overage",
          "customer_overage",
          "invoice_estimate",
          "message_overage",
          "object_overage"
        ]
      },
      "services_ui_api_model_BillingInfo": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "active_subscription": {
            "type": "boolean"
          },
          "basic": {
            "type": "boolean"
          },
          "basic_trial": {
            "type": "boolean"
          },
          "billing_estimates": {
            "$ref": "#/components/schemas/services_ui_api_model_BillingEstimates"
          },
          "can_retry_payment": {
            "type": "boolean"
          },
          "cancellable": {
            "type": "boolean"
          },
          "cancelled": {
            "type": "boolean"
          },
          "cdp_overage_adjustment": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "customer_overage_adjustment": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "estimated_invoice_cost": {
            "type": "integer",
            "format": "int32"
          },
          "has_overage": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "lump_sum": {
            "type": "boolean"
          },
          "new_pricing": {
            "type": "boolean"
          },
          "object_overage_adjustment": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "overdue": {
            "type": "boolean"
          },
          "pinned_coupon_code": {
            "type": "string"
          },
          "pinned_plan_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "pinned_start_date": {
            "type": "integer",
            "format": "int64"
          },
          "premium": {
            "type": "boolean"
          },
          "premium_trial": {
            "type": "boolean"
          },
          "show_signup_forms": {
            "type": "boolean"
          },
          "startup_program": {
            "type": "string"
          },
          "startup_with_coupon": {
            "type": "boolean"
          },
          "startup_without_coupon": {
            "type": "boolean"
          },
          "trial_suspended": {
            "type": "boolean"
          },
          "upsell_to_premium": {
            "type": "boolean"
          }
        },
        "required": [
          "active",
          "active_subscription",
          "basic",
          "basic_trial",
          "billing_estimates",
          "can_retry_payment",
          "cancellable",
          "cancelled",
          "estimated_invoice_cost",
          "has_overage",
          "id",
          "lump_sum",
          "new_pricing",
          "overdue",
          "pinned_coupon_code",
          "pinned_start_date",
          "premium",
          "premium_trial",
          "show_signup_forms",
          "startup_program",
          "startup_with_coupon",
          "startup_without_coupon",
          "trial_suspended",
          "upsell_to_premium"
        ]
      },
      "services_ui_api_model_BroadcastTrigger": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "cancelled_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "data": {
            "type": "string"
          },
          "expired_at": {
            "type": "integer",
            "format": "int32"
          },
          "expires_after": {
            "type": "integer",
            "format": "int32"
          },
          "found_per_user_data": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "per_user_data_error_count": {
            "type": "integer",
            "format": "int32"
          },
          "per_user_data_position": {
            "type": "integer",
            "format": "int32"
          },
          "processed_at": {
            "type": "integer",
            "format": "int32"
          },
          "recipients_count": {
            "type": "integer",
            "format": "int32"
          },
          "recipients_filter": {
            "type": "string"
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int32"
          },
          "workflow_action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "campaign_id",
          "cancelled_at",
          "created_at",
          "data",
          "expired_at",
          "expires_after",
          "found_per_user_data",
          "id",
          "per_user_data_error_count",
          "per_user_data_position",
          "processed_at",
          "recipients_count",
          "recipients_filter",
          "scheduled_at",
          "workflow_action_ids"
        ]
      },
      "services_ui_api_model_CV2": {
        "type": "object",
        "properties": {
          "allow_concurrent_journeys": {
            "type": "boolean",
            "nullable": true
          },
          "anchors": {
            "type": "string"
          },
          "attribute_filters": {
            "type": "object",
            "additionalProperties": {}
          },
          "audience": {
            "$ref": "#/components/schemas/services_ui_api_model_AudienceSettings",
            "nullable": true
          },
          "backing_segment_id": {
            "type": "string",
            "nullable": true
          },
          "concurrent_journey_cap": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conversion": {
            "type": "boolean",
            "nullable": true
          },
          "conversion_action": {
            "type": "string",
            "description": "Which delivery event is credited toward the goal.",
            "enum": [
              "receiving",
              "opening",
              "clicking"
            ]
          },
          "conversion_event_filters": {
            "nullable": true
          },
          "conversion_event_name": {
            "type": "string",
            "nullable": true
          },
          "conversion_segment_id": {
            "type": "string",
            "nullable": true
          },
          "conversion_type": {
            "type": "string",
            "enum": [
              "perform_event",
              "enter",
              "exit"
            ]
          },
          "conversion_window": {
            "type": "integer",
            "format": "int32"
          },
          "date_triggered_attribute": {
            "type": "string"
          },
          "date_triggered_fallback_zone": {
            "type": "string"
          },
          "date_triggered_frequency": {
            "type": "string"
          },
          "date_triggered_lead_days": {
            "type": "integer",
            "format": "int32"
          },
          "date_triggered_start_time": {
            "type": "string"
          },
          "date_triggered_zone": {
            "type": "string"
          },
          "edges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Edge"
            }
          },
          "event": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "exit_on_conversion_matched": {
            "type": "boolean"
          },
          "exit_on_trigger_or_filter_not_matched": {
            "type": "boolean"
          },
          "filters": {
            "type": "string"
          },
          "global_exit_conditions": {
            "type": "array",
            "items": {},
            "nullable": true
          },
          "most_recent_trigger_id": {
            "type": "string",
            "nullable": true
          },
          "object_attribute_triggers": {
            "type": "string",
            "nullable": true
          },
          "object_campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_ObjectTrigger",
            "nullable": true
          },
          "object_filters": {
            "type": "string",
            "nullable": true
          },
          "object_type_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "queued_triggers": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipients_filter": {
            "type": "string",
            "nullable": true
          },
          "rel_backing_segment_id": {
            "type": "string",
            "nullable": true
          },
          "rel_seg_attr_object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rel_seg_attr_trigger": {
            "nullable": true
          },
          "relationship_attribute_triggers": {
            "type": "string",
            "nullable": true
          },
          "relationship_campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_RelationshipTrigger",
            "nullable": true
          },
          "relationship_filters": {
            "type": "string",
            "nullable": true
          },
          "sample": {
            "type": "boolean"
          },
          "scheduled_start": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "scheduled_start_should_backfill": {
            "type": "boolean",
            "nullable": true
          },
          "scheduled_stop": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "scheduled_stop_should_sunset": {
            "type": "boolean",
            "nullable": true
          },
          "trigger": {
            "nullable": true
          },
          "trigger_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "trigger_person_filters": {
            "type": "string",
            "nullable": true
          },
          "trigger_relationship_filters": {
            "type": "string",
            "nullable": true
          },
          "webhook_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "anchors",
          "attribute_filters",
          "conversion_action",
          "conversion_type",
          "conversion_window",
          "date_triggered_attribute",
          "date_triggered_fallback_zone",
          "date_triggered_frequency",
          "date_triggered_lead_days",
          "date_triggered_start_time",
          "date_triggered_zone",
          "edges",
          "event",
          "event_type",
          "exit_on_conversion_matched",
          "exit_on_trigger_or_filter_not_matched",
          "filters",
          "sample"
        ]
      },
      "services_ui_api_model_CV3": {
        "type": "object",
        "properties": {
          "global_exit_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "goal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "global_exit_ids",
          "goal_ids",
          "trigger_ids"
        ]
      },
      "services_ui_api_model_Campaign": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "allow_concurrent_journeys": {
            "type": "boolean",
            "nullable": true
          },
          "anchors": {
            "type": "string"
          },
          "attribute_filters": {
            "type": "object",
            "additionalProperties": {}
          },
          "audience": {
            "$ref": "#/components/schemas/services_ui_api_model_AudienceSettings",
            "nullable": true
          },
          "backing_segment_id": {
            "type": "string",
            "nullable": true
          },
          "channel_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_Metric"
            }
          },
          "concurrent_journey_cap": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conversion": {
            "type": "boolean",
            "nullable": true
          },
          "conversion_action": {
            "type": "string",
            "description": "Which delivery event is credited toward the goal.",
            "enum": [
              "receiving",
              "opening",
              "clicking"
            ]
          },
          "conversion_event_filters": {
            "nullable": true
          },
          "conversion_event_name": {
            "type": "string",
            "nullable": true
          },
          "conversion_segment_id": {
            "type": "string",
            "nullable": true
          },
          "conversion_type": {
            "type": "string",
            "enum": [
              "perform_event",
              "enter",
              "exit"
            ]
          },
          "conversion_window": {
            "type": "integer",
            "format": "int32"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "date_triggered_attribute": {
            "type": "string"
          },
          "date_triggered_fallback_zone": {
            "type": "string"
          },
          "date_triggered_frequency": {
            "type": "string"
          },
          "date_triggered_lead_days": {
            "type": "integer",
            "format": "int32"
          },
          "date_triggered_start_time": {
            "type": "string"
          },
          "date_triggered_zone": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean"
          },
          "delivered": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "edges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Edge"
            }
          },
          "event": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "exit_on_conversion_matched": {
            "type": "boolean"
          },
          "exit_on_trigger_or_filter_not_matched": {
            "type": "boolean"
          },
          "filters": {
            "type": "string"
          },
          "first_started": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string"
          },
          "global_exit_conditions": {
            "type": "array",
            "items": {},
            "nullable": true
          },
          "global_exit_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "goal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string"
          },
          "message_limits_retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "message_throttle": {
            "$ref": "#/components/schemas/services_ui_api_model_MessageThrottle",
            "nullable": true
          },
          "most_recent_trigger_id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_attribute_triggers": {
            "type": "string",
            "nullable": true
          },
          "object_campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_ObjectTrigger",
            "nullable": true
          },
          "object_filters": {
            "type": "string",
            "nullable": true
          },
          "object_type_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "queued_deliveries_aborted_at": {
            "type": "integer",
            "format": "int64",
            "description": "Unix seconds at which the queued deliveries were aborted. While it is set, the campaign refuses a send_now, because the workers discard the backlog as they reach it. A start clears it.",
            "nullable": true
          },
          "queued_disposition": {
            "type": "string",
            "description": "The disposition applied to the deliveries this campaign had already queued when it was stopped. A start clears it.",
            "enum": [
              "abort",
              "send_now"
            ],
            "nullable": true
          },
          "queued_triggers": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipients_filter": {
            "type": "string",
            "nullable": true
          },
          "rel_backing_segment_id": {
            "type": "string",
            "nullable": true
          },
          "rel_seg_attr_object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rel_seg_attr_trigger": {
            "nullable": true
          },
          "relationship_attribute_triggers": {
            "type": "string",
            "nullable": true
          },
          "relationship_campaign": {
            "$ref": "#/components/schemas/services_ui_api_model_RelationshipTrigger",
            "nullable": true
          },
          "relationship_filters": {
            "type": "string",
            "nullable": true
          },
          "restart_min_interval": {
            "type": "integer",
            "format": "int32"
          },
          "restart_mode": {
            "type": "string"
          },
          "sample": {
            "type": "boolean"
          },
          "scheduled_start": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "scheduled_start_should_backfill": {
            "type": "boolean",
            "nullable": true
          },
          "scheduled_stop": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "scheduled_stop_should_sunset": {
            "type": "boolean",
            "nullable": true
          },
          "send_to_unsubscribed": {
            "type": "boolean"
          },
          "sent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string",
            "enum": [
              "draft",
              "evaluating",
              "running",
              "paused",
              "deleting",
              "archived",
              "archiving",
              "stopped",
              "sunsetting",
              "stopping"
            ]
          },
          "subscription_topic_id": {
            "type": "string",
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total_sent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "trigger": {
            "nullable": true
          },
          "trigger_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "trigger_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger_person_filters": {
            "type": "string",
            "nullable": true
          },
          "trigger_relationship_filters": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "behavioral",
              "seg_attr",
              "triggered_broadcast",
              "date",
              "form",
              "webhook",
              "transactional_message",
              "transactional",
              "relationship",
              "object",
              "none",
              "v3",
              "rel_seg_attr"
            ]
          },
          "unsent_drafts": {
            "type": "boolean"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "use_message_limits": {
            "type": "boolean"
          },
          "use_workspace_message_limits_retry": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "webhook_id": {
            "type": "string",
            "nullable": true
          },
          "workflow_action_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "account_id",
          "anchors",
          "attribute_filters",
          "channel_metrics",
          "conversion_action",
          "conversion_type",
          "conversion_window",
          "created",
          "date_triggered_attribute",
          "date_triggered_fallback_zone",
          "date_triggered_frequency",
          "date_triggered_lead_days",
          "date_triggered_start_time",
          "date_triggered_zone",
          "deleted",
          "description",
          "edges",
          "event",
          "event_type",
          "exit_on_conversion_matched",
          "exit_on_trigger_or_filter_not_matched",
          "filters",
          "frequency_cap_mode",
          "global_exit_ids",
          "goal_ids",
          "id",
          "message_limits_retry_window_secs",
          "name",
          "restart_min_interval",
          "restart_mode",
          "sample",
          "send_to_unsubscribed",
          "state",
          "tag_ids",
          "trigger_ids",
          "type",
          "unsent_drafts",
          "updated",
          "use_message_limits",
          "use_workspace_message_limits_retry",
          "version",
          "workflow_action_ids"
        ]
      },
      "services_ui_api_model_Category": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created",
          "id",
          "name",
          "updated"
        ]
      },
      "services_ui_api_model_CdpOutIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "eu": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string"
          },
          "resolution": {
            "type": "boolean"
          },
          "send_cio": {
            "type": "boolean"
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "created_at",
          "enabled",
          "eu",
          "id",
          "key",
          "resolution",
          "send_cio",
          "with_content"
        ]
      },
      "services_ui_api_model_Client": {
        "type": "object",
        "properties": {
          "customer_app_name": {
            "type": "string",
            "nullable": true
          },
          "customer_app_version": {
            "type": "string",
            "nullable": true
          },
          "device_info": {
            "type": "string",
            "nullable": true
          },
          "os_info": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_model_Collection": {
        "type": "object",
        "properties": {
          "bytes": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "displayed_attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "import_error": {
            "type": "string",
            "nullable": true
          },
          "importing": {
            "type": "boolean"
          },
          "in_use": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "rows": {
            "type": "integer",
            "format": "int32"
          },
          "s3_import": {
            "type": "string",
            "nullable": true
          },
          "schema": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sheet": {
            "$ref": "#/components/schemas/services_ui_api_model_SheetImport",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "bytes",
          "created_at",
          "description",
          "displayed_attributes",
          "id",
          "importing",
          "in_use",
          "name",
          "rows",
          "schema",
          "updated_at",
          "user_id"
        ]
      },
      "services_ui_api_model_ConditionDetail": {
        "type": "object",
        "properties": {
          "cost_signals": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "forces_full_loop": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "is_custom": {
            "type": "boolean"
          },
          "reuse_state": {
            "type": "string",
            "enum": [
              "ready",
              "rebuilding",
              "none"
            ]
          }
        },
        "required": [
          "cost_signals",
          "forces_full_loop",
          "id",
          "is_custom",
          "reuse_state"
        ]
      },
      "services_ui_api_model_ConditionsEstimate": {
        "type": "object",
        "properties": {
          "can_skip_customers_loop": {
            "type": "boolean"
          },
          "cold_path_count": {
            "type": "integer",
            "format": "int32"
          },
          "cold_storage_estimate_timed_out": {
            "type": "boolean",
            "nullable": true
          },
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ConditionDetail"
            }
          },
          "conditions_reused_count": {
            "type": "integer",
            "format": "int32"
          },
          "conditions_to_process_count": {
            "type": "integer",
            "format": "int32"
          },
          "events_today": {
            "type": "integer",
            "format": "int64"
          },
          "people_count": {
            "type": "integer",
            "format": "int64"
          },
          "total_size_gb": {
            "type": "number",
            "format": "double"
          }
        },
        "required": [
          "can_skip_customers_loop",
          "cold_path_count",
          "conditions",
          "conditions_reused_count",
          "conditions_to_process_count",
          "events_today",
          "people_count",
          "total_size_gb"
        ]
      },
      "services_ui_api_model_Conversation": {
        "type": "object",
        "properties": {
          "activity_type": {
            "type": "string",
            "nullable": true
          },
          "app_identifier": {
            "type": "string",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "ended_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "failure_reason": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "live_notification_type_name": {
            "type": "string",
            "nullable": true
          },
          "started_at": {
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "started_at",
          "state",
          "type"
        ]
      },
      "services_ui_api_model_Coupon": {
        "type": "object",
        "properties": {
          "amount_off": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "percent_off": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_model_CustomForm": {
        "type": "object",
        "properties": {
          "api_form_id": {
            "type": "string"
          },
          "attr_maps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_CustomFormAttrMap"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string"
          },
          "form_id": {
            "type": "string"
          },
          "form_type": {
            "type": "string"
          },
          "html_fingerprint": {
            "type": "string"
          },
          "html_form_inputs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "html_form_url": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "api_form_id",
          "attr_maps",
          "created_at",
          "error",
          "form_id",
          "form_type",
          "html_fingerprint",
          "html_form_inputs",
          "html_form_url",
          "id",
          "last_activity_at",
          "name",
          "status",
          "updated_at"
        ]
      },
      "services_ui_api_model_CustomFormAttrMap": {
        "type": "object",
        "properties": {
          "cio_attr": {
            "type": "string"
          },
          "form_field_key": {
            "type": "string"
          },
          "form_field_label": {
            "type": "string"
          },
          "form_field_type": {
            "type": "string"
          }
        },
        "required": [
          "cio_attr",
          "form_field_key",
          "form_field_label",
          "form_field_type"
        ]
      },
      "services_ui_api_model_Customer": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attributes": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "id": {
                  "type": "string"
                },
                "last_status": {
                  "type": "string"
                },
                "last_used": {
                  "type": "integer"
                },
                "platform": {
                  "type": "string"
                }
              },
              "required": [
                "id"
              ]
            }
          },
          "environment_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "identifiers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "internal_id": {
            "type": "string"
          },
          "last_visited": {
            "type": "integer",
            "format": "int32"
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_CustomerLinks"
          },
          "relationship": {
            "$ref": "#/components/schemas/services_ui_api_model_Relationship",
            "nullable": true
          },
          "send_time_predictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SendTime"
            },
            "nullable": true
          },
          "unsent_drafts": {
            "type": "boolean"
          },
          "unsubscribed": {
            "type": "boolean"
          }
        },
        "required": [
          "attributes",
          "devices",
          "environment_id",
          "id",
          "identifiers",
          "internal_id",
          "last_visited",
          "links",
          "unsent_drafts",
          "unsubscribed"
        ]
      },
      "services_ui_api_model_CustomerLinks": {
        "type": "object",
        "properties": {
          "deliveries": {
            "type": "string"
          },
          "drafts": {
            "type": "string"
          },
          "events": {
            "type": "string"
          },
          "opt-outs": {
            "type": "string"
          },
          "segments": {
            "type": "string"
          }
        },
        "required": [
          "deliveries",
          "drafts",
          "events",
          "opt-outs",
          "segments"
        ]
      },
      "services_ui_api_model_CustomerMinimal": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "internal_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id"
        ]
      },
      "services_ui_api_model_DNSRecord": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "domain",
          "name",
          "type",
          "value"
        ]
      },
      "services_ui_api_model_DashboardNewsletter": {
        "type": "object",
        "properties": {
          "automatic_winner": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "send_percentage": {
            "type": "integer",
            "format": "int32"
          },
          "sent_at": {
            "type": "integer",
            "format": "int32"
          },
          "sent_to_remaining_at": {
            "type": "integer",
            "format": "int32"
          },
          "test_duration": {
            "type": "integer",
            "format": "int32"
          },
          "test_metric": {
            "type": "string"
          },
          "variation_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "automatic_winner",
          "id",
          "name",
          "send_percentage",
          "sent_at",
          "sent_to_remaining_at",
          "test_duration",
          "test_metric",
          "variation_count"
        ]
      },
      "services_ui_api_model_DataOutIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "identifier": {
            "type": "string"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          },
          "resolution": {
            "type": "boolean"
          },
          "settings": {
            "type": "object",
            "additionalProperties": {}
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "created_at",
          "enabled",
          "id",
          "identifier",
          "last_activity_at",
          "resolution",
          "settings",
          "with_content"
        ]
      },
      "services_ui_api_model_DelayPathFromUI": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DelayStepFromUI"
            }
          }
        },
        "required": [
          "steps"
        ]
      },
      "services_ui_api_model_DelayStepFromUI": {
        "type": "object",
        "properties": {
          "days": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "delay": {
            "type": "integer",
            "format": "int32"
          },
          "end_hour": {
            "type": "integer",
            "format": "int32"
          },
          "end_minutes": {
            "type": "integer",
            "format": "int32"
          },
          "max_delay": {
            "type": "integer",
            "format": "int32"
          },
          "min_delay": {
            "type": "integer",
            "format": "int32"
          },
          "occurrence_offset": {
            "type": "integer",
            "format": "int32"
          },
          "start_hour": {
            "type": "integer",
            "format": "int32"
          },
          "start_minutes": {
            "type": "integer",
            "format": "int32"
          },
          "step_type": {
            "type": "string"
          },
          "use_customer_zone": {
            "type": "boolean"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "days",
          "delay",
          "end_hour",
          "end_minutes",
          "max_delay",
          "min_delay",
          "occurrence_offset",
          "start_hour",
          "start_minutes",
          "step_type",
          "use_customer_zone",
          "zone"
        ]
      },
      "services_ui_api_model_DeliverabilityAnalysis": {
        "type": "object",
        "properties": {
          "email_client_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_MetricValues"
            }
          },
          "email_client_totals": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_MetricValues"
            }
          },
          "email_client_untracked_links": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_UntrackedLinkMetrics"
            }
          },
          "email_client_untracked_opens": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_UntrackedOpenMetrics"
            }
          },
          "inbox_provider_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_MetricValues"
            }
          },
          "inbox_provider_totals": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_MetricValues"
            }
          },
          "inbox_provider_untracked_links": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_UntrackedLinkMetrics"
            }
          },
          "inbox_provider_untracked_opens": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_UntrackedOpenMetrics"
            }
          },
          "platform_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_MetricValues"
            }
          }
        },
        "required": [
          "email_client_metrics",
          "email_client_totals",
          "email_client_untracked_links",
          "email_client_untracked_opens",
          "inbox_provider_metrics",
          "inbox_provider_totals",
          "inbox_provider_untracked_links",
          "inbox_provider_untracked_opens",
          "platform_metrics"
        ]
      },
      "services_ui_api_model_Delivery": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "action_type": {
            "type": "string",
            "enum": [
              "email_action",
              "webhook_action",
              "twilio_action",
              "sms_action",
              "urban_airship_action",
              "slack_action",
              "push_action",
              "in_app_action",
              "line_action",
              "inbox_action",
              "whatsapp_action"
            ]
          },
          "app_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "archived_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "attempted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bounced": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "can_convert": {
            "type": "boolean"
          },
          "canceled": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clicked": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conversation_id": {
            "type": "string",
            "nullable": true
          },
          "converted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "customer_deleted": {
            "type": "boolean",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "customer_name": {
            "type": "string",
            "nullable": true
          },
          "deferred": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "delivered": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail_id": {
            "type": "string"
          },
          "drafted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "failed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "failure_message": {
            "type": "string",
            "nullable": true
          },
          "forgotten": {
            "type": "boolean"
          },
          "holdout": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "opened": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "operation": {
            "type": "string",
            "nullable": true
          },
          "paused": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipient": {
            "type": "string"
          },
          "related_deliveries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "replied": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "spammed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "state": {
            "type": "string",
            "enum": [
              "drafted",
              "attempted",
              "sent",
              "delivered",
              "failed",
              "bounced",
              "dropped",
              "deferred",
              "queued",
              "spammed",
              "unsubscribed",
              "converted",
              "replied",
              "clicked",
              "opened",
              "undeliverable"
            ]
          },
          "subject": {
            "type": "string"
          },
          "subject_id": {
            "type": "string",
            "nullable": true
          },
          "suppressed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_id": {
            "type": "string"
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "trigger_id": {
            "type": "string",
            "nullable": true
          },
          "undeliverable": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "unsubscribed": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "action_type",
          "archived_metrics",
          "can_convert",
          "detail_id",
          "environment_id",
          "forgotten",
          "id",
          "meta",
          "metrics",
          "recipient",
          "state",
          "subject",
          "template_id"
        ]
      },
      "services_ui_api_model_DeliveryDetail": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bcc": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cc": {
            "type": "string"
          },
          "customer_deleted": {
            "type": "boolean",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "delivery_id": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "error_messages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excluded_route_rules": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_in_app_InAppRouteRule"
            }
          },
          "from": {
            "type": "string"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_RequestHeader"
            }
          },
          "hide_body": {
            "type": "boolean",
            "nullable": true
          },
          "holdout": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "preheader_text": {
            "type": "string"
          },
          "recipient": {
            "type": "string"
          },
          "related_deliveries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "reply_to": {
            "type": "string"
          },
          "request_method": {
            "type": "string"
          },
          "route_rules": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_domains_in_app_InAppRouteRule"
            }
          },
          "self_signed": {
            "type": "boolean"
          },
          "subject": {
            "type": "string"
          },
          "targeting": {
            "$ref": "#/components/schemas/services_gist_Targeting",
            "nullable": true
          },
          "template_id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "bcc",
          "body",
          "cc",
          "delivery_id",
          "environment_id",
          "error_messages",
          "excluded_route_rules",
          "from",
          "headers",
          "holdout",
          "id",
          "image_url",
          "preheader_text",
          "recipient",
          "reply_to",
          "request_method",
          "route_rules",
          "self_signed",
          "subject",
          "template_id",
          "url"
        ]
      },
      "services_ui_api_model_DeliveryFilterBranchMessage": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string"
          },
          "campaign_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "output_id": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "action_id",
          "campaign_id",
          "id",
          "output_id",
          "subject",
          "type"
        ]
      },
      "services_ui_api_model_DeliveryFilterCampaign": {
        "type": "object",
        "properties": {
          "first_started": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "state",
          "type"
        ]
      },
      "services_ui_api_model_DeliveryFilterInAppBroadcast": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "output_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "output_id",
          "type"
        ]
      },
      "services_ui_api_model_DeliveryFilterMessage": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string"
          },
          "campaign_id": {
            "type": "string",
            "nullable": true
          },
          "can_segment_on_variation": {
            "type": "boolean"
          },
          "in_app_broadcast_id": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "string",
            "nullable": true
          },
          "output_id": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "template_id": {
            "type": "string"
          },
          "transactional_message_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "variation": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "action_id",
          "can_segment_on_variation",
          "output_id",
          "subject",
          "template_id",
          "type"
        ]
      },
      "services_ui_api_model_DeliveryFilterNewsletter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_model_DeliveryFilterTransactionalMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ]
      },
      "services_ui_api_model_Domain": {
        "type": "object",
        "properties": {
          "auto_tls_domain_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cname": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "dns_records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_DNSRecord"
            }
          },
          "domain": {
            "type": "string"
          },
          "entri_setup_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "ip_pool": {
            "type": "string",
            "enum": [
              "shared",
              "shared_requested",
              "transactional",
              "transactional_requested",
              "dedicated",
              "dedicated_requested"
            ]
          },
          "mail_server_id": {
            "type": "string",
            "nullable": true
          },
          "parent_domain": {
            "type": "string"
          },
          "platform": {
            "type": "string",
            "enum": [
              "sendgrid",
              "mailgun"
            ]
          },
          "sending_disabled": {
            "type": "boolean"
          },
          "sending_disabled_reason": {
            "type": "string",
            "nullable": true
          },
          "starter": {
            "type": "boolean"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "verified": {
            "type": "boolean",
            "nullable": true
          },
          "verified_cname": {
            "type": "boolean",
            "nullable": true
          },
          "verified_dkim": {
            "type": "boolean",
            "nullable": true
          },
          "verified_dmarc": {
            "type": "boolean",
            "nullable": true
          },
          "verified_domain": {
            "type": "boolean",
            "nullable": true
          },
          "verified_hsts": {
            "type": "boolean",
            "nullable": true
          },
          "verified_http": {
            "type": "boolean",
            "nullable": true
          },
          "verified_https": {
            "type": "boolean"
          },
          "verified_spf": {
            "type": "boolean",
            "nullable": true
          },
          "verified_spf_manually": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "cname",
          "created_at",
          "dns_records",
          "domain",
          "id",
          "ip_pool",
          "parent_domain",
          "platform",
          "sending_disabled",
          "starter",
          "updated_at",
          "verified_https"
        ]
      },
      "services_ui_api_model_Edge": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string"
          },
          "index": {
            "type": "integer",
            "format": "int32"
          },
          "to": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "from",
          "index",
          "to",
          "type"
        ]
      },
      "services_ui_api_model_Environment": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "can_update_default_template_engine": {
            "type": "boolean"
          },
          "consent_gates_link_tracking": {
            "type": "boolean"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "default_email_layout_id": {
            "type": "integer",
            "format": "int32"
          },
          "default_preprocess_css": {
            "type": "boolean"
          },
          "default_template_engine": {
            "type": "integer",
            "format": "int32"
          },
          "delivery_email": {
            "type": "string"
          },
          "delivery_settings": {
            "type": "string"
          },
          "device_attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "email_open_tracking": {
            "type": "boolean"
          },
          "enabled_actions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "example_short_link_sms": {
            "type": "string"
          },
          "hex_code": {
            "type": "string"
          },
          "honor_open_tracking_consent": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "identifier_settings": {
            "$ref": "#/components/schemas/services_ui_api_model_IdentifierSettings"
          },
          "identifier_type": {
            "type": "string"
          },
          "identifiers": {
            "$ref": "#/components/schemas/services_ui_api_model_IdentifiersConfig",
            "nullable": true
          },
          "identifiers_migration_in_progress": {
            "type": "string"
          },
          "identity_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inbound_id": {
            "type": "string"
          },
          "is_sample_workspace": {
            "type": "boolean"
          },
          "language_attribute": {
            "type": "string"
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_EnvironmentLinks"
          },
          "max_allowed_object_types": {
            "type": "integer",
            "format": "int32"
          },
          "metric_denominator": {
            "type": "string"
          },
          "more_attributes": {
            "type": "boolean"
          },
          "more_device_attributes": {
            "type": "boolean"
          },
          "more_events": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "object_type_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "open_tracking_consent_mode": {
            "type": "string"
          },
          "push_providers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sent_attributes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sent_events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "shard": {
            "type": "string"
          },
          "signing_secret": {
            "type": "string"
          },
          "stop_processing": {
            "type": "boolean"
          },
          "subscription_center_enabled": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "unsent_drafts": {
            "type": "boolean"
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "user_roles": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "workspace_id": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "can_update_default_template_engine",
          "consent_gates_link_tracking",
          "created_at",
          "default_email_layout_id",
          "default_preprocess_css",
          "default_template_engine",
          "delivery_email",
          "delivery_settings",
          "device_attributes",
          "email_open_tracking",
          "enabled_actions",
          "example_short_link_sms",
          "hex_code",
          "honor_open_tracking_consent",
          "id",
          "identifier_settings",
          "identifier_type",
          "identifiers_migration_in_progress",
          "identity_ids",
          "inbound_id",
          "is_sample_workspace",
          "language_attribute",
          "links",
          "max_allowed_object_types",
          "metric_denominator",
          "more_attributes",
          "more_device_attributes",
          "more_events",
          "name",
          "object_type_ids",
          "open_tracking_consent_mode",
          "push_providers",
          "sent_attributes",
          "sent_events",
          "shard",
          "signing_secret",
          "stop_processing",
          "subscription_center_enabled",
          "type",
          "unsent_drafts",
          "user_ids",
          "user_roles",
          "workspace_id"
        ]
      },
      "services_ui_api_model_EnvironmentDesc": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "consent_gates_link_tracking": {
            "type": "boolean"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "delivery_email": {
            "type": "string"
          },
          "delivery_settings": {
            "type": "string"
          },
          "email_delivery_disabled": {
            "type": "boolean"
          },
          "email_open_tracking": {
            "type": "boolean"
          },
          "hex_code": {
            "type": "string"
          },
          "honor_open_tracking_consent": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "identifier_type": {
            "type": "string"
          },
          "identifiers": {
            "$ref": "#/components/schemas/services_ui_api_model_IdentifiersConfig",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "open_tracking_consent_mode": {
            "type": "string"
          },
          "stop_processing": {
            "type": "boolean"
          },
          "subscription_center_enabled": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "workspace_id": {
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "consent_gates_link_tracking",
          "created_at",
          "delivery_email",
          "delivery_settings",
          "email_delivery_disabled",
          "email_open_tracking",
          "hex_code",
          "honor_open_tracking_consent",
          "id",
          "identifier_type",
          "name",
          "open_tracking_consent_mode",
          "stop_processing",
          "subscription_center_enabled",
          "type",
          "user_ids",
          "workspace_id"
        ]
      },
      "services_ui_api_model_EnvironmentLinks": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string"
          },
          "tracked_link_metric": {
            "type": "string"
          }
        },
        "required": [
          "metric",
          "tracked_link_metric"
        ]
      },
      "services_ui_api_model_ExperimentConfig": {
        "type": "object",
        "properties": {
          "conversion": {
            "$ref": "#/components/schemas/services_ui_api_model_ExperimentConversion",
            "nullable": true
          },
          "conversion_window_days": {
            "type": "integer",
            "format": "int32"
          },
          "duration_days": {
            "type": "integer",
            "format": "int32"
          },
          "mode": {
            "type": "string"
          },
          "test": {
            "$ref": "#/components/schemas/services_domains_experiments_TestConfig"
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_experiments_Variant"
            }
          }
        },
        "required": [
          "conversion_window_days",
          "duration_days",
          "mode",
          "test",
          "variants"
        ]
      },
      "services_ui_api_model_ExperimentConversion": {
        "type": "object",
        "properties": {
          "delivery_metric": {
            "$ref": "#/components/schemas/services_domains_experiments_DeliveryMetricConversion",
            "nullable": true
          },
          "event": {
            "$ref": "#/components/schemas/services_domains_experiments_EventConversion",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "services_ui_api_model_ExperimentVariantSummary": {
        "type": "object",
        "properties": {
          "allocation": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "allocation",
          "id",
          "name",
          "role"
        ]
      },
      "services_ui_api_model_Export": {
        "type": "object",
        "properties": {
          "accessible": {
            "type": "boolean"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "done": {
            "type": "integer",
            "format": "int32"
          },
          "downloads": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "failed": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "options": {
            "$ref": "#/components/schemas/services_domains_exports_Options",
            "nullable": true
          },
          "path": {
            "type": "string"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "enum": [
              "customers",
              "customer_relationships",
              "customer_joined_relationships",
              "deliveries",
              "delivery_metrics",
              "devices",
              "duplicated_attribute",
              "link_metrics",
              "delivery_totals",
              "journey_metrics",
              "objects",
              "objects_relationships",
              "object_data",
              "newsletter_remainder",
              "profile_data",
              "segment_membership",
              "analysis",
              "email_suppressions",
              "tracked_responses",
              "suppressed_identifiers",
              "data_index",
              "content_metrics",
              "form_submissions",
              "team_members",
              "audit_logs",
              "consent_records",
              "campaign_journeys",
              "anonymous_form_submissions",
              "geoset_geojson"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          }
        },
        "required": [
          "accessible",
          "created_at",
          "description",
          "done",
          "downloads",
          "environment_id",
          "failed",
          "id",
          "path",
          "total",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_model_ExternalAPIKey": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "hint": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "type": "string"
          },
          "last_used_at": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "environment_id",
          "hint",
          "id",
          "kind",
          "last_used_at",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_model_FacebookLeadAdsCredential": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "page_id": {
            "type": "string"
          },
          "page_name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "page_id",
          "page_name",
          "updated_at"
        ]
      },
      "services_ui_api_model_FacebookLeadAdsForm": {
        "type": "object",
        "properties": {
          "attr_maps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FacebookLeadAdsFormAttrMap"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "extra_attrs": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "facebook_form_id": {
            "type": "string"
          },
          "facebook_form_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attr_maps",
          "created_at",
          "extra_attrs",
          "facebook_form_id",
          "facebook_form_name",
          "id",
          "last_activity_at",
          "status",
          "updated_at"
        ]
      },
      "services_ui_api_model_FacebookLeadAdsFormAttrMap": {
        "type": "object",
        "properties": {
          "cio_attr": {
            "type": "string"
          },
          "facebook_question_key": {
            "type": "string"
          },
          "facebook_question_label": {
            "type": "string"
          },
          "facebook_question_type": {
            "type": "string"
          }
        },
        "required": [
          "cio_attr",
          "facebook_question_key",
          "facebook_question_label",
          "facebook_question_type"
        ]
      },
      "services_ui_api_model_FilterResult": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter"
          },
          "match": {
            "type": "boolean"
          }
        },
        "required": [
          "filter",
          "match"
        ]
      },
      "services_ui_api_model_Form": {
        "type": "object",
        "properties": {
          "form_id": {
            "type": "string"
          },
          "form_name": {
            "type": "string"
          },
          "stats": {
            "$ref": "#/components/schemas/services_ui_api_model_FormStats"
          }
        },
        "required": [
          "form_id",
          "form_name",
          "stats"
        ]
      },
      "services_ui_api_model_FormStats": {
        "type": "object",
        "properties": {
          "last_submitted_at": {
            "type": "integer",
            "format": "int32"
          },
          "submission_count": {
            "type": "integer",
            "format": "int32"
          },
          "unique_customers": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "last_submitted_at",
          "submission_count",
          "unique_customers"
        ]
      },
      "services_ui_api_model_FormSubmission": {
        "type": "object",
        "properties": {
          "customer": {
            "$ref": "#/components/schemas/services_ui_api_model_CustomerMinimal",
            "nullable": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "form_id": {
            "type": "string"
          },
          "form_name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "ip_address": {
            "type": "string",
            "nullable": true
          },
          "submitted_at": {
            "type": "integer",
            "format": "int32"
          },
          "template_id": {
            "type": "string"
          },
          "user_agent": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "data",
          "form_id",
          "id",
          "submitted_at",
          "template_id"
        ]
      },
      "services_ui_api_model_FormSubmissionMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_model_FormSubmissionPagination"
          },
          "stats": {
            "$ref": "#/components/schemas/services_ui_api_model_FormSubmissionStats"
          }
        },
        "required": [
          "pagination",
          "stats"
        ]
      },
      "services_ui_api_model_FormSubmissionPagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size",
          "total"
        ]
      },
      "services_ui_api_model_FormSubmissionStats": {
        "type": "object",
        "properties": {
          "total_submissions": {
            "type": "integer",
            "format": "int32"
          },
          "unique_customers": {
            "type": "integer",
            "format": "int32"
          },
          "unique_forms": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "total_submissions",
          "unique_customers",
          "unique_forms"
        ]
      },
      "services_ui_api_model_FormSubmissionsResponse": {
        "type": "object",
        "properties": {
          "form_submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FormSubmission"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_model_FormSubmissionMeta"
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            },
            "nullable": true
          }
        },
        "required": [
          "form_submissions",
          "meta"
        ]
      },
      "services_ui_api_model_FormsResponse": {
        "type": "object",
        "properties": {
          "forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Form"
            }
          }
        },
        "required": [
          "forms"
        ]
      },
      "services_ui_api_model_FrequencyCap": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FrequencyCapRule"
            }
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created",
          "id",
          "name",
          "rules",
          "updated"
        ]
      },
      "services_ui_api_model_FrequencyCapReference": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "active",
          "id",
          "name",
          "state",
          "type"
        ]
      },
      "services_ui_api_model_FrequencyCapRule": {
        "type": "object",
        "properties": {
          "cap_limit": {
            "type": "integer",
            "format": "int32"
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "retry_window_secs": {
            "type": "integer",
            "format": "int32"
          },
          "window_secs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cap_limit",
          "channels",
          "retry_window_secs",
          "window_secs"
        ]
      },
      "services_ui_api_model_GCSStorage": {
        "type": "object",
        "properties": {
          "bucket_name": {
            "type": "string"
          },
          "bucket_path": {
            "type": "string"
          },
          "credentials": {
            "type": "string"
          }
        },
        "required": [
          "bucket_name",
          "bucket_path",
          "credentials"
        ]
      },
      "services_ui_api_model_IdentifierSettings": {
        "type": "object",
        "properties": {
          "identify_by_id": {
            "type": "boolean"
          }
        },
        "required": [
          "identify_by_id"
        ]
      },
      "services_ui_api_model_IdentifiersConfig": {
        "type": "object",
        "properties": {
          "cio_id": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "phone": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cio_id",
          "email",
          "id",
          "phone"
        ]
      },
      "services_ui_api_model_Identity": {
        "type": "object",
        "properties": {
          "actions_credential_id": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "auto_generated": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "environment_id": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "template_type": {
            "type": "string"
          },
          "verified": {
            "type": "string"
          },
          "workspace_id": {
            "type": "string"
          }
        },
        "required": [
          "actions_credential_id",
          "address",
          "auto_generated",
          "email",
          "environment_id",
          "hidden",
          "id",
          "name",
          "phone",
          "template_type",
          "verified",
          "workspace_id"
        ]
      },
      "services_ui_api_model_Import": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "environment_id": {
            "type": "string"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "filename": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "import_meta": {
            "type": "string",
            "nullable": true
          },
          "import_rules": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "object_type_id": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string"
          },
          "percent_complete": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "preprocess_meta": {
            "type": "string",
            "nullable": true
          },
          "preprocess_rules": {
            "type": "string",
            "nullable": true
          },
          "rows_imported": {
            "type": "integer",
            "format": "int32"
          },
          "rows_to_import": {
            "type": "integer",
            "format": "int32"
          },
          "segment_id": {
            "type": "string",
            "nullable": true
          },
          "segment_name": {
            "type": "string",
            "nullable": true
          },
          "sheet": {
            "$ref": "#/components/schemas/services_ui_api_model_SheetImport",
            "nullable": true
          },
          "source": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "start",
              "preprocessing",
              "preprocessed",
              "validating",
              "validated",
              "importing",
              "imported",
              "failed",
              "canceled"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "people",
              "segment",
              "event",
              "object",
              "relationship",
              "geoset"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "validate_meta": {
            "type": "string",
            "nullable": true
          },
          "validate_rules": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "description",
          "environment_id",
          "filename",
          "id",
          "path",
          "rows_imported",
          "rows_to_import",
          "source",
          "state",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_model_InAppBroadcast": {
        "type": "object",
        "properties": {
          "audience": {
            "type": "string",
            "enum": [
              "anonymous"
            ]
          },
          "conversion": {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "description": "The interaction with the message that starts the conversion window. Like type, a disabled goal saved before this enum was enforced may hold another value.",
                "enum": [
                  "",
                  "viewed",
                  "clicked"
                ]
              },
              "enabled": {
                "type": "boolean",
                "description": "Whether the broadcast tracks a goal. Every anonymous broadcast's goal starts with the visitor becoming identified."
              },
              "event_filters": {
                "type": "object",
                "description": "Event-attribute filter tree refining a perform_event goal. Absent from responses when the goal has none.",
                "additionalProperties": {},
                "nullable": true
              },
              "event_name": {
                "type": "string",
                "description": "Event for a perform_event goal; empty otherwise."
              },
              "segment_id": {
                "type": "integer",
                "format": "int32",
                "description": "Segment for an enter or exit goal; 0 otherwise."
              },
              "type": {
                "type": "string",
                "description": "identified alone is the primary goal; perform_event, enter and exit add a secondary goal after it. Empty on a broadcast that never set a goal. A disabled goal saved before this enum was enforced may hold another value, which saves back unchanged.",
                "enum": [
                  "",
                  "identified",
                  "perform_event",
                  "enter",
                  "exit"
                ]
              },
              "window": {
                "type": "integer",
                "format": "int32",
                "description": "Conversion window in seconds; 60 to 2592000 (30 days) when enabled."
              }
            },
            "required": [
              "action",
              "enabled",
              "event_name",
              "segment_id",
              "type",
              "window"
            ]
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "embed_script_url": {
            "type": "string",
            "description": "URL of the sign-up form's published embed script for the copy-embed-snippet flow; absent until the first publish.",
            "nullable": true
          },
          "expire_timezone": {
            "type": "string"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64"
          },
          "frequency": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "format": "int32",
                "description": "Times the message shows; 0 shows it every time."
              },
              "delay": {
                "type": "integer",
                "format": "int32",
                "description": "Seconds between showings."
              },
              "ignore_dismiss": {
                "type": "boolean",
                "description": "Keep showing the message after the visitor dismisses it."
              }
            },
            "required": [
              "count",
              "delay",
              "ignore_dismiss"
            ]
          },
          "hosted_page_url": {
            "type": "string",
            "description": "URL of the sign-up form's published hosted page; absent until the first publish.",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int64"
          },
          "scheduled_timezone": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "drafted",
              "scheduled",
              "starting",
              "running",
              "stopping",
              "expired",
              "stopped",
              "deleting"
            ]
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "template_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "type": {
            "type": "string",
            "description": "Empty for a custom broadcast, sign_up_form for a sign-up form."
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "audience",
          "conversion",
          "created_at",
          "description",
          "expire_timezone",
          "expires_at",
          "frequency",
          "id",
          "name",
          "scheduled_at",
          "scheduled_timezone",
          "state",
          "tag_ids",
          "template_ids",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_model_Invoice": {
        "type": "object",
        "properties": {
          "invoice_id": {
            "type": "string"
          },
          "invoice_pdf": {
            "type": "string"
          }
        },
        "required": [
          "invoice_id",
          "invoice_pdf"
        ]
      },
      "services_ui_api_model_JourneyAttributeChange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "value"
        ]
      },
      "services_ui_api_model_LLMCall": {
        "type": "object",
        "properties": {
          "llm_configuration_model_id": {
            "type": "integer",
            "format": "int32"
          },
          "model": {
            "type": "string"
          },
          "prompt_template_id": {
            "type": "integer",
            "format": "int32"
          },
          "result_schema_template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "llm_configuration_model_id",
          "model",
          "prompt_template_id",
          "result_schema_template_id"
        ]
      },
      "services_ui_api_model_LLMConfiguration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMConfigurationModel"
            }
          },
          "name": {
            "type": "string"
          },
          "provider": {
            "type": "string",
            "enum": [
              "openai"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "description",
          "id",
          "models",
          "name",
          "provider",
          "updated_at"
        ]
      },
      "services_ui_api_model_LLMConfigurationModel": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LLMModelActionReference"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "model_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "actions",
          "created_at",
          "id",
          "model_id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_model_LLMModel": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "is_fine_tuned": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "owned_by": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "is_fine_tuned",
          "name",
          "owned_by",
          "provider"
        ]
      },
      "services_ui_api_model_LLMModelActionReference": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32"
          },
          "action_name": {
            "type": "string"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_name": {
            "type": "string"
          }
        },
        "required": [
          "action_id",
          "action_name",
          "campaign_id",
          "campaign_name"
        ]
      },
      "services_ui_api_model_LLMProvider": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_model_LLMResultAction": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "set_customer_variables",
              "set_journey_attributes"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "services_ui_api_model_Layout": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "body": {
            "type": "string"
          },
          "broadcasts_count": {
            "type": "integer",
            "format": "int32"
          },
          "campaigns_count": {
            "type": "integer",
            "format": "int32"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "emails_count": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "is_default": {
            "type": "boolean"
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_LayoutLinks"
          },
          "name": {
            "type": "string"
          },
          "starter_layout_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "transactional_messages_count": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "archived",
          "body",
          "broadcasts_count",
          "campaigns_count",
          "created",
          "emails_count",
          "id",
          "is_default",
          "links",
          "name",
          "transactional_messages_count",
          "updated"
        ]
      },
      "services_ui_api_model_LayoutLinks": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "string"
          },
          "emails": {
            "type": "string"
          },
          "newsletters": {
            "type": "string"
          },
          "transactional_messages": {
            "type": "string"
          }
        },
        "required": [
          "actions",
          "emails",
          "newsletters",
          "transactional_messages"
        ]
      },
      "services_ui_api_model_LayoutStarter": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "preview_path": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "description",
          "id",
          "name",
          "preview_path"
        ]
      },
      "services_ui_api_model_LinkStats": {
        "type": "object",
        "properties": {
          "clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "href": {
            "type": "string"
          },
          "human_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "link_id": {
            "type": "string"
          }
        },
        "required": [
          "clicked",
          "href",
          "human_clicked",
          "link_id"
        ]
      },
      "services_ui_api_model_Log": {
        "type": "object",
        "properties": {
          "attrs": {},
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "delivery_id": {
            "type": "string",
            "nullable": true
          },
          "delivery_type": {
            "type": "string",
            "nullable": true
          },
          "from_customer_internal": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "internal_id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_id": {
            "type": "string",
            "nullable": true
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "old_customer_id": {
            "type": "string",
            "nullable": true
          },
          "old_object_id": {
            "type": "string",
            "nullable": true
          },
          "processed_at": {
            "type": "integer",
            "format": "int32"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Source"
            },
            "nullable": true
          },
          "timestamp": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "attrs",
          "id",
          "name",
          "processed_at",
          "timestamp",
          "type"
        ]
      },
      "services_ui_api_model_MParticleIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          },
          "resolution": {
            "type": "boolean"
          }
        },
        "required": [
          "created_at",
          "enabled",
          "id",
          "key",
          "last_activity_at",
          "resolution"
        ]
      },
      "services_ui_api_model_MailServer": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          },
          "authentication": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "default_for": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "use_api": {
            "type": "boolean"
          },
          "username": {
            "type": "string"
          },
          "username_masked": {
            "type": "boolean"
          }
        },
        "required": [
          "address",
          "authentication",
          "created_at",
          "default_for",
          "domain",
          "id",
          "port",
          "updated_at",
          "use_api",
          "username",
          "username_masked"
        ]
      },
      "services_ui_api_model_McpClient": {
        "type": "object",
        "properties": {
          "client_uri": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "string"
          },
          "logo_uri": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "public": {
            "type": "boolean"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "client_uri",
          "created_at",
          "id",
          "logo_uri",
          "name",
          "public",
          "updated_at"
        ]
      },
      "services_ui_api_model_McpSession": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "mcp_client_id": {
            "type": "string"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "workspace_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "account_id",
          "expires_at",
          "id",
          "mcp_client_id",
          "user_id",
          "workspace_ids"
        ]
      },
      "services_ui_api_model_McpTool": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "name"
        ]
      },
      "services_ui_api_model_MergePreview": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_AttributeWithSource"
            }
          },
          "summary": {
            "$ref": "#/components/schemas/services_ui_api_model_Summary"
          }
        },
        "required": [
          "attributes",
          "summary"
        ]
      },
      "services_ui_api_model_MessageThrottle": {
        "type": "object",
        "properties": {
          "channel_rates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_MessageThrottleChannelRate"
            }
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "channel_rates",
          "enabled"
        ]
      },
      "services_ui_api_model_MessageThrottleChannelRate": {
        "type": "object",
        "properties": {
          "channel_type": {
            "type": "string"
          },
          "messages_per_minute": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "channel_type",
          "messages_per_minute"
        ]
      },
      "services_ui_api_model_MessagingChannel": {
        "type": "object",
        "properties": {
          "android": {
            "$ref": "#/components/schemas/services_ui_api_model_PushPlatform",
            "nullable": true
          },
          "completed_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "completed_universal_link_tracking_at": {
            "type": "integer",
            "format": "int32"
          },
          "ios": {
            "$ref": "#/components/schemas/services_ui_api_model_PushPlatform",
            "nullable": true
          },
          "last_test_delivered": {
            "type": "boolean",
            "nullable": true
          },
          "last_test_error": {
            "type": "string",
            "nullable": true
          },
          "last_test_queue_id": {
            "type": "string",
            "nullable": true
          },
          "last_test_sent_time": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "last_test_user_token": {
            "type": "string",
            "nullable": true
          },
          "selected_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "skipped_link_tracking_for_domains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "skipped_universal_link_tracking_at": {
            "type": "integer",
            "format": "int32"
          },
          "smtp_added_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "completed_universal_link_tracking_at",
          "skipped_universal_link_tracking_at",
          "type"
        ]
      },
      "services_ui_api_model_Metric": {
        "type": "object",
        "properties": {
          "2xx": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "3xx": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "4xx": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "5xx": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "attempted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "bounced": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "campaign_id": {
            "type": "string",
            "nullable": true
          },
          "clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "converted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "created": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "delivered": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "dismissed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "email_id": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "failed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "id": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "string",
            "nullable": true
          },
          "link_untracked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_MetricLinks"
          },
          "machine_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "newsletter_id": {
            "type": "string",
            "nullable": true
          },
          "open_untracked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "period": {
            "type": "string"
          },
          "prefetch_opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "replied": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "sent": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "spammed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "start": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "subscription_topic_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "nullable": true
          },
          "suppressed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "topic_unsubscribed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "total_2xx": {
            "type": "integer",
            "format": "int32"
          },
          "total_3xx": {
            "type": "integer",
            "format": "int32"
          },
          "total_4xx": {
            "type": "integer",
            "format": "int32"
          },
          "total_5xx": {
            "type": "integer",
            "format": "int32"
          },
          "total_attempted": {
            "type": "integer",
            "format": "int32"
          },
          "total_bounced": {
            "type": "integer",
            "format": "int32"
          },
          "total_clicked": {
            "type": "integer",
            "format": "int32"
          },
          "total_converted": {
            "type": "integer",
            "format": "int32"
          },
          "total_created": {
            "type": "integer",
            "format": "int32"
          },
          "total_delivered": {
            "type": "integer",
            "format": "int32"
          },
          "total_dismissed": {
            "type": "integer",
            "format": "int32"
          },
          "total_end": {
            "type": "integer",
            "format": "int32"
          },
          "total_failed": {
            "type": "integer",
            "format": "int32"
          },
          "total_human_clicked": {
            "type": "integer",
            "format": "int32"
          },
          "total_human_opened": {
            "type": "integer",
            "format": "int32"
          },
          "total_link_untracked": {
            "type": "integer",
            "format": "int32"
          },
          "total_machine_clicked": {
            "type": "integer",
            "format": "int32"
          },
          "total_open_untracked": {
            "type": "integer",
            "format": "int32"
          },
          "total_opened": {
            "type": "integer",
            "format": "int32"
          },
          "total_prefetch_opened": {
            "type": "integer",
            "format": "int32"
          },
          "total_queued": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "total_replied": {
            "type": "integer",
            "format": "int32"
          },
          "total_sent": {
            "type": "integer",
            "format": "int32"
          },
          "total_spammed": {
            "type": "integer",
            "format": "int32"
          },
          "total_start": {
            "type": "integer",
            "format": "int32"
          },
          "total_suppressed": {
            "type": "integer",
            "format": "int32"
          },
          "total_topic_unsubscribed": {
            "type": "integer",
            "format": "int32"
          },
          "total_tracking_consent_denied": {
            "type": "integer",
            "format": "int32"
          },
          "total_tracking_consent_granted": {
            "type": "integer",
            "format": "int32"
          },
          "total_undeliverable": {
            "type": "integer",
            "format": "int32"
          },
          "total_unsubscribed": {
            "type": "integer",
            "format": "int32"
          },
          "total_untracked": {
            "type": "integer",
            "format": "int32"
          },
          "total_update": {
            "type": "integer",
            "format": "int32"
          },
          "total_viewed": {
            "type": "integer",
            "format": "int32"
          },
          "tracking_consent_denied": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "tracking_consent_granted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "transactional_message_id": {
            "type": "string",
            "nullable": true
          },
          "trigger_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "undeliverable": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "unsent_drafts": {
            "type": "boolean"
          },
          "unsubscribed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "untracked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "update": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "variation_id": {
            "type": "string",
            "nullable": true
          },
          "viewed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "2xx",
          "3xx",
          "4xx",
          "5xx",
          "attempted",
          "bounced",
          "clicked",
          "converted",
          "created",
          "delivered",
          "dismissed",
          "end",
          "failed",
          "human_clicked",
          "human_opened",
          "id",
          "link_untracked",
          "links",
          "machine_clicked",
          "open_untracked",
          "opened",
          "period",
          "prefetch_opened",
          "replied",
          "sent",
          "spammed",
          "start",
          "suppressed",
          "topic_unsubscribed",
          "total_2xx",
          "total_3xx",
          "total_4xx",
          "total_5xx",
          "total_attempted",
          "total_bounced",
          "total_clicked",
          "total_converted",
          "total_created",
          "total_delivered",
          "total_dismissed",
          "total_end",
          "total_failed",
          "total_human_clicked",
          "total_human_opened",
          "total_link_untracked",
          "total_machine_clicked",
          "total_open_untracked",
          "total_opened",
          "total_prefetch_opened",
          "total_replied",
          "total_sent",
          "total_spammed",
          "total_start",
          "total_suppressed",
          "total_topic_unsubscribed",
          "total_tracking_consent_denied",
          "total_tracking_consent_granted",
          "total_undeliverable",
          "total_unsubscribed",
          "total_untracked",
          "total_update",
          "total_viewed",
          "tracking_consent_denied",
          "tracking_consent_granted",
          "type",
          "undeliverable",
          "unsent_drafts",
          "unsubscribed",
          "untracked",
          "update",
          "viewed"
        ]
      },
      "services_ui_api_model_MetricLinks": {
        "type": "object",
        "properties": {
          "daily": {
            "type": "string"
          },
          "monthly": {
            "type": "string"
          },
          "weekly": {
            "type": "string"
          }
        },
        "required": [
          "daily",
          "monthly",
          "weekly"
        ]
      },
      "services_ui_api_model_MetricValues": {
        "type": "object",
        "properties": {
          "attempted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "bounced": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "converted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "created": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "deferred": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "delivered": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "drafted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "end": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "failed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "link_untracked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "machine_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "open_untracked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "prefetch_opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "replied": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "sent": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "spammed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "start": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "suppressed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "topic_unsubscribed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "tracking_consent_denied": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "tracking_consent_granted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "undeliverable": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "unsubscribed": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "untracked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "update": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "attempted",
          "bounced",
          "clicked",
          "converted",
          "created",
          "deferred",
          "delivered",
          "drafted",
          "end",
          "failed",
          "human_clicked",
          "human_opened",
          "link_untracked",
          "machine_clicked",
          "open_untracked",
          "opened",
          "prefetch_opened",
          "replied",
          "sent",
          "spammed",
          "start",
          "suppressed",
          "topic_unsubscribed",
          "tracking_consent_denied",
          "tracking_consent_granted",
          "undeliverable",
          "unsubscribed",
          "untracked",
          "update"
        ]
      },
      "services_ui_api_model_Metrics": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "string",
            "nullable": true
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "string",
            "nullable": true
          },
          "trigger_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "webhook",
              "twilio",
              "urban_airship",
              "slack",
              "push",
              "in_app",
              "line",
              "inbox",
              "whatsapp",
              "live_notification",
              "sms"
            ]
          },
          "values": {
            "$ref": "#/components/schemas/services_ui_api_model_MetricValues"
          }
        },
        "required": [
          "type",
          "values"
        ]
      },
      "services_ui_api_model_Newsletter": {
        "type": "object",
        "properties": {
          "actual_daily_volumes": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attempted": {
            "type": "integer",
            "format": "int32"
          },
          "auto_winner_degraded_reason": {
            "type": "string",
            "nullable": true
          },
          "auto_winner_no_metric_registered": {
            "type": "boolean",
            "nullable": true
          },
          "automatic_winner": {
            "type": "boolean"
          },
          "cancelled_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "channel": {
            "type": "string",
            "enum": [
              "email",
              "webhook",
              "twilio",
              "sms",
              "urban_airship",
              "slack",
              "push",
              "in_app",
              "line",
              "inbox",
              "whatsapp"
            ]
          },
          "conversion": {
            "type": "boolean",
            "nullable": true
          },
          "conversion_action": {
            "type": "string",
            "description": "Which delivery event is credited toward the goal.",
            "enum": [
              "receiving",
              "opening",
              "clicking"
            ]
          },
          "conversion_event_filters": {
            "nullable": true
          },
          "conversion_event_name": {
            "type": "string",
            "nullable": true
          },
          "conversion_segment_id": {
            "type": "string",
            "nullable": true
          },
          "conversion_type": {
            "type": "string",
            "enum": [
              "perform_event",
              "enter",
              "exit"
            ]
          },
          "conversion_window": {
            "type": "integer",
            "format": "int32"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "current_daily_ramp_start_idx": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "daily_rate_limits": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "deduped": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "draft_scheduled_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "draft_send_mode": {
            "type": "string",
            "nullable": true
          },
          "expires_after": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fail_message": {
            "type": "string",
            "nullable": true
          },
          "failed": {
            "type": "boolean",
            "nullable": true
          },
          "filters": {
            "type": "string",
            "nullable": true
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "frequency_cap_mode": {
            "type": "string"
          },
          "goal_id": {
            "type": "string",
            "description": "The goal measuring this broadcast's conversion. Absent while no goal is attached.",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "is_paused": {
            "type": "boolean",
            "nullable": true
          },
          "last_message_created_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_NewsletterLinks"
          },
          "name": {
            "type": "string"
          },
          "object_type_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "optimal_date_time": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "optimal_date_time_explanation": {
            "type": "string",
            "nullable": true
          },
          "optimal_date_time_selected": {
            "type": "boolean",
            "nullable": true
          },
          "original_recipient_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "original_scheduled_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "platform": {
            "type": "string"
          },
          "rate_limit_email_rate": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "rate_limit_spread": {
            "type": "boolean",
            "nullable": true
          },
          "rate_limit_time_period": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipient_file_error": {
            "type": "string",
            "nullable": true
          },
          "recipient_file_not_found_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipient_file_row_count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recipient_file_status": {
            "type": "string",
            "nullable": true
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "scheduled_send_to_remaining": {
            "type": "boolean"
          },
          "send_percentage": {
            "type": "integer",
            "format": "int32"
          },
          "send_state": {
            "type": "string",
            "description": "Where this one-time send is right now. Read this rather than inferring from the timestamps: scheduled_at is null both before a send is scheduled and after one finishes delivering.",
            "enum": [
              "drafted",
              "scheduled",
              "sending",
              "sent",
              "paused",
              "stopped",
              "failed",
              "awaiting_winner"
            ]
          },
          "send_to_everyone": {
            "type": "boolean",
            "nullable": true
          },
          "send_to_unsubscribed": {
            "type": "boolean"
          },
          "sending": {
            "type": "boolean"
          },
          "sends_completed": {
            "type": "integer",
            "format": "int32"
          },
          "sent_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sent_to_remaining_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sto_enabled": {
            "type": "boolean"
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "subscription_topic_id": {
            "type": "string",
            "nullable": true
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "template_id": {
            "type": "string"
          },
          "template_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "test_duration": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "test_ended_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "test_metric": {
            "type": "string",
            "nullable": true
          },
          "test_recipient_internal_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "total_delivered": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "total_sent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tracked": {
            "type": "boolean"
          },
          "tz_match_enabled": {
            "type": "boolean"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "use_message_limits": {
            "type": "boolean"
          },
          "winner_template_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "attempted",
          "automatic_winner",
          "channel",
          "conversion_action",
          "conversion_type",
          "conversion_window",
          "created",
          "deduped",
          "description",
          "frequency_cap_mode",
          "id",
          "links",
          "name",
          "platform",
          "scheduled_send_to_remaining",
          "send_percentage",
          "send_state",
          "send_to_unsubscribed",
          "sending",
          "sends_completed",
          "sto_enabled",
          "tag_ids",
          "template_id",
          "template_ids",
          "tracked",
          "tz_match_enabled",
          "updated",
          "use_message_limits"
        ]
      },
      "services_ui_api_model_NewsletterLinks": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string"
          },
          "schedule": {
            "type": "string"
          },
          "segments": {
            "type": "string"
          },
          "template_metrics": {
            "type": "string"
          },
          "templates": {
            "type": "string"
          },
          "tracked_link_metric": {
            "type": "string"
          }
        },
        "required": [
          "metric",
          "schedule",
          "segments",
          "template_metrics",
          "templates",
          "tracked_link_metric"
        ]
      },
      "services_ui_api_model_Object": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "environment_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "identifiers": {
            "$ref": "#/components/schemas/services_core_objects_ObjectIdentifiers"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attributes",
          "environment_id",
          "id",
          "identifiers",
          "object_type_id"
        ]
      },
      "services_ui_api_model_ObjectTrigger": {
        "type": "object",
        "properties": {
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "object_type_id",
          "type"
        ]
      },
      "services_ui_api_model_ObjectType": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "has_non_ui_objects": {
            "type": "boolean"
          },
          "icon": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "more_attributes": {
            "type": "boolean",
            "nullable": true
          },
          "more_rel_attributes": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_count": {
            "type": "integer",
            "format": "int32"
          },
          "sent_attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "sent_rel_attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "singular_name": {
            "type": "string"
          },
          "singular_slug": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_model_Usages"
          }
        },
        "required": [
          "color",
          "enabled",
          "has_non_ui_objects",
          "id",
          "name",
          "object_count",
          "singular_name",
          "singular_slug",
          "slug",
          "usage"
        ]
      },
      "services_ui_api_model_OutputStatus": {
        "type": "object",
        "properties": {
          "attribute_update": {
            "$ref": "#/components/schemas/services_ui_api_model_OutputStatusAttributeUpdate",
            "nullable": true
          },
          "batch_update": {
            "$ref": "#/components/schemas/services_ui_api_model_OutputStatusBatchUpdate",
            "nullable": true
          },
          "create_event": {
            "$ref": "#/components/schemas/services_ui_api_model_OutputStatusCreateEvent",
            "nullable": true
          },
          "created": {
            "type": "boolean"
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "is_internal_identifier": {
            "type": "boolean"
          },
          "merged": {
            "type": "boolean"
          },
          "old_customer_id": {
            "type": "string",
            "nullable": true
          },
          "query_collection": {
            "$ref": "#/components/schemas/services_ui_api_model_OutputStatusQueryCollection",
            "nullable": true
          }
        },
        "required": [
          "created",
          "is_internal_identifier",
          "merged"
        ]
      },
      "services_ui_api_model_OutputStatusAttributeUpdate": {
        "type": "object",
        "properties": {
          "has_failures": {
            "type": "boolean"
          },
          "updated_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "has_failures",
          "updated_count"
        ]
      },
      "services_ui_api_model_OutputStatusBatchUpdate": {
        "type": "object",
        "properties": {
          "attribute_failed_count": {
            "type": "integer",
            "format": "int32"
          },
          "attribute_skipped_count": {
            "type": "integer",
            "format": "int32"
          },
          "attribute_updated_count": {
            "type": "integer",
            "format": "int32"
          },
          "event_name": {
            "type": "string"
          },
          "events_created_count": {
            "type": "integer",
            "format": "int32"
          },
          "events_failed_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attribute_failed_count",
          "attribute_skipped_count",
          "attribute_updated_count",
          "event_name",
          "events_created_count",
          "events_failed_count"
        ]
      },
      "services_ui_api_model_OutputStatusCreateEvent": {
        "type": "object",
        "properties": {
          "has_failures": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "has_failures",
          "name"
        ]
      },
      "services_ui_api_model_OutputStatusQueryCollection": {
        "type": "object",
        "properties": {
          "has_failures": {
            "type": "boolean"
          },
          "updated_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "has_failures",
          "updated_count"
        ]
      },
      "services_ui_api_model_Plan": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "annual": {
            "type": "boolean"
          },
          "annual_price": {
            "type": "integer",
            "format": "int32"
          },
          "cancellable": {
            "type": "boolean"
          },
          "cdp_api_calls": {
            "type": "integer",
            "format": "int32"
          },
          "cdp_premium_price": {
            "type": "integer",
            "format": "int32"
          },
          "customers": {
            "type": "integer",
            "format": "int32"
          },
          "disabled": {
            "type": "boolean"
          },
          "display_name": {
            "type": "string"
          },
          "emails_sent": {
            "type": "integer",
            "format": "int32"
          },
          "has_metered_customer_rate": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "interval_name": {
            "type": "string"
          },
          "legacy": {
            "type": "boolean"
          },
          "metered_customer_rate": {
            "type": "string"
          },
          "metered_message_rate": {
            "type": "string"
          },
          "metered_object_rate": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "objects": {
            "type": "integer",
            "format": "int32"
          },
          "plan_type": {
            "type": "string"
          },
          "planned_custom_smtp": {
            "type": "boolean"
          },
          "premium": {
            "type": "boolean"
          },
          "premium_description": {
            "type": "string"
          },
          "price": {
            "type": "integer",
            "format": "int32"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "active",
          "annual",
          "annual_price",
          "cancellable",
          "cdp_api_calls",
          "cdp_premium_price",
          "customers",
          "disabled",
          "display_name",
          "emails_sent",
          "has_metered_customer_rate",
          "hidden",
          "id",
          "interval_name",
          "legacy",
          "metered_customer_rate",
          "metered_message_rate",
          "metered_object_rate",
          "name",
          "objects",
          "plan_type",
          "planned_custom_smtp",
          "premium",
          "premium_description",
          "price",
          "slug"
        ]
      },
      "services_ui_api_model_Position": {
        "type": "object",
        "properties": {
          "relative_to": {
            "$ref": "#/components/schemas/services_ui_api_model_RelativeTo",
            "nullable": true
          },
          "x": {
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "x",
          "y"
        ]
      },
      "services_ui_api_model_PromoCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/services_ui_api_model_PromoCodeConfig"
          },
          "ordway_plan_id": {
            "type": "string"
          },
          "redeemed_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "code",
          "config",
          "ordway_plan_id",
          "redeemed_at"
        ]
      },
      "services_ui_api_model_PromoCodeConfig": {
        "type": "object",
        "properties": {
          "discount_value": {
            "type": "integer",
            "format": "int32"
          },
          "duration_period": {
            "type": "string"
          }
        },
        "required": [
          "discount_value",
          "duration_period"
        ]
      },
      "services_ui_api_model_PushPlatform": {
        "type": "object",
        "properties": {
          "completed_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "completion_reason": {
            "type": "string",
            "nullable": true
          },
          "skipped_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_model_Receipt": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string"
          },
          "due_date": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "string"
          },
          "invoice_id": {
            "type": "string"
          },
          "invoiced_at": {
            "type": "integer",
            "format": "int32"
          },
          "metered_email": {
            "type": "integer",
            "format": "int32"
          },
          "metered_objects": {
            "type": "integer",
            "format": "int32"
          },
          "metered_profiles": {
            "type": "integer",
            "format": "int32"
          },
          "overage_message_count": {
            "type": "integer",
            "format": "int32"
          },
          "overage_object_count": {
            "type": "integer",
            "format": "int32"
          },
          "overage_profile_count": {
            "type": "integer",
            "format": "int32"
          },
          "paid_at": {
            "type": "integer",
            "format": "int32"
          },
          "period_ends_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "period_started_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "plan_interval": {
            "type": "string"
          },
          "plan_interval_name": {
            "type": "string"
          },
          "plan_price": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "paid",
              "uncollectible",
              "void",
              "unpaid",
              "overdue"
            ]
          },
          "title": {
            "type": "string"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "enum": [
              "plan",
              "overages",
              "plan_and_overages",
              "product",
              "ai_credits",
              "builder_credits",
              "prepaid_credits",
              "other"
            ]
          }
        },
        "required": [
          "display_name",
          "due_date",
          "id",
          "invoice_id",
          "invoiced_at",
          "metered_email",
          "metered_objects",
          "metered_profiles",
          "overage_message_count",
          "overage_object_count",
          "overage_profile_count",
          "paid_at",
          "plan_interval",
          "plan_interval_name",
          "plan_price",
          "status",
          "title",
          "total",
          "type"
        ]
      },
      "services_ui_api_model_Relationship": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "entity1_id": {
            "type": "string"
          },
          "entity1_type": {
            "type": "string"
          },
          "entity2_id": {
            "type": "string"
          },
          "entity2_type": {
            "type": "string"
          }
        },
        "required": [
          "attributes",
          "created_at",
          "entity1_id",
          "entity1_type",
          "entity2_id",
          "entity2_type"
        ]
      },
      "services_ui_api_model_RelationshipTrigger": {
        "type": "object",
        "properties": {
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "object_type_id",
          "type"
        ]
      },
      "services_ui_api_model_RelativeTo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "x": {
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id",
          "x",
          "y"
        ]
      },
      "services_ui_api_model_ReportingWebhook": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "endpoint_url": {
            "type": "string"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "resolution": {
            "type": "boolean"
          },
          "signing_key": {
            "type": "string"
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "created_at",
          "enabled",
          "endpoint_url",
          "events",
          "id",
          "last_activity_at",
          "name",
          "resolution",
          "signing_key",
          "with_content"
        ]
      },
      "services_ui_api_model_RequestHeader": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ui_api_model_Role": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_by": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "standard",
              "custom"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_model_RoleUsage"
          }
        },
        "required": [
          "created_at",
          "description",
          "id",
          "name",
          "permissions",
          "type",
          "updated_at",
          "usage"
        ]
      },
      "services_ui_api_model_RoleDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "permission_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "id",
          "name",
          "permission_ids"
        ]
      },
      "services_ui_api_model_RoleUsage": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_RoleUsageUser"
            }
          }
        },
        "required": [
          "total",
          "users"
        ]
      },
      "services_ui_api_model_RoleUsageUser": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "profile_image_url": {
            "type": "string",
            "nullable": true
          },
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_RoleUsageWorkspace"
            }
          }
        },
        "required": [
          "email",
          "first_name",
          "id",
          "last_name",
          "workspaces"
        ]
      },
      "services_ui_api_model_RoleUsageWorkspace": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_model_S3Storage": {
        "type": "object",
        "properties": {
          "access_key": {
            "type": "string"
          },
          "bucket_name": {
            "type": "string"
          },
          "bucket_path": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "secret_key": {
            "type": "string"
          }
        },
        "required": [
          "access_key",
          "bucket_name",
          "bucket_path",
          "region",
          "secret_key"
        ]
      },
      "services_ui_api_model_SCIMConfiguration": {
        "type": "object",
        "properties": {
          "base_url": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "default_role_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "default_workspace_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tokens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TokenList"
            }
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "base_url",
          "created_at",
          "tokens",
          "updated_at"
        ]
      },
      "services_ui_api_model_SCIMToken": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "token": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "account_id",
          "created_at",
          "id",
          "token",
          "updated_at"
        ]
      },
      "services_ui_api_model_SSOConfiguration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "identity_provider": {
            "type": "string"
          },
          "oidc_client_id": {
            "type": "string"
          },
          "oidc_client_secret": {
            "type": "string"
          },
          "oidc_google_hosted_domain": {
            "type": "string"
          },
          "oidc_issuer_url": {
            "type": "string"
          },
          "saml_acs_url": {
            "type": "string"
          },
          "saml_encryption_cert": {
            "type": "string"
          },
          "saml_entity_id": {
            "type": "string"
          },
          "saml_idp_metadata_url": {
            "type": "string"
          },
          "saml_metadata_id": {
            "type": "string"
          },
          "saml_slo_url": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "identity_provider",
          "oidc_client_id",
          "oidc_client_secret",
          "oidc_google_hosted_domain",
          "oidc_issuer_url",
          "saml_acs_url",
          "saml_encryption_cert",
          "saml_entity_id",
          "saml_idp_metadata_url",
          "saml_metadata_id",
          "saml_slo_url",
          "updated_at"
        ]
      },
      "services_ui_api_model_SavedRow": {
        "type": "object",
        "properties": {
          "category_id": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "data": {},
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created",
          "data",
          "id",
          "name",
          "updated"
        ]
      },
      "services_ui_api_model_ScannedCustomForm": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "inputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ScannedCustomFormInput"
            }
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "inputs",
          "name"
        ]
      },
      "services_ui_api_model_ScannedCustomFormInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "services_ui_api_model_Schedule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32"
          },
          "original_scheduled_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "scheduled_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "newsletter_id"
        ]
      },
      "services_ui_api_model_Segment": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "audience_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "auto_archive_exempt": {
            "type": "boolean"
          },
          "auto_archived_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conditions": {},
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "has_relationship_conditions": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "in_use_active": {
            "type": "boolean"
          },
          "in_use_archived": {
            "type": "boolean"
          },
          "last_built_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "linked_form_id": {
            "type": "string"
          },
          "linked_form_type": {
            "type": "string"
          },
          "members_out_of_date": {
            "type": "boolean"
          },
          "meta": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "object_type_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "progress": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "sample": {
            "type": "boolean"
          },
          "state": {
            "type": "string",
            "enum": [
              "events_queued",
              "events",
              "build_queued",
              "build",
              "finished"
            ]
          },
          "system": {
            "type": "string"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "timestamp": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "dynamic",
              "snapshot",
              "static",
              "temporary",
              "hidden"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_model_SegmentUsage",
            "nullable": true
          }
        },
        "required": [
          "archived",
          "audience_ids",
          "auto_archive_exempt",
          "conditions",
          "created_at",
          "description",
          "environment_id",
          "has_relationship_conditions",
          "id",
          "in_use_active",
          "in_use_archived",
          "linked_form_id",
          "linked_form_type",
          "members_out_of_date",
          "name",
          "sample",
          "state",
          "system",
          "tag_ids",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_model_SegmentCount": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "finished": {
            "type": "boolean"
          }
        },
        "required": [
          "count",
          "finished"
        ]
      },
      "services_ui_api_model_SegmentDesc": {
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "has_relationship_conditions": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "is_leaf": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "dynamic",
              "snapshot",
              "static",
              "temporary",
              "hidden"
            ]
          }
        },
        "required": [
          "environment_id",
          "has_relationship_conditions",
          "id",
          "is_leaf",
          "name",
          "type"
        ]
      },
      "services_ui_api_model_SegmentMembership": {
        "type": "object",
        "properties": {
          "end": {
            "type": "integer",
            "format": "int32"
          },
          "entered": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "left": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "resolution": {
            "type": "string"
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          },
          "start": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "end",
          "entered",
          "left",
          "resolution",
          "segment_id",
          "start",
          "total"
        ]
      },
      "services_ui_api_model_SegmentOutIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "eu": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string"
          },
          "last_activity_at": {
            "type": "integer",
            "format": "int32"
          },
          "resolution": {
            "type": "boolean"
          },
          "send_cio": {
            "type": "boolean"
          },
          "use_javascript": {
            "type": "boolean"
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "created_at",
          "enabled",
          "eu",
          "id",
          "key",
          "last_activity_at",
          "resolution",
          "send_cio",
          "use_javascript",
          "with_content"
        ]
      },
      "services_ui_api_model_SegmentUsage": {
        "type": "object",
        "properties": {
          "ad_audiences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          },
          "broadcasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          },
          "dashboard": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "draft_newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          },
          "sent_newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          },
          "sql_imports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Usage"
            }
          }
        },
        "required": [
          "ad_audiences",
          "broadcasts",
          "campaigns",
          "dashboard",
          "draft_newsletters",
          "segments",
          "sent_newsletters",
          "sql_imports"
        ]
      },
      "services_ui_api_model_SendTime": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string"
          },
          "confidence": {
            "type": "number",
            "format": "double"
          },
          "peak_hour": {
            "type": "integer",
            "format": "int32"
          },
          "weights": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": [
          "channel",
          "confidence",
          "peak_hour",
          "weights"
        ]
      },
      "services_ui_api_model_SetupGuide": {
        "type": "object",
        "properties": {
          "broadcasts_rocket_edited_email_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "broadcasts_rocket_previewed_email_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "broadcasts_rocket_sent_test_message_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "broadcasts_tourtips_explored_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_rocket_added_goal_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_rocket_edited_email_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_rocket_sent_test_message_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_tourtips_explored_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "completed_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "edited_email_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "first_message_created_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "first_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "first_message_type": {
            "type": "string",
            "nullable": true
          },
          "integration_completed_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "integration_connected_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "integration_method": {
            "type": "string",
            "nullable": true
          },
          "messaging_channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_MessagingChannel"
            },
            "nullable": true
          },
          "people_rocket_added_attribute_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "people_rocket_added_people_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "people_rocket_added_segment_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "people_rocket_completed_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "people_tourtips_explored_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "personalization_change_steps_order": {
            "type": "boolean",
            "nullable": true
          },
          "required_people_added_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_broadcast_explored_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_campaign_email_action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_workflow_explored_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sample_workspace_explored_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sent_test_message_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "set_conversion_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "skip_email_channel_setup": {
            "type": "boolean",
            "nullable": true
          },
          "skip_integration_step": {
            "type": "boolean",
            "nullable": true
          },
          "skip_messaging_channels_setup": {
            "type": "boolean",
            "nullable": true
          },
          "started_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "use_case": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_model_Shape": {
        "type": "object",
        "properties": {
          "height": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "width": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "height",
          "name",
          "width"
        ]
      },
      "services_ui_api_model_SheetImport": {
        "type": "object",
        "properties": {
          "sheet_id": {
            "type": "integer",
            "format": "int32"
          },
          "sheet_name": {
            "type": "string"
          },
          "spreadsheet_id": {
            "type": "string"
          },
          "spreadsheet_name": {
            "type": "string"
          }
        },
        "required": [
          "sheet_id",
          "sheet_name",
          "spreadsheet_id",
          "spreadsheet_name"
        ]
      },
      "services_ui_api_model_Shortcut": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            },
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "render_errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "request_method": {
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ]
          },
          "url": {
            "type": "string"
          },
          "webhook": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "render_errors",
          "request_method",
          "url",
          "webhook"
        ]
      },
      "services_ui_api_model_Snippet": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "updated_at",
          "value"
        ]
      },
      "services_ui_api_model_Source": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "action_name": {
            "type": "string",
            "nullable": true
          },
          "action_type": {
            "type": "string",
            "nullable": true
          },
          "anonymous_id": {
            "type": "string",
            "nullable": true
          },
          "api": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "campaign_name": {
            "type": "string",
            "nullable": true
          },
          "campaign_type": {
            "type": "string",
            "nullable": true
          },
          "client": {
            "$ref": "#/components/schemas/services_ui_api_model_Client"
          },
          "content_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "content_name": {
            "type": "string",
            "nullable": true
          },
          "content_type": {
            "type": "string",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "environment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "form_id": {
            "type": "string",
            "nullable": true
          },
          "form_type": {
            "type": "string",
            "nullable": true
          },
          "import_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "import_row_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ip_addr": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "newsletter_name": {
            "type": "string",
            "nullable": true
          },
          "site_id": {
            "type": "string",
            "nullable": true
          },
          "subject_id": {
            "type": "string",
            "nullable": true
          },
          "subtype": {
            "type": "string",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_title": {
            "type": "string",
            "nullable": true
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "transactional_message_name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "ua": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "client"
        ]
      },
      "services_ui_api_model_SplitAction": {
        "type": "object",
        "properties": {
          "action_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "action_state": {
            "type": "string"
          },
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_name": {
            "type": "string"
          },
          "campaign_type": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "split_metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SplitMetric"
            }
          },
          "split_state": {
            "type": "string"
          },
          "started": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "action_ids",
          "action_state",
          "campaign_id",
          "campaign_name",
          "campaign_type",
          "id",
          "name",
          "split_metrics",
          "split_state",
          "started"
        ]
      },
      "services_ui_api_model_SplitMetric": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "string",
            "nullable": true
          },
          "clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "converted": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "delivered": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "id": {
            "type": "string"
          },
          "opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "period": {
            "type": "string"
          },
          "sent": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "template_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "clicked",
          "converted",
          "delivered",
          "human_clicked",
          "human_opened",
          "id",
          "opened",
          "period",
          "sent"
        ]
      },
      "services_ui_api_model_SplitMetricLinks": {
        "type": "object",
        "properties": {
          "split_metrics": {
            "type": "string"
          }
        },
        "required": [
          "split_metrics"
        ]
      },
      "services_ui_api_model_StepExplanation": {
        "type": "object",
        "properties": {
          "cause": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "delay_path_index": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "delay_path_name": {
            "type": "string",
            "nullable": true
          },
          "due": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "forced_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "timestamp": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "cause",
          "code",
          "timestamp"
        ]
      },
      "services_ui_api_model_Sticky": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "color": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_by": {
            "$ref": "#/components/schemas/services_ui_api_model_StickyCreatedBy"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "position": {
            "$ref": "#/components/schemas/services_ui_api_model_Position",
            "nullable": true
          },
          "shape": {
            "$ref": "#/components/schemas/services_ui_api_model_Shape",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by": {
            "$ref": "#/components/schemas/services_ui_api_model_StickyUpdatedBy"
          },
          "x": {
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "color",
          "content",
          "created_at",
          "created_by",
          "id",
          "updated_at",
          "updated_by",
          "x",
          "y"
        ]
      },
      "services_ui_api_model_StickyCreatedBy": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "first_name",
          "id",
          "last_name"
        ]
      },
      "services_ui_api_model_StickyUpdatedBy": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "first_name",
          "id",
          "last_name"
        ]
      },
      "services_ui_api_model_StripeCustomer": {
        "type": "object",
        "properties": {
          "card_expiry": {
            "type": "string"
          },
          "card_last4": {
            "type": "string"
          },
          "card_owner_name": {
            "type": "string"
          },
          "card_token": {
            "type": "string"
          },
          "card_type": {
            "type": "string"
          },
          "last_payment_error": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "card_expiry",
          "card_last4",
          "card_owner_name",
          "card_token",
          "card_type"
        ]
      },
      "services_ui_api_model_SubCenterMessageList": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "pending_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubCenterMessageListAction"
            },
            "nullable": true
          },
          "send_to_unsubscribed": {
            "type": "boolean"
          },
          "subscription_topic_id": {
            "type": "integer",
            "format": "int32"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "campaign",
              "newsletter",
              "api_triggered_broadcast"
            ]
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created",
          "description",
          "id",
          "name",
          "send_to_unsubscribed",
          "subscription_topic_id",
          "type",
          "updated"
        ]
      },
      "services_ui_api_model_SubCenterMessageListAction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "services_ui_api_model_Subject": {
        "type": "object",
        "properties": {
          "action_entry_time": {
            "type": "integer",
            "format": "int32"
          },
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "string"
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "environment_id": {
            "type": "string"
          },
          "event_data": {
            "$ref": "#/components/schemas/services_ui_api_model_Log",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "match_time": {
            "type": "integer",
            "format": "int32"
          },
          "next_action_id": {
            "type": "string",
            "nullable": true
          },
          "next_wake_up": {
            "type": "integer",
            "format": "int32"
          },
          "subject_state": {
            "type": "string"
          },
          "subject_step_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger_person_id": {
            "type": "string",
            "nullable": true
          },
          "trigger_relationship": {
            "$ref": "#/components/schemas/services_ui_api_model_TriggerRelationship",
            "nullable": true
          }
        },
        "required": [
          "action_entry_time",
          "campaign_id",
          "environment_id",
          "id",
          "match_time",
          "next_wake_up",
          "subject_state",
          "subject_step_ids"
        ]
      },
      "services_ui_api_model_SubjectStep": {
        "type": "object",
        "properties": {
          "_": {
            "type": "string",
            "nullable": true
          },
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "branch_index": {
            "type": "integer",
            "format": "int32"
          },
          "delivery_id": {
            "type": "string",
            "nullable": true
          },
          "draft": {
            "type": "boolean"
          },
          "due": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entered": {
            "type": "integer",
            "format": "int32"
          },
          "exited": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "explanations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_StepExplanation"
            }
          },
          "filter_result": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_FilterResult"
            }
          },
          "future": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "journey_attribute_changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_JourneyAttributeChange"
            },
            "nullable": true
          },
          "llm_conversation": {
            "nullable": true
          },
          "llm_error": {
            "type": "string",
            "nullable": true
          },
          "llm_result_action": {
            "$ref": "#/components/schemas/services_ui_api_model_LLMResultAction",
            "nullable": true
          },
          "related_delivery_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "split_index": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/services_ui_api_model_OutputStatus",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "webhook_response": {
            "$ref": "#/components/schemas/services_ui_api_model_WebhookResponse",
            "nullable": true
          }
        },
        "required": [
          "branch_index",
          "draft",
          "entered",
          "explanations",
          "filter_result",
          "future",
          "id",
          "split_index",
          "type"
        ]
      },
      "services_ui_api_model_Subscription": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "active": {
            "type": "boolean"
          },
          "annual": {
            "type": "boolean"
          },
          "auto_renew": {
            "type": "boolean",
            "nullable": true
          },
          "coupon_code": {
            "type": "string"
          },
          "coupon_ends_at": {
            "type": "integer",
            "format": "int32"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "has_ach_setup": {
            "type": "boolean"
          },
          "has_failed_overage_charge": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "period_end": {
            "type": "integer",
            "format": "int32"
          },
          "period_start": {
            "type": "integer",
            "format": "int32"
          },
          "plan_id": {
            "type": "integer",
            "format": "int32"
          },
          "stripe_customer": {
            "$ref": "#/components/schemas/services_ui_api_model_StripeCustomer",
            "nullable": true
          },
          "subscription_period_end": {
            "type": "integer",
            "format": "int32"
          },
          "subscription_period_start": {
            "type": "integer",
            "format": "int32"
          },
          "subscription_term_end": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subscription_term_start": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "account_id",
          "active",
          "annual",
          "coupon_code",
          "coupon_ends_at",
          "created_at",
          "has_ach_setup",
          "has_failed_overage_charge",
          "id",
          "period_end",
          "period_start",
          "plan_id",
          "subscription_period_end",
          "subscription_period_start",
          "updated_at"
        ]
      },
      "services_ui_api_model_SubscriptionCenterLanguage": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguageChannel"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguageTopic"
            }
          }
        },
        "required": [
          "channels",
          "enabled",
          "id",
          "subtitle",
          "title",
          "topics"
        ]
      },
      "services_ui_api_model_SubscriptionCenterLanguageChannel": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "twilio",
              "urban_airship",
              "slack",
              "push",
              "in_app",
              "line",
              "inbox",
              "whatsapp",
              "sms"
            ]
          }
        },
        "required": [
          "description",
          "name",
          "type"
        ]
      },
      "services_ui_api_model_SubscriptionCenterLanguageTopic": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "id",
          "name"
        ]
      },
      "services_ui_api_model_SubscriptionCenterLanguages": {
        "type": "object",
        "properties": {
          "subscription_languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguage"
            }
          }
        },
        "required": [
          "subscription_languages"
        ]
      },
      "services_ui_api_model_SubscriptionCenterPage": {
        "type": "object",
        "properties": {
          "header": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterPageSection"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "header",
          "id"
        ]
      },
      "services_ui_api_model_SubscriptionCenterPageSection": {
        "type": "object",
        "properties": {
          "subtitle": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "subtitle",
          "title"
        ]
      },
      "services_ui_api_model_SubscriptionCenterPages": {
        "type": "object",
        "properties": {
          "subscription_pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterPage"
            }
          }
        },
        "required": [
          "subscription_pages"
        ]
      },
      "services_ui_api_model_SubscriptionChannel": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "opt_in": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "twilio",
              "urban_airship",
              "slack",
              "push",
              "in_app",
              "line",
              "inbox",
              "whatsapp",
              "sms"
            ]
          },
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionUsage",
            "nullable": true
          }
        },
        "required": [
          "description",
          "id",
          "name",
          "opt_in",
          "type"
        ]
      },
      "services_ui_api_model_SubscriptionTopic": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "opt_in": {
            "type": "boolean"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "usage": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionUsage",
            "nullable": true
          }
        },
        "required": [
          "created",
          "description",
          "id",
          "name",
          "opt_in",
          "updated"
        ]
      },
      "services_ui_api_model_SubscriptionUsage": {
        "type": "object",
        "properties": {
          "broadcasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionUsageItem"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionUsageItem"
            }
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionUsageItem"
            }
          }
        },
        "required": [
          "broadcasts",
          "campaigns",
          "newsletters"
        ]
      },
      "services_ui_api_model_SubscriptionUsageItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "id",
          "name",
          "state",
          "type",
          "updated"
        ]
      },
      "services_ui_api_model_Summary": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "attributes"
        ]
      },
      "services_ui_api_model_Tag": {
        "type": "object",
        "properties": {
          "api_triggered_used": {
            "type": "integer",
            "format": "int32"
          },
          "campaigns_used": {
            "type": "integer",
            "format": "int32"
          },
          "color": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "in_app_broadcasts_used": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "newsletters_used": {
            "type": "integer",
            "format": "int32"
          },
          "segments_used": {
            "type": "integer",
            "format": "int32"
          },
          "transactional_messages_used": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "api_triggered_used",
          "campaigns_used",
          "color",
          "created",
          "id",
          "in_app_broadcasts_used",
          "name",
          "newsletters_used",
          "segments_used",
          "transactional_messages_used",
          "updated"
        ]
      },
      "services_ui_api_model_TaxRate": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "rate": {
            "type": "number",
            "format": "double"
          },
          "state": {
            "type": "string"
          },
          "zip_code": {
            "type": "string"
          }
        },
        "required": [
          "country",
          "id",
          "rate",
          "state",
          "zip_code"
        ]
      },
      "services_ui_api_model_Template": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "app_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "bcc": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string"
          },
          "body_amp": {
            "type": "string"
          },
          "body_json": {
            "type": "string"
          },
          "body_plain": {
            "type": "string"
          },
          "cc": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "ds_node_id": {
            "type": "string",
            "nullable": true
          },
          "editor": {
            "type": "string",
            "enum": [
              "wysiwyg",
              "html",
              "bee",
              "json",
              "simple",
              "rich",
              "visual",
              "js",
              "parcel",
              "twilio_content_template"
            ]
          },
          "fake_bcc": {
            "type": "boolean"
          },
          "from_identity_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "image_url": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "layout_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_TemplateLinks"
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "output_type": {
            "type": "string",
            "description": "Set on sign-up form templates: in_app, embedded, or hosted.",
            "nullable": true
          },
          "preheader_text": {
            "type": "string"
          },
          "preprocessor": {
            "type": "string"
          },
          "recipient": {
            "type": "string",
            "nullable": true
          },
          "recipient_environment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reply_to_identity_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "request_method": {
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ]
          },
          "short_link_domain_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "subject": {
            "type": "string"
          },
          "template_engine": {
            "type": "integer",
            "format": "int32"
          },
          "template_type": {
            "type": "string",
            "enum": [
              "email",
              "webhook",
              "twilio",
              "sms",
              "urban_airship",
              "slack",
              "push",
              "create_event",
              "attribute_update",
              "batch_update_not_configured",
              "batch_create_event",
              "batch_attribute_update",
              "in_app",
              "in_app_broadcast",
              "llm_action_prompt",
              "llm_action_result_schema",
              "line",
              "inbox",
              "whatsapp"
            ]
          },
          "test_group_id": {
            "type": "string"
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "variables": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "whatsapp": {
            "type": "boolean"
          }
        },
        "required": [
          "body",
          "body_amp",
          "body_json",
          "body_plain",
          "created",
          "editor",
          "fake_bcc",
          "headers",
          "id",
          "image_url",
          "language",
          "links",
          "name",
          "preheader_text",
          "preprocessor",
          "request_method",
          "subject",
          "template_engine",
          "template_type",
          "test_group_id",
          "updated",
          "url",
          "variables",
          "whatsapp"
        ]
      },
      "services_ui_api_model_TemplateItem": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "bcc": {
            "type": "string"
          },
          "campaign_id": {
            "type": "string",
            "nullable": true
          },
          "cc": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "delivery_type": {
            "type": "string"
          },
          "fields_matched": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "from_address": {
            "type": "string"
          },
          "highlight": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "string",
            "nullable": true
          },
          "is_template": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "string",
            "nullable": true
          },
          "node_id": {
            "type": "string",
            "nullable": true
          },
          "parent_status": {
            "type": "string"
          },
          "preheader_text": {
            "type": "string"
          },
          "reply_to": {
            "type": "string"
          },
          "short_id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "template_id": {
            "type": "string"
          },
          "transactional_message_id": {
            "type": "string",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int32"
          },
          "used_in": {
            "type": "string"
          }
        },
        "required": [
          "bcc",
          "cc",
          "created_at",
          "delivery_type",
          "fields_matched",
          "from_address",
          "highlight",
          "id",
          "name",
          "parent_status",
          "preheader_text",
          "reply_to",
          "status",
          "subject",
          "template_id",
          "updated_at",
          "used_in"
        ]
      },
      "services_ui_api_model_TemplateLinks": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string"
          },
          "tracked_link_metric": {
            "type": "string"
          }
        },
        "required": [
          "metric",
          "tracked_link_metric"
        ]
      },
      "services_ui_api_model_TemplateListItem": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "app_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "bcc": {
            "type": "string",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "ds_node_id": {
            "type": "string",
            "nullable": true
          },
          "editor": {
            "type": "string",
            "enum": [
              "wysiwyg",
              "html",
              "bee",
              "json",
              "simple",
              "rich",
              "visual",
              "js",
              "parcel",
              "twilio_content_template"
            ]
          },
          "fake_bcc": {
            "type": "boolean"
          },
          "from_identity_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "image_url": {
            "type": "string"
          },
          "in_app_broadcast_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "language": {
            "type": "string"
          },
          "layout_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_TemplateLinks"
          },
          "name": {
            "type": "string"
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "output_type": {
            "type": "string",
            "nullable": true
          },
          "preprocessor": {
            "type": "string"
          },
          "recipient": {
            "type": "string",
            "nullable": true
          },
          "recipient_environment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reply_to_identity_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "request_method": {
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ]
          },
          "short_link_domain_id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "subject": {
            "type": "string"
          },
          "template_engine": {
            "type": "integer",
            "format": "int32"
          },
          "template_type": {
            "type": "string",
            "enum": [
              "email",
              "webhook",
              "twilio",
              "sms",
              "urban_airship",
              "slack",
              "push",
              "create_event",
              "attribute_update",
              "batch_update_not_configured",
              "batch_create_event",
              "batch_attribute_update",
              "in_app",
              "in_app_broadcast",
              "llm_action_prompt",
              "llm_action_result_schema",
              "line",
              "inbox",
              "whatsapp"
            ]
          },
          "test_group_id": {
            "type": "string"
          },
          "transactional_message_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "whatsapp": {
            "type": "boolean"
          }
        },
        "required": [
          "created",
          "editor",
          "fake_bcc",
          "headers",
          "id",
          "image_url",
          "language",
          "links",
          "name",
          "preprocessor",
          "request_method",
          "subject",
          "template_engine",
          "template_type",
          "test_group_id",
          "updated",
          "url",
          "whatsapp"
        ]
      },
      "services_ui_api_model_Tier": {
        "type": "object",
        "properties": {
          "current": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "min_profiles_count": {
            "type": "integer",
            "format": "int32"
          },
          "next": {
            "type": "boolean"
          },
          "past": {
            "type": "boolean"
          },
          "price": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "current",
          "id",
          "min_profiles_count",
          "next",
          "past",
          "price"
        ]
      },
      "services_ui_api_model_TokenList": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "token"
        ]
      },
      "services_ui_api_model_TrackedLinkMetrics": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string",
            "nullable": true
          },
          "campaign_id": {
            "type": "string",
            "nullable": true
          },
          "delivery_type": {
            "type": "string",
            "nullable": true
          },
          "environment_id": {
            "type": "string"
          },
          "period": {
            "type": "string"
          },
          "template_id": {
            "type": "string",
            "nullable": true
          },
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_LinkStats"
            }
          }
        },
        "required": [
          "environment_id",
          "period",
          "values"
        ]
      },
      "services_ui_api_model_TransactionalMessage": {
        "type": "object",
        "properties": {
          "content_source": {
            "type": "string"
          },
          "created": {
            "type": "integer",
            "format": "int32"
          },
          "created_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "frequency_cap_id": {
            "type": "integer",
            "format": "int32"
          },
          "frequency_cap_mode": {
            "type": "string"
          },
          "has_sent_message": {
            "type": "boolean"
          },
          "hide_message_body": {
            "type": "boolean"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "is_default": {
            "type": "boolean"
          },
          "link_tracking": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "preview": {
            "type": "string"
          },
          "queue_drafts": {
            "type": "boolean"
          },
          "sample_data": {
            "type": "string"
          },
          "send_to_unsubscribed": {
            "type": "boolean"
          },
          "state": {
            "type": "string",
            "enum": [
              "draft",
              "active"
            ]
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          },
          "template_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger_name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "push",
              "in_app",
              "twilio",
              "sms",
              "inbox"
            ]
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          }
        },
        "required": [
          "content_source",
          "created",
          "description",
          "frequency_cap_id",
          "frequency_cap_mode",
          "has_sent_message",
          "hide_message_body",
          "id",
          "is_default",
          "link_tracking",
          "name",
          "preview",
          "queue_drafts",
          "sample_data",
          "send_to_unsubscribed",
          "state",
          "tag_ids",
          "template_id",
          "template_ids",
          "trigger_name",
          "type",
          "updated"
        ]
      },
      "services_ui_api_model_TriggerElement": {
        "type": "object",
        "properties": {
          "date_attribute": {
            "type": "string"
          },
          "date_recurrence_type": {
            "type": "string"
          },
          "default_tz": {
            "type": "string"
          },
          "event_name": {
            "type": "string"
          },
          "filter": {
            "type": "string"
          },
          "form_id": {
            "type": "string"
          },
          "form_provider": {
            "type": "string"
          },
          "hour": {
            "type": "integer",
            "format": "int32"
          },
          "minute": {
            "type": "integer",
            "format": "int32"
          },
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          },
          "offset_days": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "enum": [
              "profile",
              "event",
              "date",
              "webhook",
              "form",
              "relationship_chg",
              "object_chg",
              "object"
            ]
          },
          "use_customer_tz": {
            "type": "boolean"
          },
          "webhook_id": {
            "type": "string"
          },
          "within_secs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "date_attribute",
          "date_recurrence_type",
          "default_tz",
          "event_name",
          "filter",
          "form_id",
          "form_provider",
          "hour",
          "minute",
          "object_type_id",
          "offset_days",
          "type",
          "use_customer_tz",
          "webhook_id",
          "within_secs"
        ]
      },
      "services_ui_api_model_TriggerRelationship": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "object_id": {
            "type": "string",
            "nullable": true
          },
          "object_type_id": {
            "type": "string"
          },
          "person_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "object_type_id"
        ]
      },
      "services_ui_api_model_URLParam": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ui_api_model_UntrackedLinkMetrics": {
        "type": "object",
        "properties": {
          "clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "delivered": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "clicked",
          "delivered",
          "human_clicked"
        ]
      },
      "services_ui_api_model_UntrackedOpenMetrics": {
        "type": "object",
        "properties": {
          "delivered": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "human_opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "opened": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "delivered",
          "human_opened",
          "opened"
        ]
      },
      "services_ui_api_model_Usage": {
        "type": "object",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "branches": {
            "type": "boolean",
            "nullable": true
          },
          "conditional_waits": {
            "type": "boolean",
            "nullable": true
          },
          "conversion": {
            "type": "boolean",
            "nullable": true
          },
          "filter": {
            "type": "boolean",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "precondition": {
            "type": "boolean",
            "nullable": true
          },
          "recipients": {
            "type": "boolean",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "static_seg_updates": {
            "type": "boolean",
            "nullable": true
          },
          "trigger": {
            "type": "boolean",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "archived",
          "id",
          "name",
          "type",
          "updated"
        ]
      },
      "services_ui_api_model_Usages": {
        "type": "object",
        "properties": {
          "apitb_count": {
            "type": "integer",
            "format": "int32"
          },
          "campaign_count": {
            "type": "integer",
            "format": "int32"
          },
          "newsletter_count": {
            "type": "integer",
            "format": "int32"
          },
          "segment_count": {
            "type": "integer",
            "format": "int32"
          },
          "snippet_count": {
            "type": "integer",
            "format": "int32"
          },
          "transactional_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "apitb_count",
          "campaign_count",
          "newsletter_count",
          "segment_count",
          "snippet_count",
          "transactional_count"
        ]
      },
      "services_ui_api_model_User": {
        "type": "object",
        "properties": {
          "accessible_environment_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accessible_workspace_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "can_masquerade": {
            "type": "boolean",
            "nullable": true
          },
          "can_masquerade_write": {
            "type": "boolean",
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "current_sign_in_at": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string"
          },
          "external_identity_email": {
            "type": "string"
          },
          "external_identity_provider": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "google_drive_credential": {
            "$ref": "#/components/schemas/services_ui_api_model_UserGoogleDriveCredential",
            "nullable": true
          },
          "has_password": {
            "type": "boolean"
          },
          "home_account_id": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "string"
          },
          "import_max_size_bytes": {
            "type": "integer",
            "format": "int32"
          },
          "last_environment_id": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "last_sign_in_at": {
            "type": "integer",
            "format": "int32"
          },
          "masq_permissions": {
            "type": "string",
            "nullable": true
          },
          "profile_image_url": {
            "type": "string",
            "nullable": true
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_UserWorkspaceRole"
            },
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_model_UserSettings",
            "nullable": true
          },
          "two_factor_authentication_email_enabled": {
            "type": "boolean",
            "nullable": true
          },
          "two_factor_authentication_enabled": {
            "type": "boolean",
            "nullable": true
          },
          "user_flags": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          }
        },
        "required": [
          "accessible_environment_ids",
          "accessible_workspace_ids",
          "account_permissions",
          "created_at",
          "current_sign_in_at",
          "email",
          "external_identity_email",
          "external_identity_provider",
          "first_name",
          "has_password",
          "home_account_id",
          "id",
          "import_max_size_bytes",
          "last_environment_id",
          "last_name",
          "last_sign_in_at",
          "user_flags"
        ]
      },
      "services_ui_api_model_UserGoogleDriveCredential": {
        "type": "object",
        "properties": {
          "account": {
            "type": "string"
          }
        },
        "required": [
          "account"
        ]
      },
      "services_ui_api_model_UserMinimal": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "profile_image_url": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "email",
          "first_name",
          "id",
          "last_name"
        ]
      },
      "services_ui_api_model_UserSettings": {
        "type": "object",
        "properties": {
          "side_nav_preferences": {
            "$ref": "#/components/schemas/services_domains_users_SideNavPreferences",
            "nullable": true
          },
          "theme_preferences": {
            "$ref": "#/components/schemas/services_domains_users_ThemePreferences",
            "nullable": true
          }
        }
      },
      "services_ui_api_model_UserWorkspaceRole": {
        "type": "object",
        "properties": {
          "role_id": {
            "type": "integer",
            "format": "int32"
          },
          "role_name": {
            "type": "string"
          },
          "workspace_id": {
            "type": "integer",
            "format": "int32"
          },
          "workspace_name": {
            "type": "string"
          }
        },
        "required": [
          "role_id",
          "role_name",
          "workspace_id",
          "workspace_name"
        ]
      },
      "services_ui_api_model_WarehouseExportFile": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "file_name": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "item_count": {
            "type": "integer",
            "format": "int32"
          },
          "latest_timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "warehouse_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "file_name",
          "id",
          "item_count",
          "latest_timestamp",
          "warehouse_id"
        ]
      },
      "services_ui_api_model_WarehouseSync": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "boolean"
          },
          "azure_config": {
            "$ref": "#/components/schemas/services_ui_api_model_AzureStorage",
            "nullable": true
          },
          "broadcasts": {
            "type": "boolean"
          },
          "campaigns": {
            "type": "boolean"
          },
          "contents": {
            "type": "boolean"
          },
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "deliveries": {
            "type": "boolean"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "events": {
            "type": "boolean"
          },
          "export_files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_WarehouseExportFile"
            }
          },
          "gcs_config": {
            "$ref": "#/components/schemas/services_ui_api_model_GCSStorage",
            "nullable": true
          },
          "id": {
            "type": "string"
          },
          "inbound": {
            "type": "boolean"
          },
          "metrics": {
            "type": "boolean"
          },
          "object_attributes": {
            "type": "boolean"
          },
          "objects": {
            "type": "boolean"
          },
          "outputs": {
            "type": "boolean"
          },
          "people": {
            "type": "boolean"
          },
          "people_last_updated_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "s3_config": {
            "$ref": "#/components/schemas/services_ui_api_model_S3Storage",
            "nullable": true
          },
          "subjects": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          },
          "yandex_config": {
            "$ref": "#/components/schemas/services_ui_api_model_YandexStorage",
            "nullable": true
          }
        },
        "required": [
          "attributes",
          "broadcasts",
          "campaigns",
          "contents",
          "created_at",
          "deliveries",
          "events",
          "export_files",
          "id",
          "inbound",
          "metrics",
          "object_attributes",
          "objects",
          "outputs",
          "people",
          "subjects",
          "version"
        ]
      },
      "services_ui_api_model_WebhookConfiguration": {
        "type": "object",
        "properties": {
          "config_data": {
            "type": "object",
            "additionalProperties": {}
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "updated_by_user": {
            "$ref": "#/components/schemas/services_ui_api_model_UserMinimal",
            "nullable": true
          }
        },
        "required": [
          "config_data",
          "created_at",
          "description",
          "id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_model_WebhookConfigurationMinimal": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "id",
          "name"
        ]
      },
      "services_ui_api_model_WebhookResponse": {
        "type": "object",
        "properties": {
          "attempts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_WebhookResponseAttempt"
            }
          },
          "last_response": {
            "type": "string"
          }
        },
        "required": [
          "attempts",
          "last_response"
        ]
      },
      "services_ui_api_model_WebhookResponseAttempt": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "format": "int32"
          },
          "timestamp": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "status_code",
          "timestamp"
        ]
      },
      "services_ui_api_model_WhitelistedIP": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "ip": {
            "type": "string"
          },
          "last_used_at": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "environment_id",
          "id",
          "ip",
          "last_used_at"
        ]
      },
      "services_ui_api_model_YandexStorage": {
        "type": "object",
        "properties": {
          "access_key": {
            "type": "string"
          },
          "bucket_name": {
            "type": "string"
          },
          "bucket_path": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "secret_key": {
            "type": "string"
          }
        },
        "required": [
          "access_key",
          "bucket_name",
          "bucket_path",
          "region",
          "secret_key"
        ]
      },
      "services_ui_api_mx_lookup_InboxLinkRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ]
      },
      "services_ui_api_mx_lookup_InboxLinkResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "found": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "provider": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "email",
          "found"
        ]
      },
      "services_ui_api_newsletters_NewsletterRateLimit": {
        "type": "object",
        "properties": {
          "grant_interval": {
            "type": "integer",
            "format": "int32",
            "description": "Seconds between grants: 60 for an even spread, the period for burst."
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_newsletters_NewsletterRateLimitStep"
            }
          }
        },
        "required": [
          "grant_interval",
          "steps"
        ]
      },
      "services_ui_api_newsletters_NewsletterRateLimitStep": {
        "type": "object",
        "properties": {
          "per_second": {
            "type": "number",
            "format": "double"
          },
          "ramp_day": {
            "type": "integer",
            "format": "int32",
            "description": "0-based index into daily_rate_limits, -1 for a per-period limit."
          },
          "start": {
            "type": "integer",
            "format": "int32",
            "description": "Unix seconds."
          }
        },
        "required": [
          "per_second",
          "ramp_day",
          "start"
        ]
      },
      "services_ui_api_newsletters_NewsletterSendTiming": {
        "type": "object",
        "properties": {
          "end": {
            "type": "integer",
            "format": "int32",
            "description": "Window end, unix seconds."
          },
          "first_sent_at": {
            "type": "integer",
            "format": "int32",
            "description": "First send across all days, 0 before any send data."
          },
          "last_sent_at": {
            "type": "integer",
            "format": "int32",
            "description": "Last send across all days, 0 before any send data."
          },
          "points": {
            "type": "array",
            "description": "[bucket_start_unix, count] ascending. Zero buckets appear only between first_sent_at and last_sent_at.",
            "items": {
              "type": "string"
            }
          },
          "rate_limit": {
            "$ref": "#/components/schemas/services_ui_api_newsletters_NewsletterRateLimit",
            "description": "The rate limit that the customer set, as ceiling steps over time. Null when there is none or when it has no fixed ceiling.",
            "nullable": true
          },
          "resolution": {
            "type": "integer",
            "format": "int32",
            "description": "Bucket width in seconds: 1, 30, 60 or 3600."
          },
          "start": {
            "type": "integer",
            "format": "int32",
            "description": "Window start, unix seconds."
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "end",
          "first_sent_at",
          "last_sent_at",
          "points",
          "resolution",
          "start",
          "total"
        ]
      },
      "services_ui_api_newsletters_NewsletterUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "main"
                ]
              }
            },
            "required": [
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "channel"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "deduped": {
                "type": "boolean",
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "filters": {
                "type": "string",
                "nullable": true
              },
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "send_to_everyone": {
                "type": "boolean",
                "nullable": true
              },
              "send_to_unsubscribed": {
                "type": "boolean",
                "nullable": true
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "subscription_topic_id": {
                "type": "string",
                "nullable": true
              },
              "test_recipient_internal_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients"
                ]
              },
              "use_message_limits": {
                "type": "boolean",
                "nullable": true
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "recipient_file_path": {
                "type": "string",
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "send_to_unsubscribed": {
                "type": "boolean",
                "nullable": true
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "subscription_topic_id": {
                "type": "string",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "recipients_file"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "conversion": {
                "type": "boolean",
                "nullable": true
              },
              "conversion_action": {
                "type": "string",
                "description": "Which delivery event is credited toward the goal. Required for a tracking update.",
                "enum": [
                  "receiving",
                  "opening",
                  "clicking"
                ]
              },
              "conversion_event_filters": {
                "nullable": true
              },
              "conversion_event_name": {
                "type": "string",
                "nullable": true
              },
              "conversion_segment_id": {
                "description": "Accepted as a number or a numeric string. An empty string or null means unset.",
                "nullable": true,
                "oneOf": [
                  {
                    "type": "integer",
                    "format": "int32"
                  },
                  {
                    "type": "string",
                    "pattern": "^(-?[0-9]+)?$"
                  }
                ]
              },
              "conversion_type": {
                "type": "string",
                "enum": [
                  "perform_event",
                  "enter",
                  "exit"
                ]
              },
              "conversion_window": {
                "type": "integer",
                "format": "int32"
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "goal_id": {
                "type": "integer",
                "format": "int32",
                "description": "Pick an existing conversion from the library instead of describing one. The conversion's criteria come from it and the conversion_type/conversion_event_name/conversion_event_filters/conversion_segment_id fields are ignored; conversion_window and conversion_action still apply, because those stay on the broadcast. Must name a conversion in this workspace. Read only when conversion is true, and ignored unless the workspace is on Goals-to-Conversions.",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "tracking"
                ]
              }
            },
            "required": [
              "conversion_action",
              "conversion_type",
              "conversion_window",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "rate_limits"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "schedule"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "send"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "automatic_winner": {
                "type": "boolean",
                "nullable": true
              },
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "platform": {
                "type": "string"
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "test_duration": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "test_metric": {
                "type": "string",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tracked": {
                "type": "boolean",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "test"
                ]
              }
            },
            "required": [
              "platform",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "end_test"
                ]
              },
              "winner_template_id": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "pause"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "resume"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "cancel"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "channel": {
                "type": "string",
                "enum": [
                  "email",
                  "webhook",
                  "twilio",
                  "sms",
                  "urban_airship",
                  "slack",
                  "push",
                  "in_app",
                  "line",
                  "inbox",
                  "whatsapp"
                ]
              },
              "daily_rate_limits": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "draft_scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "draft_send_mode": {
                "type": "string",
                "enum": [
                  "now",
                  "scheduled"
                ],
                "nullable": true
              },
              "expires_after": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "optimal_date_time_selected": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_email_rate": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "rate_limit_spread": {
                "type": "boolean",
                "nullable": true
              },
              "rate_limit_time_period": {
                "type": "integer",
                "format": "int32",
                "enum": [
                  60,
                  3600,
                  86400
                ],
                "nullable": true
              },
              "scheduled_at": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "send_percentage": {
                "type": "integer",
                "format": "int32"
              },
              "sto_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "tz_match_enabled": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "draft_schedule"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          }
        ]
      },
      "services_ui_api_newsletters_TagsRequest": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_newsletters_analyzeSurveyRequest": {
        "type": "object",
        "properties": {
          "survey_report": {
            "type": "object",
            "additionalProperties": {}
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "survey_report"
        ]
      },
      "services_ui_api_newsletters_copyNewsletterResponse": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_model_Newsletter",
            "nullable": true
          }
        }
      },
      "services_ui_api_newsletters_createFromTemplateRequest": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string"
          }
        },
        "required": [
          "template"
        ]
      },
      "services_ui_api_newsletters_createFromTemplateResponse": {
        "type": "object",
        "properties": {
          "newsletter_id": {
            "type": "integer",
            "format": "int32"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "newsletter_id",
          "template_id"
        ]
      },
      "services_ui_api_newsletters_createNewsletterBody": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_newsletters_createNewsletterFields"
          }
        },
        "required": [
          "newsletter"
        ]
      },
      "services_ui_api_newsletters_createNewsletterFields": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "email",
              "webhook",
              "twilio",
              "sms",
              "urban_airship",
              "slack",
              "push",
              "in_app",
              "line",
              "inbox",
              "whatsapp"
            ],
            "nullable": true
          },
          "deduped": {
            "type": "boolean",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "send_percentage": {
            "type": "integer",
            "format": "int32"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "name",
          "send_percentage"
        ]
      },
      "services_ui_api_newsletters_createTranslationsRequest": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reference_template_id": {
            "type": "string"
          }
        },
        "required": [
          "languages",
          "reference_template_id"
        ]
      },
      "services_ui_api_newsletters_deleteNewsletterResponse": {
        "type": "object",
        "properties": {
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Newsletter"
            }
          }
        },
        "required": [
          "newsletters"
        ]
      },
      "services_ui_api_newsletters_forwardRequest": {
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string"
          },
          "internal_id": {
            "type": "string"
          },
          "template_id": {
            "type": "string"
          }
        },
        "required": [
          "customer_id",
          "internal_id",
          "template_id"
        ]
      },
      "services_ui_api_newsletters_listNewslettersResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              },
              "totals": {
                "type": "object",
                "properties": {
                  "all_time": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "drafted": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "scheduled": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "sent": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "all_time",
                  "drafted",
                  "scheduled",
                  "sent"
                ]
              }
            },
            "required": [
              "pagination",
              "totals"
            ]
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Newsletter"
            }
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          }
        },
        "required": [
          "meta",
          "newsletters",
          "subscription_topics"
        ]
      },
      "services_ui_api_newsletters_newsletterCopyRequest": {
        "type": "object",
        "properties": {
          "copy_to_env": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "services_ui_api_newsletters_newsletterCountsResponse": {
        "type": "object",
        "properties": {
          "created_count": {
            "type": "integer",
            "format": "int32"
          },
          "deduped_count": {
            "type": "integer",
            "format": "int32"
          },
          "recipient_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_count",
          "deduped_count",
          "recipient_count"
        ]
      },
      "services_ui_api_newsletters_newsletterMetricsResponse": {
        "type": "object",
        "properties": {
          "link_metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_TrackedLinkMetrics"
            }
          },
          "metric": {
            "$ref": "#/components/schemas/services_ui_api_model_Metric"
          },
          "newsletter_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          "subscription_topic_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "template_metrics": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        },
        "required": [
          "link_metrics",
          "metric",
          "newsletter_metrics",
          "subscription_topic_metrics",
          "template_metrics"
        ]
      },
      "services_ui_api_newsletters_newsletterScheduleResponse": {
        "type": "object",
        "properties": {
          "schedule": {
            "$ref": "#/components/schemas/services_ui_api_model_Schedule"
          }
        },
        "required": [
          "schedule"
        ]
      },
      "services_ui_api_newsletters_newsletterSegmentsResponse": {
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Segment"
            }
          }
        },
        "required": [
          "segments"
        ]
      },
      "services_ui_api_newsletters_newsletterTemplatesResponse": {
        "type": "object",
        "properties": {
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Layout"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          }
        },
        "required": [
          "layouts",
          "templates"
        ]
      },
      "services_ui_api_newsletters_newsletterWithTagsResponse": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_model_Newsletter",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_newsletters_newsletterWithTemplatesResponse": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_model_Newsletter",
            "nullable": true
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          }
        },
        "required": [
          "templates"
        ]
      },
      "services_ui_api_newsletters_newsletterWithTopicsResponse": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_model_Newsletter",
            "nullable": true
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          }
        },
        "required": [
          "subscription_topics"
        ]
      },
      "services_ui_api_newsletters_pacingResponse": {
        "type": "object",
        "properties": {
          "audience": {
            "type": "integer",
            "format": "int32"
          },
          "daily_cap": {
            "type": "integer",
            "format": "int32"
          },
          "severity": {
            "type": "string"
          },
          "today_headroom": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "audience",
          "daily_cap",
          "severity",
          "today_headroom"
        ]
      },
      "services_ui_api_newsletters_previewCountsResponse": {
        "type": "object",
        "properties": {
          "recipient_count": {
            "type": "integer",
            "format": "int32"
          },
          "sto_recipient_count": {
            "type": "integer",
            "format": "int32"
          },
          "timezone_misconfigured_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "recipient_count",
          "sto_recipient_count",
          "timezone_misconfigured_count"
        ]
      },
      "services_ui_api_newsletters_recommendedSendTimeStartResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_newsletters_recommendedSendTimeStatusResponse": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_model_Newsletter",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            },
            "nullable": true
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_newsletters_sendStatusResponse": {
        "type": "object",
        "properties": {
          "enqueued_count": {
            "type": "integer",
            "format": "int64"
          },
          "pacing": {
            "$ref": "#/components/schemas/services_ui_api_newsletters_pacingResponse",
            "nullable": true
          },
          "timestamp": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "enqueued_count"
        ]
      },
      "services_ui_api_newsletters_sendTimingResponse": {
        "type": "object",
        "properties": {
          "send_timing": {
            "$ref": "#/components/schemas/services_ui_api_newsletters_NewsletterSendTiming"
          }
        },
        "required": [
          "send_timing"
        ]
      },
      "services_ui_api_newsletters_tagCreateRequest": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_newsletters_TagsRequest"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_newsletters_trackedResponsesResponse": {
        "type": "object",
        "properties": {
          "tracked_responses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tracked_responses"
        ]
      },
      "services_ui_api_newsletters_updateNewsletterRequest": {
        "type": "object",
        "properties": {
          "newsletter": {
            "$ref": "#/components/schemas/services_ui_api_newsletters_NewsletterUpdateRequest"
          }
        },
        "required": [
          "newsletter"
        ]
      },
      "services_ui_api_newsletters_variationMetricsResponse": {
        "type": "object",
        "properties": {
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Metric"
            }
          }
        },
        "required": [
          "metrics"
        ]
      },
      "services_ui_api_oauth_credentials_accessTokenResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string"
          },
          "expires_in": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "required": [
          "access_token"
        ]
      },
      "services_ui_api_oauth_credentials_connectRequest": {
        "type": "object",
        "properties": {
          "authorization_code": {
            "type": "string"
          },
          "connection_label": {
            "type": "string",
            "nullable": true
          },
          "provider": {
            "type": "string"
          },
          "redirect_uri": {
            "type": "string"
          }
        },
        "required": [
          "authorization_code",
          "provider",
          "redirect_uri"
        ]
      },
      "services_ui_api_oauth_credentials_credentialResponse": {
        "type": "object",
        "properties": {
          "connection_label": {
            "type": "string",
            "nullable": true
          },
          "external_account_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "external_account_id",
          "id",
          "provider",
          "status"
        ]
      },
      "services_ui_api_oauth_credentials_listResponse": {
        "type": "object",
        "properties": {
          "oauth_credentials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_oauth_credentials_credentialResponse"
            }
          }
        },
        "required": [
          "oauth_credentials"
        ]
      },
      "services_ui_api_objects_ListRelatedObjectsForEachTypeResponse": {
        "type": "object",
        "properties": {
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Object"
            }
          },
          "relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Relationship"
            }
          }
        },
        "required": [
          "objects",
          "relationships"
        ]
      },
      "services_ui_api_objects_ListRelatedObjectsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "continuation": {
                    "type": "string",
                    "nullable": true
                  },
                  "page": {
                    "type": "integer",
                    "format": "int32",
                    "nullable": true
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Object"
            }
          },
          "relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Relationship"
            }
          }
        },
        "required": [
          "meta",
          "objects",
          "relationships"
        ]
      },
      "services_ui_api_objects_createObjectRequest": {
        "type": "object",
        "properties": {
          "object": {
            "type": "object",
            "properties": {
              "attributes": {
                "nullable": true
              },
              "object_id": {
                "type": "string",
                "nullable": true
              }
            }
          }
        },
        "required": [
          "object"
        ]
      },
      "services_ui_api_objects_createObjectTypeRequest": {
        "type": "object",
        "properties": {
          "object_type": {
            "type": "object",
            "properties": {
              "color": {
                "type": "string"
              },
              "icon": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "singular_name": {
                "type": "string"
              },
              "singular_slug": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              }
            },
            "required": [
              "color",
              "icon",
              "name",
              "singular_name",
              "singular_slug",
              "slug"
            ]
          }
        },
        "required": [
          "object_type"
        ]
      },
      "services_ui_api_objects_createObjectTypeResponse": {
        "type": "object",
        "properties": {
          "object_type": {
            "$ref": "#/components/schemas/services_ui_api_model_ObjectType"
          }
        },
        "required": [
          "object_type"
        ]
      },
      "services_ui_api_objects_deleteManyObjectsRequest": {
        "type": "object",
        "properties": {
          "cio_object_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/services_libraries_filters_Filter",
            "nullable": true
          },
          "with_relationships": {
            "type": "boolean",
            "description": "Unsupported for bulk deletion; true returns HTTP 400.",
            "nullable": true
          },
          "without_relationships": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_ui_api_objects_exportObjectsRequest": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "export_relationships": {
            "type": "boolean",
            "nullable": true
          },
          "exported_from": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_objects_getObjectResponse": {
        "type": "object",
        "properties": {
          "object": {
            "$ref": "#/components/schemas/services_ui_api_model_Object"
          }
        },
        "required": [
          "object"
        ]
      },
      "services_ui_api_objects_listObjectTypesResponse": {
        "type": "object",
        "properties": {
          "object_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ObjectType"
            }
          }
        },
        "required": [
          "object_types"
        ]
      },
      "services_ui_api_objects_listResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "continuation": {
                    "type": "string",
                    "nullable": true
                  },
                  "page": {
                    "type": "integer",
                    "format": "int32",
                    "nullable": true
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "message",
              "pagination"
            ]
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Object"
            }
          }
        },
        "required": [
          "meta",
          "objects"
        ]
      },
      "services_ui_api_objects_updateObjectTypeRequest": {
        "type": "object",
        "properties": {
          "object_type": {
            "type": "object",
            "properties": {
              "color": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean",
                "nullable": true
              },
              "icon": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "singular_name": {
                "type": "string"
              },
              "singular_slug": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              }
            },
            "required": [
              "color",
              "icon",
              "name",
              "singular_name",
              "singular_slug",
              "slug"
            ]
          }
        },
        "required": [
          "object_type"
        ]
      },
      "services_ui_api_objects_updateObjectTypeResponse": {
        "type": "object",
        "properties": {
          "object_type": {
            "$ref": "#/components/schemas/services_ui_api_model_ObjectType"
          }
        },
        "required": [
          "object_type"
        ]
      },
      "services_ui_api_objects_upsertObjectRequest": {
        "type": "object",
        "properties": {
          "object": {
            "type": "object",
            "properties": {
              "attributes": {
                "nullable": true
              }
            }
          }
        },
        "required": [
          "object"
        ]
      },
      "services_ui_api_onboarding_answersResponse": {
        "type": "object",
        "properties": {
          "answers": {
            "$ref": "#/components/schemas/services_domains_onboarding_OnboardingAnswers"
          }
        },
        "required": [
          "answers"
        ]
      },
      "services_ui_api_onboarding_updateRequest": {
        "type": "object",
        "properties": {
          "answers": {
            "$ref": "#/components/schemas/services_domains_onboarding_OnboardingAnswers"
          }
        },
        "required": [
          "answers"
        ]
      },
      "services_ui_api_places_AutocompleteRequest": {
        "type": "object",
        "properties": {
          "input": {
            "type": "string"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "session_token": {
            "type": "string"
          }
        },
        "required": [
          "input",
          "session_token"
        ]
      },
      "services_ui_api_places_AutocompleteResponse": {
        "type": "object",
        "properties": {
          "suggestions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_places_AutocompleteSuggestion"
            }
          }
        },
        "required": [
          "suggestions"
        ]
      },
      "services_ui_api_places_AutocompleteSuggestion": {
        "type": "object",
        "properties": {
          "main_text": {
            "type": "string",
            "nullable": true
          },
          "place_id": {
            "type": "string"
          },
          "secondary_text": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "place_id",
          "text"
        ]
      },
      "services_ui_api_places_DetailsRequest": {
        "type": "object",
        "properties": {
          "place_id": {
            "type": "string"
          },
          "session_token": {
            "type": "string"
          }
        },
        "required": [
          "place_id",
          "session_token"
        ]
      },
      "services_ui_api_places_GeocodeRequest": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "services_ui_api_places_GeocodeResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_places_GeocodeResult"
            }
          }
        },
        "required": [
          "results"
        ]
      },
      "services_ui_api_places_GeocodeResult": {
        "type": "object",
        "properties": {
          "formatted_address": {
            "type": "string"
          },
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          },
          "place_id": {
            "type": "string"
          }
        },
        "required": [
          "formatted_address",
          "latitude",
          "longitude",
          "place_id"
        ]
      },
      "services_ui_api_places_PlaceDetails": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string"
          },
          "formatted_address": {
            "type": "string"
          },
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          },
          "place_id": {
            "type": "string"
          }
        },
        "required": [
          "display_name",
          "formatted_address",
          "latitude",
          "longitude",
          "place_id"
        ]
      },
      "services_ui_api_places_mapsJSKeyResponse": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string"
          },
          "map_id": {
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "map_id"
        ]
      },
      "services_ui_api_previews_ChannelPreviewPayload": {
        "type": "object",
        "properties": {
          "body_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "content_template_variables_shortened": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariable"
            },
            "nullable": true
          },
          "custom_domain": {
            "type": "string"
          },
          "encoding": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_ChannelRenderErrors"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "num_segments": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "segment_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "short_links": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "shorten_urls": {
            "type": "boolean",
            "nullable": true
          },
          "template_body": {
            "type": "string"
          },
          "template_body_display": {
            "type": "string"
          },
          "template_type": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "track_links": {
            "type": "boolean"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "custom_domain",
          "errors",
          "links",
          "template_body",
          "template_body_display",
          "template_type",
          "to",
          "track_links"
        ]
      },
      "services_ui_api_previews_CheckLiquidPayload": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "fields"
        ]
      },
      "services_ui_api_previews_EmailPreview": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "body_amp": {
            "type": "string"
          },
          "body_plain": {
            "type": "string"
          },
          "cc": {
            "type": "string"
          },
          "editor": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_EmailRenderErrors"
          },
          "from": {
            "type": "string"
          },
          "from_address": {
            "type": "string"
          },
          "from_name": {
            "type": "string"
          },
          "from_override": {
            "type": "string",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "lax_mode": {
            "type": "boolean"
          },
          "layout": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "plaintext_body": {
            "type": "string"
          },
          "preheader_text": {
            "type": "string"
          },
          "preprocessor": {
            "type": "string"
          },
          "reply_to": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "template_engine": {
            "type": "integer",
            "format": "int32"
          },
          "to": {
            "type": "string"
          },
          "track_links": {
            "type": "boolean"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "bcc",
          "body",
          "body_amp",
          "body_plain",
          "cc",
          "editor",
          "errors",
          "from",
          "from_address",
          "from_name",
          "headers",
          "lax_mode",
          "layout",
          "links",
          "plaintext_body",
          "preheader_text",
          "preprocessor",
          "reply_to",
          "subject",
          "template_engine",
          "to",
          "track_links",
          "url_params"
        ]
      },
      "services_ui_api_previews_InAppPreview": {
        "type": "object",
        "properties": {
          "body_json": {
            "$ref": "#/components/schemas/services_gist_GistInAppPayload"
          },
          "editor": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_InAppRenderErrors"
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "body_json",
          "editor",
          "errors"
        ]
      },
      "services_ui_api_previews_InAppPreviewRequest": {
        "type": "object",
        "properties": {
          "body_html": {
            "type": "string"
          },
          "body_json": {
            "type": "string"
          },
          "editor": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_InAppRenderErrors"
          },
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity",
            "nullable": true
          },
          "ignore_expiration_in_past_err": {
            "type": "boolean"
          },
          "lax_mode": {
            "type": "boolean"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body_html",
          "body_json",
          "editor",
          "errors",
          "ignore_expiration_in_past_err",
          "lax_mode",
          "to",
          "url_params"
        ]
      },
      "services_ui_api_previews_InboxChannelPreview": {
        "type": "object",
        "properties": {
          "body_json": {
            "$ref": "#/components/schemas/services_gist_InboxMessagePayload"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_InboxMessageRenderErrors"
          }
        },
        "required": [
          "body_json",
          "errors"
        ]
      },
      "services_ui_api_previews_InboxChannelPreviewRequest": {
        "type": "object",
        "properties": {
          "body_json": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_InboxMessageRenderErrors"
          },
          "expiration": {
            "type": "string"
          },
          "identity": {
            "$ref": "#/components/schemas/services_gist_GistIdentity",
            "nullable": true
          },
          "ignore_expiration_in_past_err": {
            "type": "boolean"
          },
          "lax_mode": {
            "type": "boolean"
          },
          "properties": {
            "type": "object",
            "additionalProperties": {}
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body_json",
          "content",
          "errors",
          "expiration",
          "ignore_expiration_in_past_err",
          "lax_mode",
          "properties",
          "to",
          "url_params"
        ]
      },
      "services_ui_api_previews_LLMActionPreview": {
        "type": "object",
        "properties": {
          "llm_configuration_model_id": {
            "type": "integer",
            "format": "int32"
          },
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "result_schema": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "llm_configuration_model_id",
          "model",
          "prompt",
          "result_schema"
        ]
      },
      "services_ui_api_previews_LLMActionPreviewResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "llm_configuration_model_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "model": {
            "type": "string"
          },
          "rendered_prompt": {
            "type": "string"
          },
          "result_schema": {
            "type": "string"
          }
        },
        "required": [
          "errors",
          "model",
          "rendered_prompt",
          "result_schema"
        ]
      },
      "services_ui_api_previews_LinePreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "body_shortened": {
            "type": "string"
          },
          "custom_domain": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_LineRenderErrors"
          },
          "image_url": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "shorten_urls": {
            "type": "boolean"
          },
          "to": {
            "type": "string"
          },
          "track_links": {
            "type": "boolean"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "body_shortened",
          "custom_domain",
          "errors",
          "image_url",
          "links",
          "shorten_urls",
          "to",
          "track_links",
          "url_params"
        ]
      },
      "services_ui_api_previews_PreviewCartaContentRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          }
        },
        "required": [
          "content"
        ]
      },
      "services_ui_api_previews_PushPayload": {
        "type": "object",
        "properties": {
          "android": {
            "type": "object",
            "additionalProperties": {}
          },
          "ios": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "android",
          "ios"
        ]
      },
      "services_ui_api_previews_PushPreview": {
        "type": "object",
        "properties": {
          "android_priority": {
            "type": "string"
          },
          "android_provider": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "custom_data": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_PushRenderErrors"
          },
          "has_json": {
            "type": "boolean"
          },
          "image_url": {
            "type": "string"
          },
          "ios_priority": {
            "type": "string"
          },
          "ios_provider": {
            "type": "string"
          },
          "is_rich": {
            "type": "boolean"
          },
          "link": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "payload": {
            "$ref": "#/components/schemas/services_ui_api_previews_PushPayload"
          },
          "platform": {
            "type": "string"
          },
          "sound": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "android_priority",
          "android_provider",
          "body",
          "custom_data",
          "errors",
          "has_json",
          "image_url",
          "ios_priority",
          "ios_provider",
          "is_rich",
          "link",
          "links",
          "payload",
          "platform",
          "sound",
          "title",
          "to",
          "url_params"
        ]
      },
      "services_ui_api_previews_SlackPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_SlackRenderErrors"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "errors",
          "links",
          "to",
          "url_params"
        ]
      },
      "services_ui_api_previews_TwilioContentTemplatePreview": {
        "type": "object",
        "properties": {
          "content_sid": {
            "type": "string"
          },
          "content_template_variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariable"
            }
          },
          "content_template_variables_shortened": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariable"
            },
            "nullable": true
          },
          "custom_domain": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateRenderErrors"
          },
          "from": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "shorten_urls": {
            "type": "boolean",
            "nullable": true
          },
          "to": {
            "type": "string"
          },
          "track_links": {
            "type": "boolean"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "content_sid",
          "content_template_variables",
          "custom_domain",
          "errors",
          "from",
          "links",
          "to",
          "track_links",
          "url_params"
        ]
      },
      "services_ui_api_previews_TwilioPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "body_shortened": {
            "type": "string"
          },
          "body_size": {
            "type": "integer",
            "format": "int32"
          },
          "content_sid": {
            "type": "string"
          },
          "content_variables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_TwilioContentTemplateVariable"
            }
          },
          "custom_domain": {
            "type": "string"
          },
          "encoding": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_TwilioRenderErrors"
          },
          "from": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "invalid_gsm7_characters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "num_segments": {
            "type": "integer",
            "format": "int32"
          },
          "segment_size": {
            "type": "integer",
            "format": "int32"
          },
          "shorten_urls": {
            "type": "boolean"
          },
          "smart_encoding": {
            "type": "boolean",
            "nullable": true
          },
          "to": {
            "type": "string"
          },
          "track_links": {
            "type": "boolean"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "body_shortened",
          "body_size",
          "content_sid",
          "content_variables",
          "custom_domain",
          "encoding",
          "errors",
          "from",
          "image_url",
          "invalid_gsm7_characters",
          "links",
          "num_segments",
          "segment_size",
          "shorten_urls",
          "to",
          "track_links",
          "url_params"
        ]
      },
      "services_ui_api_previews_UrbanAirshipPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_UrbanAirshipRenderErrors"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "to": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "errors",
          "links",
          "to",
          "url_params"
        ]
      },
      "services_ui_api_previews_WebhookPreview": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_WebhookRenderErrors"
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "hostname": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkInfo"
            }
          },
          "url": {
            "type": "string"
          },
          "url_params": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "errors",
          "headers",
          "hostname",
          "links",
          "url",
          "url_params"
        ]
      },
      "services_ui_api_previews_attributePreviewRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "name"
        ]
      },
      "services_ui_api_previews_attributePreviewResponse": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "$ref": "#/components/schemas/services_ui_api_attributes_AttributeRenderErrors"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "errors",
          "name"
        ]
      },
      "services_ui_api_previews_checkLinksRequest": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "urls"
        ]
      },
      "services_ui_api_previews_checkLinksResponse": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_previews_links_LinkStatus"
            }
          }
        },
        "required": [
          "urls"
        ]
      },
      "services_ui_api_previews_createEventPreviewRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "editor": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_RenderErrors"
          },
          "name": {
            "type": "string"
          },
          "recipient": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "editor",
          "errors",
          "name",
          "recipient"
        ]
      },
      "services_ui_api_previews_createUpdatePersonRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "editor": {
            "type": "string"
          },
          "errors": {
            "$ref": "#/components/schemas/services_deliveries_RenderErrors"
          },
          "name": {
            "type": "string"
          },
          "recipient": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "body",
          "editor",
          "errors",
          "name",
          "recipient"
        ]
      },
      "services_ui_api_previews_emailPreviewRequest": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string",
            "description": "Optional BCC address template",
            "nullable": true
          },
          "body": {
            "type": "string",
            "description": "HTML body template"
          },
          "body_amp": {
            "type": "string",
            "description": "Optional AMP body template",
            "nullable": true
          },
          "body_plain": {
            "type": "string",
            "description": "Optional plaintext body template",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "description": "Optional CC address template",
            "nullable": true
          },
          "editor": {
            "type": "string",
            "description": "Editor that produced the content (e.g. parcel)",
            "nullable": true
          },
          "from": {
            "type": "string",
            "description": "Optional fully-formatted From header; overrides from_name/from_address",
            "nullable": true
          },
          "from_address": {
            "type": "string",
            "description": "Optional sender address template",
            "nullable": true
          },
          "from_name": {
            "type": "string",
            "description": "Optional sender display-name template",
            "nullable": true
          },
          "headers": {
            "type": "array",
            "description": "Custom email headers",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            },
            "nullable": true
          },
          "lax_mode": {
            "type": "boolean",
            "description": "When true, render missing variables as empty strings instead of erroring",
            "nullable": true
          },
          "layout": {
            "type": "string",
            "description": "Layout template wrapping the body (use {{content}} for the body slot)"
          },
          "preheader_text": {
            "type": "string",
            "description": "Optional preheader text",
            "nullable": true
          },
          "preprocessor": {
            "type": "string",
            "description": "Content preprocessor (e.g. none)",
            "nullable": true
          },
          "reply_to": {
            "type": "string",
            "description": "Optional reply-to address template",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "description": "Email subject template"
          },
          "template_engine": {
            "type": "integer",
            "format": "int32",
            "description": "Liquid template engine version",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Optional recipient address template",
            "nullable": true
          },
          "track_links": {
            "type": "boolean",
            "description": "When true, rewrite links with click-tracking in the preview",
            "nullable": true
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample profile/event variables used to render the preview",
            "nullable": true
          }
        },
        "required": [
          "body",
          "layout",
          "subject"
        ]
      },
      "services_ui_api_previews_emailTemplatePreviewRequest": {
        "type": "object",
        "properties": {
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "Saved email template to render, including its recipient, layout, identities, editor, and Liquid engine"
          },
          "variables": {
            "$ref": "#/components/schemas/services_ui_api_previews_emailTemplatePreviewVariables",
            "description": "Sample data for strict rendering. System variables come from the saved template. No profile is selected automatically."
          }
        },
        "required": [
          "template_id",
          "variables"
        ]
      },
      "services_ui_api_previews_emailTemplatePreviewResponse": {
        "type": "object",
        "properties": {
          "preview": {
            "$ref": "#/components/schemas/services_ui_api_previews_EmailPreview",
            "description": "Rendered fields and field-specific errors. Inspect errors even when HTTP status is 200.",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "description": "sample_render: this checks the saved template with the supplied sample only, not sending or inbox receipt"
          },
          "template_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "scope",
          "template_id"
        ]
      },
      "services_ui_api_previews_emailTemplatePreviewVariables": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "description": "Sample profile attributes; omit for journeys without a profile",
            "additionalProperties": {},
            "nullable": true
          },
          "event": {
            "type": "object",
            "description": "Sample event data",
            "additionalProperties": {},
            "nullable": true
          },
          "journey": {
            "type": "object",
            "description": "Sample journey attributes",
            "additionalProperties": {},
            "nullable": true
          },
          "objects": {
            "type": "object",
            "description": "Sample related objects",
            "additionalProperties": {},
            "nullable": true
          },
          "trigger": {
            "type": "object",
            "description": "Sample trigger data; for a webhook trigger, the original POST body without an added wrapper",
            "additionalProperties": {},
            "nullable": true
          }
        }
      },
      "services_ui_api_previews_livePreviewResponse": {
        "type": "object",
        "properties": {
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ]
      },
      "services_ui_api_previews_objectDatePreviewAudienceRequest": {
        "type": "object",
        "properties": {
          "person_filters": {},
          "relationship_filters": {},
          "type": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "person_filters",
          "relationship_filters",
          "type"
        ]
      },
      "services_ui_api_previews_objectDatePreviewObject": {
        "type": "object",
        "properties": {
          "attribute_timestamp": {
            "type": "string"
          },
          "attribute_value": {
            "type": "string"
          },
          "cio_object_id": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          }
        },
        "required": [
          "attribute_timestamp",
          "attribute_value",
          "cio_object_id",
          "identifier"
        ]
      },
      "services_ui_api_previews_objectDatePreviewPerson": {
        "type": "object",
        "properties": {
          "cio_id": {
            "type": "string"
          },
          "future_timestamp": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "next_timestamp": {
            "type": "string"
          },
          "zone": {
            "type": "string",
            "nullable": true
          },
          "zone_source": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "cio_id",
          "future_timestamp",
          "identifier",
          "next_timestamp"
        ]
      },
      "services_ui_api_previews_objectDatePreviewRequest": {
        "type": "object",
        "properties": {
          "audience": {
            "$ref": "#/components/schemas/services_ui_api_previews_objectDatePreviewAudienceRequest",
            "nullable": true
          },
          "date_triggered_attribute": {
            "type": "string"
          },
          "date_triggered_fallback_zone": {
            "type": "string"
          },
          "date_triggered_frequency": {
            "type": "string"
          },
          "date_triggered_lead_days": {
            "type": "integer",
            "format": "int32"
          },
          "date_triggered_start_time": {
            "type": "string"
          },
          "date_triggered_zone": {
            "type": "string"
          },
          "object_filters": {},
          "object_type_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "date_triggered_attribute",
          "date_triggered_fallback_zone",
          "date_triggered_frequency",
          "date_triggered_lead_days",
          "date_triggered_start_time",
          "date_triggered_zone",
          "object_filters",
          "object_type_id"
        ]
      },
      "services_ui_api_previews_objectDatePreviewResponse": {
        "type": "object",
        "properties": {
          "object": {
            "$ref": "#/components/schemas/services_ui_api_previews_objectDatePreviewObject",
            "nullable": true
          },
          "people": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_previews_objectDatePreviewPerson"
            }
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "people"
        ]
      },
      "services_ui_api_previews_previewCartaContentResponse": {
        "type": "object",
        "properties": {
          "html": {
            "type": "string"
          }
        },
        "required": [
          "html"
        ]
      },
      "services_ui_api_receipts_indexResponse": {
        "type": "object",
        "properties": {
          "receipts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Receipt"
            }
          }
        },
        "required": [
          "receipts"
        ]
      },
      "services_ui_api_receipts_invoiceResponse": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/services_ui_api_model_Invoice",
            "nullable": true
          }
        }
      },
      "services_ui_api_recents_RecentResource": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "campaign",
              "newsletter",
              "transactional",
              "segment",
              "in_app_broadcast",
              "ds_node",
              "snippet",
              "goal"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "id",
          "type",
          "updated_at"
        ]
      },
      "services_ui_api_recents_ShippedResource": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "profile_image_url": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "campaign",
              "newsletter",
              "transactional",
              "in_app_broadcast",
              "goal"
            ]
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "user_name": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "id",
          "type",
          "updated_at",
          "user_id",
          "user_name"
        ]
      },
      "services_ui_api_recommended_profiles_Branch": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variable": {
            "type": "string"
          }
        },
        "required": [
          "values",
          "variable"
        ]
      },
      "services_ui_api_recommended_profiles_Coverage": {
        "type": "object",
        "properties": {
          "branches": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "branches",
          "missing",
          "score",
          "total"
        ]
      },
      "services_ui_api_recommended_profiles_RecommendedProfile": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "coverage": {
            "$ref": "#/components/schemas/services_ui_api_recommended_profiles_Coverage"
          },
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attributes": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "id": {
                  "type": "string"
                },
                "last_status": {
                  "type": "string"
                },
                "last_used": {
                  "type": "integer"
                },
                "platform": {
                  "type": "string"
                }
              },
              "required": [
                "id"
              ]
            }
          },
          "environment_id": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "identifiers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "internal_id": {
            "type": "string"
          },
          "last_visited": {
            "type": "integer",
            "format": "int32"
          },
          "links": {
            "$ref": "#/components/schemas/services_ui_api_model_CustomerLinks"
          },
          "relationship": {
            "$ref": "#/components/schemas/services_ui_api_model_Relationship",
            "nullable": true
          },
          "send_time_predictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SendTime"
            },
            "nullable": true
          },
          "unsent_drafts": {
            "type": "boolean"
          },
          "unsubscribed": {
            "type": "boolean"
          }
        },
        "required": [
          "attributes",
          "coverage",
          "devices",
          "environment_id",
          "id",
          "identifiers",
          "internal_id",
          "last_visited",
          "links",
          "unsent_drafts",
          "unsubscribed"
        ]
      },
      "services_ui_api_recommended_profiles_Reply": {
        "type": "object",
        "properties": {
          "branches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_recommended_profiles_Branch"
            }
          },
          "profiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_recommended_profiles_RecommendedProfile"
            }
          },
          "uncovered_branches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_recommended_profiles_Branch"
            }
          },
          "variables_used": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "branches",
          "profiles",
          "uncovered_branches",
          "variables_used"
        ]
      },
      "services_ui_api_recommended_profiles_Request": {
        "type": "object",
        "properties": {
          "contents": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "services_ui_api_reporting_webhooks_webhookCreateUpdateRequest": {
        "type": "object",
        "properties": {
          "webhook": {
            "$ref": "#/components/schemas/services_ui_api_reporting_webhooks_webhookRequest"
          }
        },
        "required": [
          "webhook"
        ]
      },
      "services_ui_api_reporting_webhooks_webhookRequest": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "endpoint_url": {
            "type": "string"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "resolution": {
            "type": "boolean"
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled",
          "endpoint_url",
          "events",
          "name",
          "resolution",
          "with_content"
        ]
      },
      "services_ui_api_reporting_webhooks_webhookResponse": {
        "type": "object",
        "properties": {
          "webhook": {
            "$ref": "#/components/schemas/services_ui_api_model_ReportingWebhook",
            "nullable": true
          }
        }
      },
      "services_ui_api_reporting_webhooks_webhooksResponse": {
        "type": "object",
        "properties": {
          "webhooks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ReportingWebhook"
            }
          }
        },
        "required": [
          "webhooks"
        ]
      },
      "services_ui_api_roles_roleCreateUpdateRequest": {
        "type": "object",
        "properties": {
          "role": {
            "type": "object",
            "properties": {
              "description": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "permissions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "name",
              "permissions"
            ]
          }
        },
        "required": [
          "role"
        ]
      },
      "services_ui_api_roles_roleDefinitionsResponse": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "role_definitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_RoleDefinition"
            }
          }
        },
        "required": [
          "permissions",
          "role_definitions"
        ]
      },
      "services_ui_api_roles_roleResponse": {
        "type": "object",
        "properties": {
          "role": {
            "$ref": "#/components/schemas/services_ui_api_model_Role"
          }
        },
        "required": [
          "role"
        ]
      },
      "services_ui_api_roles_rolesResponse": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Role"
            }
          }
        },
        "required": [
          "roles"
        ]
      },
      "services_ui_api_sample_data_getSampleDataReply": {
        "type": "object",
        "properties": {
          "broadcast_triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_BroadcastTrigger"
            }
          },
          "custom_sample_data": {
            "type": "string"
          },
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "journey_attributes": {
            "type": "object",
            "additionalProperties": {}
          },
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Log"
            }
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Object"
            }
          },
          "relationships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Relationship"
            }
          },
          "template_variables": {
            "type": "object",
            "additionalProperties": {}
          },
          "tracked": {
            "type": "boolean",
            "nullable": true
          },
          "trigger_object_type_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "broadcast_triggers",
          "custom_sample_data",
          "customers",
          "journey_attributes",
          "logs",
          "objects",
          "relationships",
          "template_variables"
        ]
      },
      "services_ui_api_sample_data_updateSampleDataRequest": {
        "type": "object",
        "properties": {
          "sample_data": {
            "type": "string"
          }
        },
        "required": [
          "sample_data"
        ]
      },
      "services_ui_api_saved_rows_createSavedRowRequest": {
        "type": "object",
        "properties": {
          "saved_row": {
            "$ref": "#/components/schemas/services_ui_api_saved_rows_savedRowRequestData"
          }
        },
        "required": [
          "saved_row"
        ]
      },
      "services_ui_api_saved_rows_jwtResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          }
        },
        "required": [
          "token"
        ]
      },
      "services_ui_api_saved_rows_savedRowRequestData": {
        "type": "object",
        "properties": {
          "data": {},
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "data",
          "id"
        ]
      },
      "services_ui_api_saved_rows_savedRowResponse": {
        "type": "object",
        "properties": {
          "saved_row": {
            "$ref": "#/components/schemas/services_ui_api_model_SavedRow",
            "nullable": true
          }
        }
      },
      "services_ui_api_saved_rows_savedRowUpdateData": {
        "type": "object",
        "properties": {
          "category_id": {
            "type": "string",
            "nullable": true
          },
          "data": {},
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "id",
          "name"
        ]
      },
      "services_ui_api_saved_rows_savedRowsListResponse": {
        "type": "object",
        "properties": {
          "saved_rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SavedRow"
            }
          }
        },
        "required": [
          "saved_rows"
        ]
      },
      "services_ui_api_saved_rows_updateSavedRowRequest": {
        "type": "object",
        "properties": {
          "saved_row": {
            "$ref": "#/components/schemas/services_ui_api_saved_rows_savedRowUpdateData"
          }
        },
        "required": [
          "saved_row"
        ]
      },
      "services_ui_api_search_searchResponse": {
        "type": "object",
        "properties": {
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "order_by": {
            "type": "string",
            "nullable": true
          },
          "query": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_universal_search_SearchResult"
            }
          }
        },
        "required": [
          "limit",
          "query",
          "results"
        ]
      },
      "services_ui_api_segments_EstimateRequest": {
        "type": "object",
        "properties": {
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json"
            }
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "conditions",
          "segment_id"
        ]
      },
      "services_ui_api_segments_autoArchiveExemptRequest": {
        "type": "object",
        "properties": {
          "exempt": {
            "type": "boolean"
          },
          "segment_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "exempt",
          "segment_ids"
        ]
      },
      "services_ui_api_segments_createSegmentResponse": {
        "type": "object",
        "properties": {
          "segment": {
            "$ref": "#/components/schemas/services_ui_api_model_Segment",
            "nullable": true
          }
        }
      },
      "services_ui_api_segments_customerSegmentsResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "system": {
                "type": "string"
              }
            },
            "required": [
              "system"
            ]
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Segment"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "meta",
          "segments",
          "tags"
        ]
      },
      "services_ui_api_segments_getSegmentResponse": {
        "type": "object",
        "properties": {
          "segment": {
            "$ref": "#/components/schemas/services_ui_api_model_Segment",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_segments_getSegmentsDefaultResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "system": {
                "type": "string"
              }
            },
            "required": [
              "system"
            ]
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Segment"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "meta",
          "segments",
          "tags"
        ]
      },
      "services_ui_api_segments_getSegmentsPaginatedResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              },
              "system": {
                "type": "string"
              }
            },
            "required": [
              "pagination",
              "system"
            ]
          },
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Segment"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "meta",
          "segments",
          "tags"
        ]
      },
      "services_ui_api_segments_getSegmentsShortResponse": {
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SegmentDesc"
            }
          }
        },
        "required": [
          "segments"
        ]
      },
      "services_ui_api_segments_requestBody": {
        "type": "object",
        "properties": {
          "segment": {
            "type": "object",
            "properties": {
              "auto_archive_exempt": {
                "type": "boolean",
                "nullable": true
              },
              "conditions": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "parent_segment_id": {
                "type": "integer",
                "format": "int32",
                "nullable": true
              },
              "tag_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "type": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "name"
            ]
          }
        },
        "required": [
          "segment"
        ]
      },
      "services_ui_api_segments_reusableCondition": {
        "type": "object",
        "properties": {
          "definition": {
            "type": "object",
            "additionalProperties": {}
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "definition",
          "id",
          "type"
        ]
      },
      "services_ui_api_segments_reusableConditionsResponse": {
        "type": "object",
        "properties": {
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_segments_reusableCondition"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "size": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "total": {
                    "type": "integer",
                    "format": "int32"
                  }
                },
                "required": [
                  "page",
                  "size",
                  "total"
                ]
              }
            },
            "required": [
              "pagination"
            ]
          }
        },
        "required": [
          "conditions",
          "meta"
        ]
      },
      "services_ui_api_segments_segmentConditionStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "type": "string",
            "enum": [
              "events_queued",
              "events",
              "build_queued",
              "build",
              "finished"
            ]
          }
        },
        "required": [
          "id",
          "state"
        ]
      },
      "services_ui_api_segments_segmentIDsRequest": {
        "type": "object",
        "properties": {
          "segment_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "segment_ids"
        ]
      },
      "services_ui_api_segments_segmentMetricsResponse": {
        "type": "object",
        "properties": {
          "active_this_week_people_count": {
            "type": "integer",
            "format": "int32"
          },
          "clicked_this_week_people_count": {
            "type": "integer",
            "format": "int32"
          },
          "customer_count": {
            "type": "integer",
            "format": "int32"
          },
          "messaged_this_week_people_count": {
            "type": "integer",
            "format": "int32"
          },
          "opened_this_week_people_count": {
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "type": "string",
            "enum": [
              "events_queued",
              "events",
              "build_queued",
              "build",
              "finished"
            ]
          },
          "subscribed_count": {
            "type": "integer",
            "format": "int32"
          },
          "total_customer_count": {
            "type": "integer",
            "format": "int32"
          },
          "unsubscribed_this_week_people_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "active_this_week_people_count",
          "clicked_this_week_people_count",
          "customer_count",
          "messaged_this_week_people_count",
          "opened_this_week_people_count",
          "state",
          "subscribed_count",
          "total_customer_count",
          "unsubscribed_this_week_people_count"
        ]
      },
      "services_ui_api_segments_segmentStatusResponse": {
        "type": "object",
        "properties": {
          "backfill_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_segments_segmentConditionStatus"
            }
          },
          "current_step": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "queued": {
            "type": "integer",
            "format": "int32"
          },
          "state": {
            "type": "string",
            "enum": [
              "events_queued",
              "events",
              "build_queued",
              "build",
              "finished"
            ]
          },
          "step_progress_percent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "conditions",
          "duration",
          "queued",
          "state"
        ]
      },
      "services_ui_api_segments_staticMembershipRequest": {
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "add",
              "remove",
              "clear",
              "clear_with_changes_notification"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "services_ui_api_segments_updateSegmentResponse": {
        "type": "object",
        "properties": {
          "segment": {
            "$ref": "#/components/schemas/services_ui_api_model_Segment",
            "nullable": true
          }
        }
      },
      "services_ui_api_serve_ErrorMessage": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "detail": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "source": {
            "$ref": "#/components/schemas/services_ui_api_serve_ErrorSource",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "detail",
          "status"
        ]
      },
      "services_ui_api_serve_ErrorSource": {
        "type": "object",
        "properties": {
          "pointer": {
            "type": "string"
          }
        },
        "required": [
          "pointer"
        ]
      },
      "services_ui_api_service_accounts_createServiceAccountRequest": {
        "type": "object",
        "properties": {
          "account_type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "account_type",
          "description",
          "name"
        ]
      },
      "services_ui_api_service_accounts_createTokenRequest": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "expires_at": {
            "$ref": "#/components/schemas/Time",
            "nullable": true
          },
          "masq_permission": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "read_only": {
            "type": "boolean"
          },
          "role_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "name",
          "read_only"
        ]
      },
      "services_ui_api_service_accounts_createTokenResponse": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "hint": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "read_only": {
            "type": "boolean"
          },
          "role_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "hint",
          "id",
          "name",
          "read_only",
          "token"
        ]
      },
      "services_ui_api_service_accounts_serviceAccountResponse": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "account_type": {
            "type": "string"
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "account_id",
          "account_type",
          "created_at",
          "created_by",
          "description",
          "id",
          "name",
          "updated_at"
        ]
      },
      "services_ui_api_service_accounts_tokenResponse": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "type": "integer",
            "format": "int32"
          },
          "expires_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "hint": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "last_used_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "read_only": {
            "type": "boolean"
          },
          "revoked_at": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "role_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "created_at",
          "created_by",
          "hint",
          "id",
          "name",
          "read_only"
        ]
      },
      "services_ui_api_service_accounts_updateServiceAccountRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_settings_GeofenceSettings": {
        "type": "object",
        "properties": {
          "default_radius_unit": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_settings_PublicSettings": {
        "type": "object",
        "properties": {
          "customer_columns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "dismissed_dashboard_tabs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_settings_WorkspaceSettings": {
        "type": "object",
        "properties": {
          "auto_archive_unused_segments": {
            "$ref": "#/components/schemas/services_domains_settings_AutoArchiveSettings",
            "nullable": true
          },
          "customer_columns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "data_driven_segments_allotted": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "data_driven_segments_limit_message": {
            "type": "string",
            "nullable": true
          },
          "data_driven_segments_used": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "geofences": {
            "$ref": "#/components/schemas/services_ui_api_settings_GeofenceSettings",
            "nullable": true
          },
          "max_collection_bytes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "max_collection_size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "metrics_timezone": {
            "type": "string",
            "nullable": true
          },
          "object_type_columns": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          },
          "relationship_columns": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_setup_guide_environmentDataResponse": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "integer",
            "format": "int32"
          },
          "customers": {
            "type": "integer",
            "format": "int32"
          },
          "events": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "attributes",
          "customers",
          "events"
        ]
      },
      "services_ui_api_setup_guide_setupGuideResponse": {
        "type": "object",
        "properties": {
          "setup_guide": {
            "$ref": "#/components/schemas/services_ui_api_model_SetupGuide"
          }
        },
        "required": [
          "setup_guide"
        ]
      },
      "services_ui_api_setup_guide_updateRequest": {
        "type": "object",
        "properties": {
          "setup_guide": {
            "$ref": "#/components/schemas/services_ui_api_model_SetupGuide"
          }
        },
        "required": [
          "setup_guide"
        ]
      },
      "services_ui_api_shortcuts_requestBody": {
        "type": "object",
        "properties": {
          "profile_shortcut": {
            "type": "object",
            "properties": {
              "body": {
                "type": "string",
                "nullable": true
              },
              "headers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
                }
              },
              "name": {
                "type": "string"
              },
              "request_method": {
                "type": "string",
                "enum": [
                  "GET",
                  "POST",
                  "PUT",
                  "PATCH",
                  "DELETE"
                ]
              },
              "url": {
                "type": "string"
              },
              "webhook": {
                "type": "boolean"
              }
            },
            "required": [
              "headers",
              "name",
              "request_method",
              "url",
              "webhook"
            ]
          }
        },
        "required": [
          "profile_shortcut"
        ]
      },
      "services_ui_api_shortcuts_sendRequest": {
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string"
          }
        },
        "required": [
          "customer_id"
        ]
      },
      "services_ui_api_shortcuts_sendResponse": {
        "type": "object",
        "properties": {
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "render_errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "response_body": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "headers",
          "render_errors",
          "response_body",
          "status"
        ]
      },
      "services_ui_api_shortcuts_shortcutListResponse": {
        "type": "object",
        "properties": {
          "profile_shortcuts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Shortcut"
            }
          }
        },
        "required": [
          "profile_shortcuts"
        ]
      },
      "services_ui_api_shortcuts_shortcutResponse": {
        "type": "object",
        "properties": {
          "profile_shortcut": {
            "$ref": "#/components/schemas/services_ui_api_model_Shortcut",
            "nullable": true
          }
        }
      },
      "services_ui_api_sms_CreateSMSPhoneNumberRequest": {
        "type": "object",
        "properties": {
          "sms_phone_number": {
            "type": "object",
            "properties": {
              "phone_number": {
                "type": "string"
              }
            },
            "required": [
              "phone_number"
            ]
          }
        },
        "required": [
          "sms_phone_number"
        ]
      },
      "services_ui_api_sms_CreateSMSPhoneNumberResponse": {
        "type": "object",
        "properties": {
          "sms_phone_number": {
            "$ref": "#/components/schemas/services_domains_twilio_phone_numbers_TwilioPhoneNumber",
            "nullable": true
          }
        }
      },
      "services_ui_api_sms_GetSMSPhoneNumbersResponse": {
        "type": "object",
        "properties": {
          "sms_phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_twilio_phone_numbers_TwilioPhoneNumber"
            }
          }
        },
        "required": [
          "sms_phone_numbers"
        ]
      },
      "services_ui_api_sms_GetSMSSettingsResponse": {
        "type": "object",
        "properties": {
          "sms_settings": {
            "$ref": "#/components/schemas/services_ui_api_sms_SMSSettings"
          }
        },
        "required": [
          "sms_settings"
        ]
      },
      "services_ui_api_sms_GetSMSUsageResponse": {
        "type": "object",
        "properties": {
          "sms_usage": {
            "$ref": "#/components/schemas/services_ui_api_sms_SMSUsage"
          }
        },
        "required": [
          "sms_usage"
        ]
      },
      "services_ui_api_sms_ProfileData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_Address"
          },
          "agreed_to_terms": {
            "type": "boolean"
          },
          "business_info": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_BusinessInfo"
          },
          "representative": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_Representative"
          },
          "representative2": {
            "$ref": "#/components/schemas/services_domains_twilio_business_profiles_Representative",
            "nullable": true
          }
        },
        "required": [
          "address",
          "agreed_to_terms",
          "business_info",
          "representative"
        ]
      },
      "services_ui_api_sms_SMSBusinessProfile": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "last_error_details": {
            "type": "string",
            "nullable": true
          },
          "profile_data": {
            "$ref": "#/components/schemas/services_ui_api_sms_ProfileData"
          },
          "status": {
            "type": "string"
          },
          "twilio_address_sid": {
            "type": "string",
            "nullable": true
          },
          "twilio_business_info_end_user_sid": {
            "type": "string",
            "nullable": true
          },
          "twilio_customer_profile_sid": {
            "type": "string",
            "nullable": true
          },
          "twilio_rep1_end_user_sid": {
            "type": "string",
            "nullable": true
          },
          "twilio_rep2_end_user_sid": {
            "type": "string",
            "nullable": true
          },
          "twilio_supporting_doc_sid": {
            "type": "string",
            "nullable": true
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "created_at",
          "id",
          "profile_data",
          "status",
          "updated_at"
        ]
      },
      "services_ui_api_sms_SMSBusinessProfileRequest": {
        "type": "object",
        "properties": {
          "sms_business_profile": {
            "type": "object",
            "properties": {
              "profile_data": {
                "$ref": "#/components/schemas/services_domains_twilio_business_profiles_ProfileData"
              }
            },
            "required": [
              "profile_data"
            ]
          }
        },
        "required": [
          "sms_business_profile"
        ]
      },
      "services_ui_api_sms_SMSBusinessProfileResponse": {
        "type": "object",
        "properties": {
          "sms_business_profile": {
            "$ref": "#/components/schemas/services_ui_api_sms_SMSBusinessProfile"
          }
        },
        "required": [
          "sms_business_profile"
        ]
      },
      "services_ui_api_sms_SMSDailyUsage": {
        "type": "object",
        "properties": {
          "date": {
            "type": "integer",
            "format": "int64"
          },
          "message_credits": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "date",
          "message_credits"
        ]
      },
      "services_ui_api_sms_SMSSettings": {
        "type": "object",
        "properties": {
          "auto_tls_domain_id": {
            "type": "integer",
            "format": "int64"
          },
          "auto_tls_domain_name": {
            "type": "string"
          },
          "shorten_links": {
            "type": "boolean"
          },
          "smart_encoding": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "auto_tls_domain_id",
          "auto_tls_domain_name",
          "shorten_links"
        ]
      },
      "services_ui_api_sms_SMSUsage": {
        "type": "object",
        "properties": {
          "daily": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_sms_SMSDailyUsage"
            }
          },
          "end_date": {
            "type": "integer",
            "format": "int64"
          },
          "message_credits": {
            "type": "integer",
            "format": "int64"
          },
          "message_credits_included": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "start_date": {
            "type": "integer",
            "format": "int64"
          }
        },
        "required": [
          "daily",
          "end_date",
          "message_credits",
          "start_date"
        ]
      },
      "services_ui_api_sms_SearchSMSPhoneNumbersResponse": {
        "type": "object",
        "properties": {
          "sms_available_toll_free_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_sms_twilio_TollFreeNumber"
            }
          }
        },
        "required": [
          "sms_available_toll_free_numbers"
        ]
      },
      "services_ui_api_sms_SetupResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "services_ui_api_sms_UpdateSMSPhoneNumberRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "verificationData": {
            "$ref": "#/components/schemas/services_domains_twilio_phone_numbers_VerificationData",
            "nullable": true
          }
        }
      },
      "services_ui_api_sms_UpdateSMSPhoneNumberResponse": {
        "type": "object",
        "properties": {
          "sms_phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_twilio_phone_numbers_TwilioPhoneNumber"
            }
          }
        },
        "required": [
          "sms_phone_numbers"
        ]
      },
      "services_ui_api_sms_UpdateSMSSettingsRequest": {
        "type": "object",
        "properties": {
          "sms_settings": {
            "$ref": "#/components/schemas/services_ui_api_sms_SMSSettings"
          }
        },
        "required": [
          "sms_settings"
        ]
      },
      "services_ui_api_sms_UpdateSMSSettingsResponse": {
        "type": "object",
        "properties": {
          "sms_settings": {
            "$ref": "#/components/schemas/services_ui_api_sms_SMSSettings"
          }
        },
        "required": [
          "sms_settings"
        ]
      },
      "services_ui_api_sms_providers_cioConnectionModel": {
        "type": "object",
        "properties": {
          "credential_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "credential_id"
        ]
      },
      "services_ui_api_sms_providers_connectionModel": {
        "type": "object",
        "properties": {
          "customerio": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_cioConnectionModel",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "infobip": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_infobipConnectionModel",
            "nullable": true
          },
          "provider": {
            "type": "string"
          },
          "sinch": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_sinchConnectionModel",
            "nullable": true
          },
          "twilio": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_twilioConnectionModel",
            "nullable": true
          },
          "vonage": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_vonageConnectionModel",
            "nullable": true
          }
        },
        "required": [
          "id",
          "provider"
        ]
      },
      "services_ui_api_sms_providers_connectionResponse": {
        "type": "object",
        "properties": {
          "connection": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_connectionModel",
            "nullable": true
          }
        }
      },
      "services_ui_api_sms_providers_connectionsResponse": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_sms_providers_connectionModel"
            }
          }
        },
        "required": [
          "connections"
        ]
      },
      "services_ui_api_sms_providers_createRequest": {
        "type": "object",
        "properties": {
          "infobip": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_infobipCreateRequest",
            "nullable": true
          },
          "provider": {
            "type": "string"
          },
          "sinch": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_sinchCreateRequest",
            "nullable": true
          },
          "twilio": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_twilioCreateRequest",
            "nullable": true
          },
          "vonage": {
            "$ref": "#/components/schemas/services_ui_api_sms_providers_vonageCreateRequest",
            "nullable": true
          }
        },
        "required": [
          "provider"
        ]
      },
      "services_ui_api_sms_providers_infobipConnectionModel": {
        "type": "object",
        "properties": {
          "account_key": {
            "type": "string"
          },
          "application_id": {
            "type": "string",
            "nullable": true
          },
          "base_url": {
            "type": "string"
          },
          "entity_id": {
            "type": "string",
            "nullable": true
          },
          "inbound_webhook_url": {
            "type": "string"
          }
        },
        "required": [
          "account_key",
          "base_url",
          "inbound_webhook_url"
        ]
      },
      "services_ui_api_sms_providers_infobipCreateRequest": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string"
          },
          "application_id": {
            "type": "string",
            "nullable": true
          },
          "base_url": {
            "type": "string"
          },
          "entity_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "api_key",
          "base_url"
        ]
      },
      "services_ui_api_sms_providers_sinchConnectionModel": {
        "type": "object",
        "properties": {
          "inbound_webhook_url": {
            "type": "string"
          },
          "key_id": {
            "type": "string"
          },
          "project_id": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "inbound_webhook_url",
          "key_id",
          "project_id",
          "region"
        ]
      },
      "services_ui_api_sms_providers_sinchCreateRequest": {
        "type": "object",
        "properties": {
          "key_id": {
            "type": "string"
          },
          "key_secret": {
            "type": "string"
          },
          "project_id": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "key_id",
          "key_secret",
          "project_id",
          "region"
        ]
      },
      "services_ui_api_sms_providers_syncRequest": {
        "type": "object",
        "properties": {
          "credential_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "credential_id"
        ]
      },
      "services_ui_api_sms_providers_syncResponse": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "count"
        ]
      },
      "services_ui_api_sms_providers_twilioConnectionModel": {
        "type": "object",
        "properties": {
          "account_sid": {
            "type": "string"
          },
          "api_sid": {
            "type": "string"
          },
          "inbound_webhook_url": {
            "type": "string"
          }
        },
        "required": [
          "account_sid",
          "api_sid",
          "inbound_webhook_url"
        ]
      },
      "services_ui_api_sms_providers_twilioCreateRequest": {
        "type": "object",
        "properties": {
          "account_sid": {
            "type": "string"
          },
          "api_sid": {
            "type": "string"
          },
          "auth_token": {
            "type": "string"
          }
        },
        "required": [
          "account_sid",
          "api_sid",
          "auth_token"
        ]
      },
      "services_ui_api_sms_providers_vonageConnectionModel": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string"
          },
          "inbound_webhook_url": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "inbound_webhook_url",
          "region"
        ]
      },
      "services_ui_api_sms_providers_vonageCreateRequest": {
        "type": "object",
        "properties": {
          "api_key": {
            "type": "string"
          },
          "api_secret": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "api_secret",
          "region"
        ]
      },
      "services_ui_api_snippets_objectTypeSnippetsResponse": {
        "type": "object",
        "properties": {
          "snippets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Snippet"
            }
          }
        },
        "required": [
          "snippets"
        ]
      },
      "services_ui_api_snippets_snippetDetailResponse": {
        "type": "object",
        "properties": {
          "message_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TemplateItem"
            }
          },
          "snippet": {
            "$ref": "#/components/schemas/services_ui_api_snippets_snippetWithUsage"
          },
          "usage_loaded": {
            "type": "boolean"
          }
        },
        "required": [
          "message_items",
          "snippet",
          "usage_loaded"
        ]
      },
      "services_ui_api_snippets_snippetParams": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 150
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "services_ui_api_snippets_snippetResponse": {
        "type": "object",
        "properties": {
          "snippet": {
            "$ref": "#/components/schemas/services_ui_api_model_Snippet",
            "nullable": true
          },
          "warnings": {
            "type": "object",
            "description": "Non-blocking Liquid warnings keyed by field, e.g. an orphaned %} tag. The snippet was saved.",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_snippets_snippetUpsertRequest": {
        "type": "object",
        "properties": {
          "snippet": {
            "$ref": "#/components/schemas/services_ui_api_snippets_snippetParams"
          }
        },
        "required": [
          "snippet"
        ]
      },
      "services_ui_api_snippets_snippetUsageResponse": {
        "type": "object",
        "properties": {
          "continuation": {
            "type": "integer",
            "format": "int32"
          },
          "message_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TemplateItem"
            }
          },
          "more": {
            "type": "boolean"
          },
          "snippet": {
            "$ref": "#/components/schemas/services_ui_api_snippets_snippetUsageSummary"
          }
        },
        "required": [
          "continuation",
          "message_items",
          "more",
          "snippet"
        ]
      },
      "services_ui_api_snippets_snippetUsageSummary": {
        "type": "object",
        "properties": {
          "in_use": {
            "type": "boolean"
          },
          "message_item_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "in_use",
          "message_item_ids"
        ]
      },
      "services_ui_api_snippets_snippetWithUsage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "in_use": {
            "type": "boolean"
          },
          "message_item_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "in_use",
          "message_item_ids",
          "name",
          "updated_at",
          "value"
        ]
      },
      "services_ui_api_snippets_snippetsListMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_snippets_snippetsPagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_snippets_snippetsListResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_snippets_snippetsListMeta"
          },
          "snippets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Snippet"
            }
          }
        },
        "required": [
          "meta",
          "snippets"
        ]
      },
      "services_ui_api_snippets_snippetsPagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size",
          "total"
        ]
      },
      "services_ui_api_snowflake_query_queryRequest": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          }
        },
        "required": [
          "query"
        ]
      },
      "services_ui_api_snowflake_query_queryResponse": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "columns",
          "rows",
          "truncated"
        ]
      },
      "services_ui_api_sql_segments_createRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "refresh": {
            "type": "boolean"
          },
          "sql": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "name",
          "prompt",
          "refresh",
          "sql"
        ]
      },
      "services_ui_api_sql_segments_generateRequest": {
        "type": "object",
        "properties": {
          "preview": {
            "type": "boolean"
          },
          "prompt": {
            "type": "string"
          }
        },
        "required": [
          "preview",
          "prompt"
        ]
      },
      "services_ui_api_sql_segments_generateResponse": {
        "type": "object",
        "properties": {
          "explanation": {
            "type": "string"
          },
          "matched": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sql": {
            "type": "string"
          }
        },
        "required": [
          "explanation",
          "sql"
        ]
      },
      "services_ui_api_sql_segments_generateStartResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_sql_segments_generateStatusResponse": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/services_ui_api_sql_segments_generateResponse",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_sql_segments_listResponse": {
        "type": "object",
        "properties": {
          "segments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_sql_segments_sqlSegment"
            }
          }
        },
        "required": [
          "segments"
        ]
      },
      "services_ui_api_sql_segments_sqlSegment": {
        "type": "object",
        "properties": {
          "added": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "last_error": {
            "type": "string",
            "nullable": true
          },
          "last_refreshed_at": {
            "type": "integer",
            "format": "int32"
          },
          "matched": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "refresh_started_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "removed": {
            "type": "integer",
            "format": "int32"
          },
          "segment_id": {
            "type": "integer",
            "format": "int32"
          },
          "sql": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "added",
          "description",
          "last_refreshed_at",
          "matched",
          "name",
          "prompt",
          "removed",
          "segment_id",
          "sql",
          "status"
        ]
      },
      "services_ui_api_sql_segments_sqlSegmentResponse": {
        "type": "object",
        "properties": {
          "segment": {
            "$ref": "#/components/schemas/services_ui_api_sql_segments_sqlSegment"
          }
        },
        "required": [
          "segment"
        ]
      },
      "services_ui_api_sql_segments_updateRequest": {
        "type": "object",
        "properties": {
          "prompt": {
            "type": "string"
          },
          "sql": {
            "type": "string"
          }
        },
        "required": [
          "prompt",
          "sql"
        ]
      },
      "services_ui_api_status_healthResponse": {
        "type": "object",
        "properties": {
          "global-db": {
            "type": "boolean"
          },
          "shards": {
            "type": "object",
            "additionalProperties": {
              "type": "boolean"
            }
          }
        },
        "required": [
          "global-db",
          "shards"
        ]
      },
      "services_ui_api_subjects_subjectsResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          },
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Customer"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "continuation": {
                "type": "string"
              }
            },
            "required": [
              "continuation"
            ]
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Subject"
            }
          }
        },
        "required": [
          "actions",
          "campaigns",
          "customers",
          "meta",
          "subjects"
        ]
      },
      "services_ui_api_subscription_center_ChannelOrderReq": {
        "type": "object",
        "properties": {
          "channel_order": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "channel_order"
        ]
      },
      "services_ui_api_subscription_center_CreateLanguagesRequest": {
        "type": "object",
        "properties": {
          "subscription_languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_subscription_center_LanguageItem"
            }
          }
        },
        "required": [
          "subscription_languages"
        ]
      },
      "services_ui_api_subscription_center_CreateTopicRequest": {
        "type": "object",
        "properties": {
          "subscription_topic": {
            "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionTopicRequest"
          }
        },
        "required": [
          "subscription_topic"
        ]
      },
      "services_ui_api_subscription_center_DeleteLanguagesRequest": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "languages"
        ]
      },
      "services_ui_api_subscription_center_EnableDisableLanguagesRequest": {
        "type": "object",
        "properties": {
          "subscription_languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_subscription_center_LanguageItem"
            }
          }
        },
        "required": [
          "subscription_languages"
        ]
      },
      "services_ui_api_subscription_center_GetLanguageResponse": {
        "type": "object",
        "properties": {
          "subscription_language": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterLanguage"
          }
        },
        "required": [
          "subscription_language"
        ]
      },
      "services_ui_api_subscription_center_LanguageItem": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "id"
        ]
      },
      "services_ui_api_subscription_center_MessageListMeta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_subscription_center_MessageListPagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_subscription_center_MessageListPagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size",
          "total"
        ]
      },
      "services_ui_api_subscription_center_MessageListResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Campaign"
            }
          },
          "message_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubCenterMessageList"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_subscription_center_MessageListMeta"
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Newsletter"
            }
          }
        },
        "required": [
          "actions",
          "campaigns",
          "message_list",
          "meta",
          "newsletters"
        ]
      },
      "services_ui_api_subscription_center_MessageUpdateRequest": {
        "type": "object",
        "properties": {
          "send_to_unsubscribed": {
            "type": "boolean",
            "nullable": true
          },
          "subscription_topic_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "updates": {
            "type": "object",
            "properties": {
              "action_ids": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "campaign_ids": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              },
              "newsletter_ids": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                },
                "nullable": true
              }
            }
          }
        },
        "required": [
          "updates"
        ]
      },
      "services_ui_api_subscription_center_SubscriptionChannelRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "opt_in": {
            "type": "boolean"
          }
        },
        "required": [
          "description",
          "name",
          "opt_in"
        ]
      },
      "services_ui_api_subscription_center_SubscriptionChannelResponse": {
        "type": "object",
        "properties": {
          "subscription_channel": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionChannel",
            "nullable": true
          }
        }
      },
      "services_ui_api_subscription_center_SubscriptionChannelsResponse": {
        "type": "object",
        "properties": {
          "subscription_channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionChannel"
            }
          }
        },
        "required": [
          "subscription_channels"
        ]
      },
      "services_ui_api_subscription_center_SubscriptionPageRequest": {
        "type": "object",
        "properties": {
          "subscription_page": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionCenterPage"
          }
        },
        "required": [
          "subscription_page"
        ]
      },
      "services_ui_api_subscription_center_SubscriptionTopicRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "opt_in": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "description",
          "name"
        ]
      },
      "services_ui_api_subscription_center_SubscriptionTopicResponse": {
        "type": "object",
        "properties": {
          "subscription_topic": {
            "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic",
            "nullable": true
          }
        }
      },
      "services_ui_api_subscription_center_SubscriptionTopicsResponse": {
        "type": "object",
        "properties": {
          "subscription_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_SubscriptionTopic"
            }
          }
        },
        "required": [
          "subscription_topics"
        ]
      },
      "services_ui_api_subscription_center_TopicOrderReq": {
        "type": "object",
        "properties": {
          "topic_order": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "topic_order"
        ]
      },
      "services_ui_api_subscription_center_UpdateLanguageBody": {
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_subscription_center_UpdateLanguageChannelItem"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "subtitle": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_subscription_center_UpdateLanguageTopicItem"
            }
          }
        },
        "required": [
          "channels",
          "enabled",
          "subtitle",
          "title",
          "topics"
        ]
      },
      "services_ui_api_subscription_center_UpdateLanguageChannelItem": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "twilio",
              "urban_airship",
              "slack",
              "push",
              "in_app",
              "line",
              "inbox",
              "whatsapp",
              "sms"
            ]
          }
        },
        "required": [
          "description",
          "name",
          "type"
        ]
      },
      "services_ui_api_subscription_center_UpdateLanguageRequest": {
        "type": "object",
        "properties": {
          "subscription_language": {
            "$ref": "#/components/schemas/services_ui_api_subscription_center_UpdateLanguageBody"
          }
        },
        "required": [
          "subscription_language"
        ]
      },
      "services_ui_api_subscription_center_UpdateLanguageTopicItem": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "id",
          "name"
        ]
      },
      "services_ui_api_subscription_center_UpdateSubscriptionTopicRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "opt_in": {
            "type": "boolean"
          }
        },
        "required": [
          "description",
          "name",
          "opt_in"
        ]
      },
      "services_ui_api_subscription_center_UpdateTopicRequest": {
        "type": "object",
        "properties": {
          "subscription_topic": {
            "$ref": "#/components/schemas/services_ui_api_subscription_center_UpdateSubscriptionTopicRequest"
          }
        },
        "required": [
          "subscription_topic"
        ]
      },
      "services_ui_api_subscription_center_UpsertChannelRequest": {
        "type": "object",
        "properties": {
          "subscription_channel": {
            "$ref": "#/components/schemas/services_ui_api_subscription_center_SubscriptionChannelRequest"
          }
        },
        "required": [
          "subscription_channel"
        ]
      },
      "services_ui_api_support_signRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "reference",
          "size",
          "type"
        ]
      },
      "services_ui_api_support_signResponse": {
        "type": "object",
        "properties": {
          "gcs": {
            "$ref": "#/components/schemas/services_gcs_GCSUploadSignature",
            "nullable": true
          }
        }
      },
      "services_ui_api_support_submitCJSRequest": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "consent_to_access": {
            "type": "boolean"
          },
          "features": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "releaseDate": {
            "type": "string"
          },
          "replyTo": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "windowDimensions": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "consent_to_access",
          "features",
          "message",
          "releaseDate",
          "replyTo",
          "source",
          "url",
          "version",
          "windowDimensions"
        ]
      },
      "services_ui_api_support_submitFeedbackRequest": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "criticism": {
            "type": "string"
          },
          "praise": {
            "type": "string"
          },
          "releaseDate": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "windowDimensions": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "criticism",
          "praise",
          "replyTo",
          "url",
          "windowDimensions"
        ]
      },
      "services_ui_api_support_submitPremiumRequest": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "consent_to_access": {
            "type": "boolean"
          },
          "features": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string"
          },
          "releaseDate": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "windowDimensions": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "consent_to_access",
          "message",
          "replyTo",
          "url",
          "windowDimensions"
        ]
      },
      "services_ui_api_support_submitSalesRequest": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "consent_to_access": {
            "type": "boolean"
          },
          "features": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "releaseDate": {
            "type": "string"
          },
          "replyTo": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "windowDimensions": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "consent_to_access",
          "features",
          "message",
          "releaseDate",
          "replyTo",
          "source",
          "url",
          "version",
          "windowDimensions"
        ]
      },
      "services_ui_api_support_submitSupportRequest": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "consent_to_access": {
            "type": "boolean"
          },
          "goal": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "description": "Server-derived ticket shape. One of 'verification_reply' or 'ai_endpoint_change'. It makes the subject and tags server-derived, which means 'comment' is ignored for this kind: put the text you want on the ticket in 'goal'.",
            "nullable": true
          },
          "releaseDate": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "video": {
            "type": "string",
            "nullable": true
          },
          "windowDimensions": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "comment",
          "consent_to_access",
          "goal",
          "replyTo",
          "url",
          "windowDimensions"
        ]
      },
      "services_ui_api_support_submitUpgradesRequest": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "consent_to_access": {
            "type": "boolean"
          },
          "features": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "releaseDate": {
            "type": "string"
          },
          "replyTo": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "windowDimensions": {
            "type": "string"
          }
        },
        "required": [
          "browser",
          "consent_to_access",
          "features",
          "message",
          "releaseDate",
          "replyTo",
          "source",
          "url",
          "version",
          "windowDimensions"
        ]
      },
      "services_ui_api_suppressions_deleteRequest": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Which category to remove the addresses from. Mailgun implements no delete for \"blocks\" or \"invalid_emails\".",
            "enum": [
              "bounces",
              "spam_reports"
            ]
          },
          "emails": {
            "type": "array",
            "description": "Addresses to remove. Each must be non-empty and contain an @.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "category",
          "emails"
        ]
      },
      "services_ui_api_suppressions_indexResponse": {
        "type": "object",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/services_ui_api_suppressions_suppressionCategory"
          }
        },
        "required": [
          "category"
        ]
      },
      "services_ui_api_suppressions_suppressionCategory": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "The category these suppressions were read from.",
            "enum": [
              "blocks",
              "bounces",
              "spam_reports",
              "invalid_emails"
            ]
          },
          "suppressions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_mailgun_Suppression"
            }
          }
        },
        "required": [
          "category",
          "suppressions"
        ]
      },
      "services_ui_api_tags_tagCreateUpdateRequest": {
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/services_ui_api_tags_tagRequest"
          }
        },
        "required": [
          "tag"
        ]
      },
      "services_ui_api_tags_tagRequest": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_tags_tagResponse": {
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/services_ui_api_model_Tag",
            "nullable": true
          }
        }
      },
      "services_ui_api_tags_tagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_templates_analyzeTemplateRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "from",
          "subject"
        ]
      },
      "services_ui_api_templates_analyzeTemplateStatusResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/services_ai_content_EmailAnalysisResult",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_templates_batchGetTemplatesRequest": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "ids"
        ]
      },
      "services_ui_api_templates_batchGetTemplatesResponse": {
        "type": "object",
        "properties": {
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Layout"
            }
          },
          "templates": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          }
        },
        "required": [
          "layouts",
          "templates"
        ]
      },
      "services_ui_api_templates_createTemplateRequest": {
        "type": "object",
        "properties": {
          "template": {
            "$ref": "#/components/schemas/services_ui_api_templates_templateFields"
          }
        },
        "required": [
          "template"
        ]
      },
      "services_ui_api_templates_generateTemplateRequest": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          }
        },
        "required": [
          "description"
        ]
      },
      "services_ui_api_templates_generateTemplateStatusResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/services_ai_content_GenerateTemplateResult",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_templates_guessTheMessageRequest": {
        "type": "object",
        "properties": {
          "step": {
            "type": "string"
          },
          "workflow": {
            "type": "string"
          }
        },
        "required": [
          "step",
          "workflow"
        ]
      },
      "services_ui_api_templates_guessTheMessageStatusResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/services_ai_content_GuessTheMessageResult",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_templates_languageNodeEntry": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "template": {
            "type": "object",
            "additionalProperties": {}
          },
          "templateId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "template",
          "templateId"
        ]
      },
      "services_ui_api_templates_listTemplatesMeta": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "totals": {
            "$ref": "#/components/schemas/services_ui_api_templates_listTemplatesTotals"
          }
        },
        "required": [
          "page",
          "totals"
        ]
      },
      "services_ui_api_templates_listTemplatesResponse": {
        "type": "object",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_ActionToUI"
            }
          },
          "in_app_broadcasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_InAppBroadcast"
            }
          },
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Layout"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_templates_listTemplatesMeta"
          },
          "newsletters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Newsletter"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          },
          "transactional_messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TransactionalMessage"
            }
          }
        },
        "required": [
          "actions",
          "in_app_broadcasts",
          "layouts",
          "meta",
          "newsletters",
          "templates",
          "transactional_messages"
        ]
      },
      "services_ui_api_templates_listTemplatesTotals": {
        "type": "object",
        "properties": {
          "bee": {
            "type": "integer",
            "format": "int32"
          },
          "html": {
            "type": "integer",
            "format": "int32"
          },
          "parcel": {
            "type": "integer",
            "format": "int32"
          },
          "visual": {
            "type": "integer",
            "format": "int32"
          },
          "wysiwyg": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "bee",
          "html",
          "parcel",
          "visual",
          "wysiwyg"
        ]
      },
      "services_ui_api_templates_parentEntity": {
        "type": "object",
        "properties": {
          "actionName": {
            "type": "string"
          },
          "campaignName": {
            "type": "string"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "newsletterName": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "test": {
            "$ref": "#/components/schemas/services_ui_api_templates_test",
            "nullable": true
          },
          "transactionalMessageName": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "action",
              "newsletter",
              "transactional_message"
            ]
          }
        },
        "required": [
          "actionName",
          "campaignName",
          "id",
          "newsletterName",
          "transactionalMessageName",
          "type"
        ]
      },
      "services_ui_api_templates_templateFields": {
        "type": "object",
        "properties": {
          "app_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bcc": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "body_amp": {
            "type": "string",
            "nullable": true
          },
          "body_json": {
            "type": "string",
            "nullable": true
          },
          "body_plain": {
            "type": "string",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "editor": {
            "type": "string",
            "enum": [
              "wysiwyg",
              "html",
              "bee",
              "json",
              "simple",
              "rich",
              "visual",
              "js",
              "parcel",
              "twilio_content_template"
            ],
            "nullable": true
          },
          "fake_bcc": {
            "type": "boolean",
            "nullable": true
          },
          "from_identity_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "headers": {
            "nullable": true
          },
          "image_url": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "layout_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "newsletter_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "preheader_text": {
            "type": "string",
            "nullable": true
          },
          "preprocessor": {
            "type": "string",
            "nullable": true
          },
          "recipient": {
            "type": "string",
            "nullable": true
          },
          "recipient_environment_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reply_to_identity_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "request_method": {
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ],
            "nullable": true
          },
          "short_link_domain_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "template_engine": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "template_type": {
            "type": "string",
            "enum": [
              "email",
              "webhook",
              "twilio",
              "sms",
              "urban_airship",
              "slack",
              "push",
              "create_event",
              "attribute_update",
              "batch_update_not_configured",
              "batch_create_event",
              "batch_attribute_update",
              "in_app",
              "in_app_broadcast",
              "llm_action_prompt",
              "llm_action_result_schema",
              "line",
              "inbox",
              "whatsapp"
            ],
            "nullable": true
          },
          "test_group_id": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "weight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "whatsapp": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "services_ui_api_templates_templateVariablesResponse": {
        "type": "object",
        "properties": {
          "variables": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "variables"
        ]
      },
      "services_ui_api_templates_templateWithLayoutsResponse": {
        "type": "object",
        "properties": {
          "layouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Layout"
            }
          },
          "template": {
            "$ref": "#/components/schemas/services_ui_api_model_Template",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "layouts"
        ]
      },
      "services_ui_api_templates_templateWorkflowStartResponse": {
        "type": "object",
        "properties": {
          "run_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string"
          }
        },
        "required": [
          "run_id",
          "status",
          "workflow_id"
        ]
      },
      "services_ui_api_templates_test": {
        "type": "object",
        "properties": {
          "isWinner": {
            "type": "boolean"
          },
          "variant": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "isWinner",
          "variant"
        ]
      },
      "services_ui_api_templates_updateMeta": {
        "type": "object",
        "properties": {
          "is_update_inapp_body": {
            "type": "boolean",
            "nullable": true
          },
          "languageNodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_templates_languageNodeEntry"
            },
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "operation": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_templates_updateTemplateRequest": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_templates_updateMeta",
            "nullable": true
          },
          "template": {
            "$ref": "#/components/schemas/services_ui_api_templates_templateFields"
          }
        },
        "required": [
          "template"
        ]
      },
      "services_ui_api_tracked_link_metrics_TrackedLinkMetricResponse": {
        "type": "object",
        "properties": {
          "period": {
            "type": "string"
          },
          "tracked_link_metric_stats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_TrackedLinkMetrics"
            }
          }
        },
        "required": [
          "period",
          "tracked_link_metric_stats"
        ]
      },
      "services_ui_api_tracked_link_metrics_TrackedLinkMetrics": {
        "type": "object",
        "properties": {
          "clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "href": {
            "type": "string"
          },
          "human_clicked": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "link_id": {
            "type": "string"
          },
          "total_clicked": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "clicked",
          "href",
          "human_clicked",
          "link_id",
          "total_clicked"
        ]
      },
      "services_ui_api_tracked_link_metrics_trackedLinkMetricEnvelope": {
        "type": "object",
        "properties": {
          "tracked_link_metric": {
            "$ref": "#/components/schemas/services_ui_api_tracked_link_metrics_TrackedLinkMetricResponse"
          }
        },
        "required": [
          "tracked_link_metric"
        ]
      },
      "services_ui_api_tracked_response_metrics_MessageMetric": {
        "type": "object",
        "properties": {
          "totals": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "tracked_responses": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_tracked_response_metrics_metricsResponse": {
        "type": "object",
        "properties": {
          "tracked_response_metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/services_ui_api_tracked_response_metrics_MessageMetric"
            }
          }
        },
        "required": [
          "tracked_response_metrics"
        ]
      },
      "services_ui_api_tracking_aliasRequest": {
        "type": "object",
        "properties": {
          "anon_id": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "anon_id",
          "user_id"
        ]
      },
      "services_ui_api_tracking_trackEventAnonRequest": {
        "type": "object",
        "properties": {
          "anon_id": {
            "type": "string"
          },
          "event": {
            "type": "string"
          },
          "properties": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "anon_id",
          "event",
          "properties"
        ]
      },
      "services_ui_api_transactional_TransactionalUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "description": {
                "type": "string",
                "nullable": true
              },
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "name_and_description"
                ]
              }
            },
            "required": [
              "name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "content_source": {
                "type": "string"
              },
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "content_source"
                ]
              }
            },
            "required": [
              "content_source",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "hide_message_body": {
                "type": "boolean",
                "nullable": true
              },
              "link_tracking": {
                "type": "boolean",
                "nullable": true
              },
              "queue_drafts": {
                "type": "boolean",
                "nullable": true
              },
              "send_to_unsubscribed": {
                "type": "boolean",
                "nullable": true
              },
              "trigger_name": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "settings"
                ]
              }
            },
            "required": [
              "trigger_name",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "activate"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "type": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "channel"
                ]
              }
            },
            "required": [
              "type",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "sample_data": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "sample_data"
                ]
              }
            },
            "required": [
              "sample_data",
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "frequency_cap_id": {
                "type": "integer",
                "format": "int32"
              },
              "frequency_cap_mode": {
                "type": "string",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "frequency_cap"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          }
        ]
      },
      "services_ui_api_transactional_createTransactionalParams": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trigger_name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "name",
          "state",
          "tag_ids",
          "trigger_name",
          "type"
        ]
      },
      "services_ui_api_transactional_createTransactionalRequest": {
        "type": "object",
        "properties": {
          "transactional_message": {
            "$ref": "#/components/schemas/services_ui_api_transactional_createTransactionalParams"
          }
        },
        "required": [
          "transactional_message"
        ]
      },
      "services_ui_api_transactional_createTranslationsRequest": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          }
        },
        "required": [
          "languages"
        ]
      },
      "services_ui_api_transactional_messageCopyRequest": {
        "type": "object",
        "properties": {
          "copy_to_env": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "services_ui_api_transactional_metricResponse": {
        "type": "object",
        "properties": {
          "metric": {
            "$ref": "#/components/schemas/services_ui_api_model_Metric"
          }
        },
        "required": [
          "metric"
        ]
      },
      "services_ui_api_transactional_tagCreateResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          },
          "transactional_message": {
            "$ref": "#/components/schemas/services_ui_api_model_TransactionalMessage",
            "nullable": true
          }
        },
        "required": [
          "tags",
          "templates"
        ]
      },
      "services_ui_api_transactional_tagDeleteResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Tag"
            }
          },
          "transactional_message": {
            "$ref": "#/components/schemas/services_ui_api_model_TransactionalMessage",
            "nullable": true
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_transactional_tagParams": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "services_ui_api_transactional_tagsRequest": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_transactional_tagParams"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "services_ui_api_transactional_transactionalMessageResponse": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          },
          "transactional_message": {
            "$ref": "#/components/schemas/services_ui_api_model_TransactionalMessage",
            "nullable": true
          }
        },
        "required": [
          "templates"
        ]
      },
      "services_ui_api_transactional_transactionalMessagesResponse": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_Template"
            }
          },
          "transactional_messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_TransactionalMessage"
            }
          }
        },
        "required": [
          "templates",
          "transactional_messages"
        ]
      },
      "services_ui_api_transactional_updateRequest": {
        "type": "object",
        "properties": {
          "transactional_message": {
            "$ref": "#/components/schemas/services_ui_api_transactional_TransactionalUpdateRequest"
          }
        },
        "required": [
          "transactional_message"
        ]
      },
      "services_ui_api_twilio_content_templates_searchMeta": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_serve_ErrorMessage"
            },
            "nullable": true
          },
          "next_page": {
            "type": "string",
            "nullable": true
          },
          "next_page_token": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "services_ui_api_twilio_content_templates_searchResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_twilio_content_templates_searchMeta"
          },
          "twilio_content_templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_deliveries_clients_ContentTemplate"
            }
          }
        },
        "required": [
          "meta",
          "twilio_content_templates"
        ]
      },
      "services_ui_api_url_params_updateURLParamsRequest": {
        "type": "object",
        "properties": {
          "url_params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_URLParam"
            }
          }
        },
        "required": [
          "url_params"
        ]
      },
      "services_ui_api_url_params_urlParamsResponse": {
        "type": "object",
        "properties": {
          "url_params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_URLParam"
            }
          }
        },
        "required": [
          "url_params"
        ]
      },
      "services_ui_api_users_IndexAllResponse": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_users_SimpleUser"
            }
          }
        },
        "required": [
          "users"
        ]
      },
      "services_ui_api_users_IndexResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "$ref": "#/components/schemas/services_ui_api_users_Meta"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_User"
            }
          }
        },
        "required": [
          "meta",
          "users"
        ]
      },
      "services_ui_api_users_MergeGoogleIdentitiesAccountGrant": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "format": "int32"
          },
          "account_name": {
            "type": "string",
            "nullable": true
          },
          "already_member": {
            "type": "boolean"
          },
          "data_center": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string"
          },
          "strands_account": {
            "type": "boolean",
            "nullable": true
          },
          "workspace_role_ids": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "required": [
          "account_id",
          "already_member",
          "role"
        ]
      },
      "services_ui_api_users_MergeGoogleIdentitiesDuplicate": {
        "type": "object",
        "properties": {
          "data_center": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "grants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_users_MergeGoogleIdentitiesAccountGrant"
            }
          },
          "home_account_id": {
            "type": "integer",
            "format": "int32"
          },
          "home_account_name": {
            "type": "string",
            "nullable": true
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "email",
          "grants",
          "home_account_id",
          "user_id"
        ]
      },
      "services_ui_api_users_MergeGoogleIdentitiesRequest": {
        "type": "object",
        "properties": {
          "duplicate_user_ids": {
            "type": "array",
            "description": "Optional allowlist of duplicate user IDs to merge; must be among your Google-identity matches. Empty means all matches.",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_users_MergeGoogleIdentitiesResponse": {
        "type": "object",
        "properties": {
          "duplicates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_users_MergeGoogleIdentitiesDuplicate"
            }
          },
          "google_email": {
            "type": "string"
          },
          "google_subject": {
            "type": "string",
            "nullable": true
          },
          "keeper_user_id": {
            "type": "integer",
            "format": "int32"
          },
          "stranded_account_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "required": [
          "duplicates",
          "google_email",
          "keeper_user_id"
        ]
      },
      "services_ui_api_users_Meta": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/services_ui_api_users_Pagination"
          }
        },
        "required": [
          "pagination"
        ]
      },
      "services_ui_api_users_Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "page",
          "size",
          "total"
        ]
      },
      "services_ui_api_users_PermissionsModel": {
        "type": "object",
        "properties": {
          "account_permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          },
          "workspace_permissions": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        },
        "required": [
          "account_permissions",
          "user_id",
          "workspace_permissions"
        ]
      },
      "services_ui_api_users_SimpleUser": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "updated_at": {
            "type": "integer",
            "format": "int64"
          },
          "user_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "created_at",
          "deleted",
          "email",
          "first_name",
          "last_name",
          "updated_at",
          "user_id"
        ]
      },
      "services_ui_api_users_UserWorkspaceRole": {
        "type": "object",
        "properties": {
          "role_id": {
            "type": "integer",
            "format": "int32"
          },
          "role_name": {
            "type": "string"
          },
          "workspace_id": {
            "type": "integer",
            "format": "int32"
          },
          "workspace_name": {
            "type": "string"
          }
        },
        "required": [
          "role_id",
          "role_name",
          "workspace_id",
          "workspace_name"
        ]
      },
      "services_ui_api_users_backupCodesResponse": {
        "type": "object",
        "properties": {
          "codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "codes"
        ]
      },
      "services_ui_api_users_destroyRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          }
        },
        "required": [
          "code"
        ]
      },
      "services_ui_api_users_requestBody": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "accessible_environment_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "account_permissions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "email": {
                "type": "string"
              },
              "env_roles": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "first_name": {
                "type": "string"
              },
              "invite_environment_id": {
                "type": "string",
                "nullable": true
              },
              "invite_type": {
                "type": "string",
                "nullable": true
              },
              "last_environment_id": {
                "type": "string",
                "nullable": true
              },
              "last_name": {
                "type": "string"
              },
              "update_type": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "accessible_environment_ids",
              "account_permissions",
              "email",
              "env_roles",
              "first_name",
              "last_name"
            ]
          }
        },
        "required": [
          "user"
        ]
      },
      "services_ui_api_users_settingsResponse": {
        "type": "object",
        "properties": {
          "campaigns_page": {
            "type": "object",
            "properties": {
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "is_columns_updated": {
                "type": "boolean"
              },
              "preset_range": {
                "type": "string"
              },
              "sort": {
                "type": "string"
              }
            },
            "required": [
              "columns",
              "is_columns_updated",
              "preset_range",
              "sort"
            ]
          },
          "delivery": {
            "type": "object",
            "properties": {
              "channels": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "channels"
            ]
          },
          "objects_page": {
            "type": "object",
            "properties": {
              "objectTypeColumns": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "required": [
              "objectTypeColumns"
            ]
          },
          "people_page": {
            "type": "object",
            "properties": {
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "columns"
            ]
          },
          "performance": {
            "type": "object",
            "properties": {
              "channels": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "channels"
            ]
          },
          "segment_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        },
        "required": [
          "campaigns_page",
          "delivery",
          "objects_page",
          "people_page",
          "performance",
          "segment_ids"
        ]
      },
      "services_ui_api_users_setupRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "secret"
        ]
      },
      "services_ui_api_users_subscribeWeeklyRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "environment_id"
        ]
      },
      "services_ui_api_users_twoFactorSecretResponse": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string"
          }
        },
        "required": [
          "secret"
        ]
      },
      "services_ui_api_users_unsubscribeWeeklyRequest": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "integer",
            "format": "int32"
          },
          "environment_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "required": [
          "campaign_id",
          "environment_id"
        ]
      },
      "services_ui_api_users_updateSettingsRequest": {
        "type": "object",
        "properties": {
          "campaigns_page": {
            "type": "object",
            "properties": {
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              },
              "preset_range": {
                "type": "string",
                "nullable": true
              },
              "sort": {
                "type": "string",
                "nullable": true
              }
            },
            "nullable": true
          },
          "delivery": {
            "type": "object",
            "properties": {
              "channels": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              }
            },
            "nullable": true
          },
          "objects_page": {
            "type": "object",
            "properties": {
              "objectTypeColumns": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "nullable": true
              }
            },
            "nullable": true
          },
          "people_page": {
            "type": "object",
            "properties": {
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              }
            },
            "nullable": true
          },
          "performance": {
            "type": "object",
            "properties": {
              "channels": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              }
            },
            "nullable": true
          },
          "segment_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        }
      },
      "services_ui_api_users_updateUserSettingsRequest": {
        "type": "object",
        "properties": {
          "side_nav_preferences": {
            "$ref": "#/components/schemas/services_domains_users_SideNavPreferences",
            "nullable": true
          },
          "theme_preferences": {
            "$ref": "#/components/schemas/services_domains_users_ThemePreferences",
            "nullable": true
          }
        }
      },
      "services_ui_api_users_uploadProfileImageForm": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary",
            "description": "The image to use as the profile picture. Must be a JPEG, PNG, GIF, or WebP no larger than 2MB."
          }
        },
        "required": [
          "file"
        ]
      },
      "services_ui_api_users_userResponse": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/services_ui_api_model_User",
            "description": "The user record as it stands after the request.",
            "nullable": true
          }
        }
      },
      "services_ui_api_users_userRolesMapResponse": {
        "type": "object",
        "properties": {
          "user_id_roles": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/services_ui_api_users_UserWorkspaceRole"
              }
            }
          }
        },
        "required": [
          "user_id_roles"
        ]
      },
      "services_ui_api_users_userRolesResponse": {
        "type": "object",
        "properties": {
          "user_roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_users_UserWorkspaceRole"
            }
          }
        },
        "required": [
          "user_roles"
        ]
      },
      "services_ui_api_users_userSettingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_ui_api_model_UserSettings",
            "nullable": true
          }
        }
      },
      "services_ui_api_verify_LLMActionVerify": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "nullable": true
          },
          "llm_configuration_model_id": {
            "type": "integer",
            "format": "int32"
          },
          "model": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "result_schema": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          }
        },
        "required": [
          "llm_configuration_model_id",
          "model",
          "prompt",
          "result_schema"
        ]
      },
      "services_ui_api_verify_LLMActionVerifyResponse": {
        "type": "object",
        "properties": {
          "cache_creation_input_tokens": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cache_read_input_tokens": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "credits_used": {
            "type": "number",
            "format": "double"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "input_tokens": {
            "type": "integer",
            "format": "int32"
          },
          "llm_configuration_model_name": {
            "type": "string",
            "nullable": true
          },
          "llm_response": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "loop_trace": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ai_llm_action_LoopTraceTurn"
            },
            "nullable": true
          },
          "model_name": {
            "type": "string"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int32"
          },
          "rendered_prompt": {
            "type": "string"
          },
          "tokens_used": {
            "type": "integer",
            "format": "int32"
          },
          "tool_calls": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "turns": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "credits_used",
          "errors",
          "input_tokens",
          "model_name",
          "output_tokens",
          "rendered_prompt",
          "tokens_used"
        ]
      },
      "services_ui_api_verify_emailTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "campaign_type": {
            "type": "string",
            "description": "Campaign type used for SMTP routing, e.g. transactional, newsletter, transactional_message. Defaults from the template's owning campaign context when resolvable.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.* (e.g. for transactional templates).",
            "nullable": true
          },
          "node_id": {
            "type": "string",
            "description": "Design Studio email to test-send, by its node UUID (the id from the Design Studio emails API). The email's current content is rendered server-side and sent — it does not need to be linked or published. Cannot be combined with template_id or action_id.",
            "nullable": true
          },
          "prepend_test": {
            "type": "boolean",
            "description": "Prepend [TEST] to the rendered subject.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored email template to test-send. Campaign actions, newsletter variants, and transactional messages all expose their template_id. One of template_id, action_id or node_id is required.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Recipient email address(es), comma separated. Defaults to the authenticated user's own address.",
            "nullable": true
          },
          "tracked": {
            "type": "boolean",
            "description": "Inject an open-tracking pixel into the test email.",
            "nullable": true
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        }
      },
      "services_ui_api_verify_emailTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "The rendered test was accepted for delivery. Acceptance is not proof of delivery."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when no profile data was available and missing variables rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "description": "Rendered subject line."
          },
          "to": {
            "type": "string",
            "description": "Recipient(s) the test was sent to."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "lax_render",
          "subject",
          "to"
        ]
      },
      "services_ui_api_verify_emailTestDocRequest": {
        "type": "object",
        "properties": {
          "bcc": {
            "type": "string",
            "description": "Optional BCC address(es) — Premium and Enterprise plans only",
            "nullable": true
          },
          "body": {
            "type": "string",
            "description": "Rendered HTML body (liquid is NOT evaluated by this endpoint)"
          },
          "body_amp": {
            "type": "string",
            "description": "Optional AMP body",
            "nullable": true
          },
          "body_plain": {
            "type": "string",
            "description": "Optional plaintext body",
            "nullable": true
          },
          "campaign_type": {
            "type": "string",
            "description": "Campaign type used for SMTP routing, e.g. transactional, newsletter",
            "nullable": true
          },
          "cc": {
            "type": "string",
            "description": "Optional CC address(es) — Premium and Enterprise plans only",
            "nullable": true
          },
          "editor": {
            "type": "string",
            "description": "Editor that produced the content (e.g. parcel)",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Event payload; attachments are extracted from it",
            "nullable": true
          },
          "from": {
            "type": "string",
            "description": "Sender, either a bare address or 'Name \u003caddress\u003e'. The domain must be configured for the workspace. May be empty only when campaign_type is transactional_message, which sets its From in the API call; the workspace's first verified sender identity is used instead."
          },
          "headers": {
            "type": "array",
            "description": "Custom email headers",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            },
            "nullable": true
          },
          "preheader_text": {
            "type": "string",
            "description": "Optional preheader text injected into the body",
            "nullable": true
          },
          "prepend_test": {
            "type": "boolean",
            "description": "Prepend [TEST] to the subject",
            "nullable": true
          },
          "reply_to": {
            "type": "string",
            "description": "Optional reply-to address",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "description": "Rendered subject line (liquid is NOT evaluated by this endpoint)"
          },
          "to": {
            "type": "string",
            "description": "Recipient email address(es), comma separated"
          },
          "tracked": {
            "type": "boolean",
            "description": "Inject an open-tracking pixel",
            "nullable": true
          }
        },
        "required": [
          "body",
          "from",
          "subject",
          "to"
        ]
      },
      "services_ui_api_verify_gistQueueReply": {
        "type": "object",
        "properties": {
          "queue_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "queue_id",
          "status"
        ]
      },
      "services_ui_api_verify_gistTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "The message was queued for delivery to the profile's SDK session."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile the test was sent to; its data rendered the liquid."
          },
          "queue_id": {
            "type": "string",
            "description": "Queue id of the test message.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "HTTP status returned by the queue."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "lax_render",
          "profile_id",
          "status"
        ]
      },
      "services_ui_api_verify_inAppRequest": {
        "type": "object",
        "properties": {
          "body_json": {
            "$ref": "#/components/schemas/services_gist_GistInAppPayload",
            "nullable": true
          },
          "editor": {
            "type": "string"
          },
          "sub_type": {
            "type": "string"
          }
        },
        "required": [
          "editor",
          "sub_type"
        ]
      },
      "services_ui_api_verify_inAppTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile that receives the test (internal cio id or external identifier). Required: an in-app message can only appear on an identified profile's SDK session, and its data renders the liquid. Requires the People View permission."
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored in-app template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the recipient profile's attributes (overlay wins per key), for exercising template branches the profile's data doesn't cover. Affects the render only — the recipient identity always comes from customer_id.",
            "nullable": true
          }
        },
        "required": [
          "customer_id"
        ]
      },
      "services_ui_api_verify_inboxRequest": {
        "type": "object",
        "properties": {
          "body_json": {
            "$ref": "#/components/schemas/services_gist_InboxMessagePayload",
            "nullable": true
          }
        }
      },
      "services_ui_api_verify_inboxTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile whose inbox receives the test (internal cio id or external identifier). Required: an inbox message can only appear in an identified profile's inbox, and its data renders the liquid. Requires the People View permission."
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored inbox template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the recipient profile's attributes (overlay wins per key), for exercising template branches the profile's data doesn't cover. Affects the render only — the recipient identity always comes from customer_id.",
            "nullable": true
          }
        },
        "required": [
          "customer_id"
        ]
      },
      "services_ui_api_verify_lineRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "image_url",
          "to"
        ]
      },
      "services_ui_api_verify_lineTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored LINE template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "LINE user id to send the test to, e.g. U01234abcdef. Required: LINE has no per-user default recipient."
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        },
        "required": [
          "to"
        ]
      },
      "services_ui_api_verify_lineTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "LINE accepted the rendered test message."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "HTTP status returned by the LINE Messaging API."
          },
          "to": {
            "type": "string",
            "description": "LINE user id the test was sent to."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "lax_render",
          "status",
          "to"
        ]
      },
      "services_ui_api_verify_linkDomainRequest": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "link_domain": {
            "type": "string"
          }
        },
        "required": [
          "domain",
          "link_domain"
        ]
      },
      "services_ui_api_verify_linkDomainResponse": {
        "type": "object",
        "properties": {
          "http": {
            "type": "boolean"
          },
          "https": {
            "type": "boolean"
          }
        },
        "required": [
          "http",
          "https"
        ]
      },
      "services_ui_api_verify_messageChannelRequest": {
        "type": "object",
        "properties": {
          "sender_identity_id": {
            "type": "string"
          },
          "template_body": {
            "type": "string"
          },
          "template_type": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "sender_identity_id",
          "template_body",
          "template_type",
          "to"
        ]
      },
      "services_ui_api_verify_messageChannelTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored WhatsApp or SMS template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Phone number to send the test to, in E.164 form, e.g. +15125551234. Required: a message channel has no per-user default recipient."
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        },
        "required": [
          "to"
        ]
      },
      "services_ui_api_verify_messageChannelTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "The channel accepted the rendered test message."
          },
          "from": {
            "type": "string",
            "description": "Workspace sender the test was sent from, resolved from the template's sender identity."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "template_type": {
            "type": "string",
            "description": "Stored template type the test was sent as: whatsapp, sms, or twilio for a Twilio content template."
          },
          "to": {
            "type": "string",
            "description": "Phone number the test was sent to."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "from",
          "lax_render",
          "template_type",
          "to"
        ]
      },
      "services_ui_api_verify_pushRequest": {
        "type": "object",
        "properties": {
          "android_priority": {
            "type": "string"
          },
          "app_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "body": {
            "type": "string"
          },
          "credentials": {
            "type": "string"
          },
          "custom_data": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "ios_priority": {
            "type": "string"
          },
          "is_rich": {
            "type": "boolean"
          },
          "link": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "sandbox": {
            "type": "boolean"
          },
          "sound": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "use_json": {
            "type": "boolean"
          }
        },
        "required": [
          "android_priority",
          "body",
          "credentials",
          "custom_data",
          "image_url",
          "ios_priority",
          "is_rich",
          "link",
          "platform",
          "provider",
          "sandbox",
          "sound",
          "title",
          "to",
          "use_json"
        ]
      },
      "services_ui_api_verify_pushTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "platform": {
            "type": "string",
            "description": "Platform of the device: ios or android. Required — it selects the payload half of a JSON-editor template and the default provider."
          },
          "provider": {
            "type": "string",
            "description": "Push provider to send through: fcm or apns. Defaults from the platform (ios: apns, android: fcm); pass it only when the device's provider differs, e.g. an iOS device registered through Firebase. Ignored when the template names an app, whose stored credential decides the provider.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored push template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Device token to send the test to. Required: a push has no per-user default recipient. Profiles list their devices' tokens."
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        },
        "required": [
          "platform",
          "to"
        ]
      },
      "services_ui_api_verify_pushTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "The push provider accepted the rendered test message."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "platform": {
            "type": "string",
            "description": "Platform the test was built for."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "HTTP status returned by the push provider."
          },
          "to": {
            "type": "string",
            "description": "Device token the test was sent to."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "lax_render",
          "platform",
          "status",
          "to"
        ]
      },
      "services_ui_api_verify_reportingWebhookRequest": {
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "signing_key": {
            "type": "string"
          },
          "with_content": {
            "type": "boolean"
          }
        },
        "required": [
          "endpoint",
          "signing_key",
          "with_content"
        ]
      },
      "services_ui_api_verify_slackRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "to"
        ]
      },
      "services_ui_api_verify_slackTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored Slack template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Slack channel or user to post the test to, e.g. #alerts or U01234ABCD. Required: Slack has no per-user default recipient."
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        },
        "required": [
          "to"
        ]
      },
      "services_ui_api_verify_slackTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "Slack accepted the rendered test message."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "HTTP status returned by the Slack API."
          },
          "to": {
            "type": "string",
            "description": "Channel or user the test was posted to."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "lax_render",
          "status",
          "to"
        ]
      },
      "services_ui_api_verify_smtpTestRequest": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          },
          "authentication": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "use_api": {
            "type": "boolean"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "authentication",
          "password",
          "port",
          "use_api",
          "username"
        ]
      },
      "services_ui_api_verify_statusErrorsResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "errors",
          "status"
        ]
      },
      "services_ui_api_verify_timeZoneMatchRequest": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "string"
          }
        },
        "required": [
          "customer"
        ]
      },
      "services_ui_api_verify_timeZoneMatchResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "error",
          "id",
          "timezone"
        ]
      },
      "services_ui_api_verify_twilioRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "content_sid": {
            "type": "string"
          },
          "content_variables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "custom_domain": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "shorten_urls": {
            "type": "boolean"
          },
          "to": {
            "type": "string"
          },
          "whatsapp": {
            "type": "boolean"
          }
        },
        "required": [
          "body",
          "content_sid",
          "content_variables",
          "custom_domain",
          "from",
          "image_url",
          "shorten_urls",
          "to",
          "whatsapp"
        ]
      },
      "services_ui_api_verify_twilioResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "services_ui_api_verify_twilioTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored SMS template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Phone number to send the test to, in E.164 form, e.g. +15125551234. Required: an SMS has no per-user default recipient."
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        },
        "required": [
          "to"
        ]
      },
      "services_ui_api_verify_twilioTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "Twilio accepted the rendered test message."
          },
          "from": {
            "type": "string",
            "description": "Workspace sender the test was sent from, resolved from the template's sender identity."
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "to": {
            "type": "string",
            "description": "Phone number the test was sent to."
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "from",
          "lax_render",
          "to"
        ]
      },
      "services_ui_api_verify_twilioTestRequest": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "password",
          "username"
        ]
      },
      "services_ui_api_verify_urbanAirshipRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "to"
        ]
      },
      "services_ui_api_verify_urbanAirshipTestRequest": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "password",
          "username"
        ]
      },
      "services_ui_api_verify_verifyLLMStartResponse": {
        "type": "object",
        "properties": {
          "rendered_prompt": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/services_ui_api_verify_LLMActionVerifyResponse",
            "nullable": true
          },
          "run_id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "workflow_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_verify_verifyLLMStatusResponse": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/services_ui_api_verify_LLMActionVerifyResponse",
            "nullable": true
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "services_ui_api_verify_webhookRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "customer_response_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "journey_response_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "request_method": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "nullable": true
          },
          "webhook_config_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "required": [
          "body",
          "customer_response_attributes",
          "headers",
          "journey_response_attributes",
          "request_method",
          "url"
        ]
      },
      "services_ui_api_verify_webhookResponse": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "customer_render_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "customer_render_attributes_errors": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "headers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_domains_templates_RequestHeader"
            }
          },
          "journey_render_attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "journey_render_attributes_errors": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "customer_render_attributes",
          "customer_render_attributes_errors",
          "errors",
          "headers",
          "journey_render_attributes",
          "journey_render_attributes_errors",
          "status"
        ]
      },
      "services_ui_api_verify_webhookTemplateTestRequest": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "integer",
            "format": "int32",
            "description": "Campaign action to test-send instead of naming its template directly. When both are given they must reference the same template. The campaign/message context is resolved server-side from the template's owner either way.",
            "nullable": true
          },
          "customer_id": {
            "type": "string",
            "description": "Profile to render sample data from (internal cio id or external identifier). When omitted, the workspace profile with the best liquid coverage for the template is chosen automatically.",
            "nullable": true
          },
          "event_data": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample event payload made available to liquid as event.* and trigger.*.",
            "nullable": true
          },
          "template_id": {
            "type": "integer",
            "format": "int32",
            "description": "The stored webhook template to test-send. Campaign actions expose their template_id. One of template_id or action_id is required.",
            "nullable": true
          },
          "variables": {
            "$ref": "#/components/schemas/github_com_bitly_go-simplejson_Json",
            "description": "Sample-data overlay. Only variables.customer is accepted: a JSON object of attribute values merged over the sample profile's attributes (overlay wins per key), for exercising template branches no real profile covers. Requires the People View permission.",
            "nullable": true
          }
        }
      },
      "services_ui_api_verify_webhookTemplateTestResponse": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "The request was sent and drew a response; false when it could not be delivered (see errors)."
          },
          "body": {
            "type": "string",
            "description": "Response body returned by the webhook destination (truncated to the workspace's response-size limit).",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "description": "Delivery errors, e.g. the destination could not be reached.",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "lax_render": {
            "type": "boolean",
            "description": "True when the render could not supply every referenced variable and missing ones rendered as empty strings."
          },
          "profile_id": {
            "type": "string",
            "description": "Profile whose data was used to render liquid, when one was used.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "HTTP status returned by the webhook destination.",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "description": "Non-fatal rendering caveats, e.g. template branches no sample profile could exercise.",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "accepted",
          "lax_render"
        ]
      },
      "services_ui_api_warehouse_AzureStorage": {
        "type": "object",
        "properties": {
          "bucket_path": {
            "type": "string"
          },
          "container_sas_url": {
            "type": "string"
          }
        },
        "required": [
          "bucket_path",
          "container_sas_url"
        ]
      },
      "services_ui_api_warehouse_GCSStorage": {
        "type": "object",
        "properties": {
          "bucket_name": {
            "type": "string"
          },
          "bucket_path": {
            "type": "string"
          },
          "credentials": {
            "type": "string"
          }
        },
        "required": [
          "bucket_name",
          "bucket_path",
          "credentials"
        ]
      },
      "services_ui_api_warehouse_S3Storage": {
        "type": "object",
        "properties": {
          "access_key": {
            "type": "string"
          },
          "bucket_name": {
            "type": "string"
          },
          "bucket_path": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "secret_key": {
            "type": "string"
          }
        },
        "required": [
          "access_key",
          "bucket_name",
          "bucket_path",
          "region",
          "secret_key"
        ]
      },
      "services_ui_api_warehouse_WarehouseUpdateRequest": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "boolean",
                "nullable": true
              },
              "broadcasts": {
                "type": "boolean",
                "nullable": true
              },
              "campaigns": {
                "type": "boolean",
                "nullable": true
              },
              "contents": {
                "type": "boolean",
                "nullable": true
              },
              "deliveries": {
                "type": "boolean",
                "nullable": true
              },
              "events": {
                "type": "boolean",
                "nullable": true
              },
              "inbound": {
                "type": "boolean",
                "nullable": true
              },
              "metrics": {
                "type": "boolean",
                "nullable": true
              },
              "object_attributes": {
                "type": "boolean",
                "nullable": true
              },
              "objects": {
                "type": "boolean",
                "nullable": true
              },
              "outputs": {
                "type": "boolean",
                "nullable": true
              },
              "people": {
                "type": "boolean",
                "nullable": true
              },
              "subjects": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "settings"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "boolean",
                "nullable": true
              },
              "contents": {
                "type": "boolean",
                "nullable": true
              },
              "outputs": {
                "type": "boolean",
                "nullable": true
              },
              "s3_config": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_S3Storage",
                "nullable": true
              },
              "subjects": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "s3_config"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "boolean",
                "nullable": true
              },
              "contents": {
                "type": "boolean",
                "nullable": true
              },
              "gcs_config": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_GCSStorage",
                "nullable": true
              },
              "outputs": {
                "type": "boolean",
                "nullable": true
              },
              "subjects": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "gcs_config"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "boolean",
                "nullable": true
              },
              "contents": {
                "type": "boolean",
                "nullable": true
              },
              "outputs": {
                "type": "boolean",
                "nullable": true
              },
              "subjects": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "yandex_config"
                ]
              },
              "yandex_config": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_YandexStorage",
                "nullable": true
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "boolean",
                "nullable": true
              },
              "azure_config": {
                "$ref": "#/components/schemas/services_ui_api_warehouse_AzureStorage",
                "nullable": true
              },
              "contents": {
                "type": "boolean",
                "nullable": true
              },
              "outputs": {
                "type": "boolean",
                "nullable": true
              },
              "subjects": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "azure_config"
                ]
              }
            },
            "required": [
              "update_type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "attributes": {
                "type": "boolean",
                "nullable": true
              },
              "contents": {
                "type": "boolean",
                "nullable": true
              },
              "outputs": {
                "type": "boolean",
                "nullable": true
              },
              "subjects": {
                "type": "boolean",
                "nullable": true
              },
              "update_type": {
                "type": "string",
                "enum": [
                  "schema_version"
                ]
              },
              "version": {
                "type": "integer",
                "format": "int32"
              }
            },
            "required": [
              "update_type",
              "version"
            ]
          }
        ]
      },
      "services_ui_api_warehouse_YandexStorage": {
        "type": "object",
        "properties": {
          "access_key": {
            "type": "string"
          },
          "bucket_name": {
            "type": "string"
          },
          "bucket_path": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "secret_key": {
            "type": "string"
          }
        },
        "required": [
          "access_key",
          "bucket_name",
          "bucket_path",
          "region",
          "secret_key"
        ]
      },
      "services_ui_api_warehouse_createRequest": {
        "type": "object",
        "properties": {
          "warehouse_sync": {
            "$ref": "#/components/schemas/services_ui_api_warehouse_createRequestSync"
          }
        },
        "required": [
          "warehouse_sync"
        ]
      },
      "services_ui_api_warehouse_createRequestSync": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "boolean"
          },
          "azure_config": {
            "$ref": "#/components/schemas/services_ui_api_warehouse_AzureStorage",
            "nullable": true
          },
          "broadcasts": {
            "type": "boolean"
          },
          "campaigns": {
            "type": "boolean"
          },
          "contents": {
            "type": "boolean"
          },
          "created_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "deliveries": {
            "type": "boolean"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "events": {
            "type": "boolean"
          },
          "export_files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_WarehouseExportFile"
            },
            "nullable": true
          },
          "gcs_config": {
            "$ref": "#/components/schemas/services_ui_api_warehouse_GCSStorage",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "inbound": {
            "type": "boolean"
          },
          "metrics": {
            "type": "boolean"
          },
          "object_attributes": {
            "type": "boolean"
          },
          "objects": {
            "type": "boolean"
          },
          "outputs": {
            "type": "boolean"
          },
          "people": {
            "type": "boolean"
          },
          "people_last_updated_at": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "s3_config": {
            "$ref": "#/components/schemas/services_ui_api_warehouse_S3Storage",
            "nullable": true
          },
          "subjects": {
            "type": "boolean"
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "yandex_config": {
            "$ref": "#/components/schemas/services_ui_api_warehouse_YandexStorage",
            "nullable": true
          }
        },
        "required": [
          "attributes",
          "broadcasts",
          "campaigns",
          "contents",
          "deliveries",
          "events",
          "inbound",
          "metrics",
          "object_attributes",
          "objects",
          "outputs",
          "people",
          "subjects"
        ]
      },
      "services_ui_api_warehouse_updateRequest": {
        "type": "object",
        "properties": {
          "warehouse_sync": {
            "$ref": "#/components/schemas/services_ui_api_warehouse_WarehouseUpdateRequest"
          }
        },
        "required": [
          "warehouse_sync"
        ]
      },
      "services_ui_api_warehouse_warehouseSyncResponse": {
        "type": "object",
        "properties": {
          "warehouse_sync": {
            "$ref": "#/components/schemas/services_ui_api_model_WarehouseSync",
            "nullable": true
          }
        }
      },
      "services_ui_api_webhook_configurations_configurationResponse": {
        "type": "object",
        "properties": {
          "configuration": {
            "$ref": "#/components/schemas/services_ui_api_model_WebhookConfiguration",
            "nullable": true
          }
        }
      },
      "services_ui_api_webhook_configurations_configurationsResponse": {
        "type": "object",
        "properties": {
          "configurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_WebhookConfiguration"
            }
          }
        },
        "required": [
          "configurations"
        ]
      },
      "services_ui_api_webhook_configurations_createConfigurationRequest": {
        "type": "object",
        "properties": {
          "config_data": {
            "type": "object",
            "additionalProperties": {}
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "config_data",
          "description",
          "name"
        ]
      },
      "services_ui_api_webhook_configurations_minimalConfigurationResponse": {
        "type": "object",
        "properties": {
          "configuration": {
            "$ref": "#/components/schemas/services_ui_api_model_WebhookConfigurationMinimal",
            "nullable": true
          }
        }
      },
      "services_ui_api_webhook_configurations_minimalConfigurationsResponse": {
        "type": "object",
        "properties": {
          "configurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_WebhookConfigurationMinimal"
            }
          }
        },
        "required": [
          "configurations"
        ]
      },
      "services_ui_api_webhook_configurations_updateConfigurationRequest": {
        "type": "object",
        "properties": {
          "config_data": {
            "type": "object",
            "additionalProperties": {}
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "config_data"
        ]
      },
      "services_ui_api_whatsapp_checkResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "status",
          "success"
        ]
      },
      "services_ui_api_whatsapp_messageTemplatesResponse": {
        "type": "object",
        "properties": {
          "message_templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_TemplateBody"
            }
          }
        },
        "required": [
          "message_templates"
        ]
      },
      "services_ui_api_whatsapp_phoneDetailsResponse": {
        "type": "object",
        "properties": {
          "whatsapp_phone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_channels_whatsapp_WhatsAppNumber"
            }
          }
        },
        "required": [
          "whatsapp_phone_numbers"
        ]
      },
      "services_ui_api_whatsapp_requestCodeRequest": {
        "type": "object",
        "properties": {
          "code_method": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "phone_number_id": {
            "type": "string"
          }
        },
        "required": [
          "code_method",
          "language",
          "phone_number_id"
        ]
      },
      "services_ui_api_whatsapp_requestCodeResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "services_ui_api_whatsapp_settingsResponse": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_domains_environments_ChannelClientSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_whatsapp_setupRequest": {
        "type": "object",
        "properties": {
          "exchangeCode": {
            "type": "string"
          },
          "wabaId": {
            "type": "string"
          }
        },
        "required": [
          "exchangeCode",
          "wabaId"
        ]
      },
      "services_ui_api_whatsapp_setupResponse": {
        "type": "object",
        "properties": {
          "Success": {
            "type": "boolean"
          }
        },
        "required": [
          "Success"
        ]
      },
      "services_ui_api_whatsapp_updateSettingsRequest": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/services_domains_environments_ChannelClientSettings"
          }
        },
        "required": [
          "settings"
        ]
      },
      "services_ui_api_whatsapp_verifyCodeRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "phone_number_id": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "phone_number_id"
        ]
      },
      "services_ui_api_whatsapp_verifyCodeResponse": {
        "type": "object",
        "properties": {
          "registered": {
            "type": "boolean"
          },
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "registered",
          "success"
        ]
      },
      "services_ui_api_whitelisted_ips_whitelistedIPCreateRequest": {
        "type": "object",
        "properties": {
          "whitelisted_ip": {
            "type": "object",
            "properties": {
              "environment_id": {
                "type": "string"
              },
              "ip": {
                "type": "string"
              }
            },
            "required": [
              "environment_id",
              "ip"
            ]
          }
        },
        "required": [
          "whitelisted_ip"
        ]
      },
      "services_ui_api_whitelisted_ips_whitelistedIPResponse": {
        "type": "object",
        "properties": {
          "whitelisted_ip": {
            "$ref": "#/components/schemas/services_ui_api_model_WhitelistedIP",
            "nullable": true
          }
        }
      },
      "services_ui_api_whitelisted_ips_whitelistedIPsResponse": {
        "type": "object",
        "properties": {
          "whitelisted_ips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/services_ui_api_model_WhitelistedIP"
            }
          }
        },
        "required": [
          "whitelisted_ips"
        ]
      },
      "services_universal_search_SearchResult": {
        "type": "object",
        "properties": {
          "doc_id": {
            "type": "string",
            "nullable": true
          },
          "kind": {
            "type": "string",
            "nullable": true
          },
          "other": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "relevance_score": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        }
      }
    }
  }
}