{
  "service": "saas_custom_domains",
  "displayName": "SaaS Custom Domains",
  "categories": [
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "SCD_API_TOKEN",
      "description": "SaaS Custom Domains API token sent as a Bearer token. Create or copy it from Settings > API in the SaaS Custom Domains dashboard.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://saascustomdomains.com",
  "actions": [
    {
      "id": "saas_custom_domains.create_custom_domain",
      "service": "saas_custom_domains",
      "name": "create_custom_domain",
      "description": "Create a custom domain for a SaaS Custom Domains upstream.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          },
          "host": {
            "type": "string",
            "minLength": 1,
            "description": "Host name accepted by SaaS Custom Domains."
          },
          "instructions_recipient": {
            "type": "string",
            "description": "Email address where DNS instructions should be sent.",
            "format": "email"
          },
          "prepend_path": {
            "type": "string",
            "minLength": 1,
            "description": "Path prefix forwarded to the upstream."
          },
          "challenge_type": {
            "type": "string",
            "enum": [
              "http01",
              "dns01"
            ],
            "description": "Certificate challenge type."
          },
          "redirect_to_www": {
            "type": "boolean",
            "description": "Whether to redirect traffic to the www subdomain."
          }
        },
        "additionalProperties": false,
        "required": [
          "account_uuid",
          "upstream_uuid",
          "host"
        ],
        "description": "Input parameters for creating a SaaS Custom Domains custom domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "custom_domain": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier for the custom domain."
              },
              "host": {
                "type": "string",
                "description": "Host of the custom domain."
              },
              "prepend_path": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Path prefix forwarded to the upstream."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "bubble_target_path": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Bubble.io target path for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Browser and search preview title for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Search result and social preview description for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_favicon_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Favicon URL configured for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_image_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Open Graph image URL configured for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created_at": {
                "type": "string",
                "description": "Timestamp when the custom domain was created."
              },
              "updated_at": {
                "type": "string",
                "description": "Timestamp when the custom domain was last updated."
              },
              "last_dns_check_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when DNS records were last checked."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "description": "DNS record status for the custom domain."
              },
              "tls_certificate_issued": {
                "type": "boolean",
                "description": "Whether a TLS certificate has been issued."
              },
              "acme_challenge_dns_record_status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Status of the ACME challenge DNS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "challenge_type": {
                "type": "string",
                "description": "Certificate challenge type for the custom domain."
              },
              "redirect_to_www": {
                "type": "boolean",
                "description": "Whether the custom domain redirects to the www subdomain."
              },
              "instructions_recipient": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Email address where DNS instructions were sent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "instructions_email_sent_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when DNS instructions were sent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "upstream_uuid": {
                "type": "string",
                "description": "UUID of the upstream that owns the custom domain."
              },
              "delegated_domain_control_validation_record_hostname": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Hostname of the ACME challenge DNS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "delegated_domain_control_validation_record_value": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Value of the ACME challenge DNS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "One SaaS Custom Domains custom domain."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for a created SaaS Custom Domains custom domain."
      }
    },
    {
      "id": "saas_custom_domains.create_upstream",
      "service": "saas_custom_domains",
      "name": "create_upstream",
      "description": "Create an upstream for a SaaS Custom Domains account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "host": {
            "type": "string",
            "minLength": 1,
            "description": "Host name accepted by SaaS Custom Domains."
          },
          "tls": {
            "type": "boolean",
            "description": "Whether the upstream uses TLS."
          },
          "port": {
            "type": "integer",
            "minimum": 1,
            "description": "Port on which the upstream application listens."
          },
          "bubble_io": {
            "type": "boolean",
            "description": "Whether the upstream is a Bubble.io app."
          },
          "compression_enabled": {
            "type": "boolean",
            "description": "Whether automatic response compression is enabled."
          },
          "geocoding_enabled": {
            "type": "boolean",
            "description": "Whether geocoding headers are enabled."
          },
          "auth_token": {
            "type": "string",
            "minLength": 1,
            "description": "Auth token to use when forwarding requests to the upstream."
          }
        },
        "additionalProperties": false,
        "required": [
          "account_uuid",
          "host"
        ],
        "description": "Input parameters for creating a SaaS Custom Domains upstream."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "upstream": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier for the upstream."
              },
              "host": {
                "type": "string",
                "description": "Host of the upstream web application."
              },
              "port": {
                "type": "integer",
                "description": "Port on which the upstream application listens."
              },
              "tls": {
                "type": "boolean",
                "description": "Whether the upstream expects TLS traffic."
              },
              "auth_token": {
                "type": "string",
                "description": "Auth token used when forwarding requests to the upstream."
              },
              "bubble_io": {
                "type": "boolean",
                "description": "Whether the upstream is a Bubble.io app."
              },
              "compression_enabled": {
                "type": "boolean",
                "description": "Whether automatic response compression is enabled."
              },
              "geocoding_enabled": {
                "type": "boolean",
                "description": "Whether geocoding headers are enabled."
              },
              "created_at": {
                "type": "string",
                "description": "Timestamp when the upstream was created."
              },
              "updated_at": {
                "type": "string",
                "description": "Timestamp when the upstream was last updated."
              }
            },
            "additionalProperties": true,
            "description": "One SaaS Custom Domains upstream."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for a created SaaS Custom Domains upstream."
      }
    },
    {
      "id": "saas_custom_domains.delete_custom_domain",
      "service": "saas_custom_domains",
      "name": "delete_custom_domain",
      "description": "Delete one SaaS Custom Domains custom domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          },
          "domain_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains custom domain UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a custom-domain-scoped request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Deletion message returned by SaaS Custom Domains."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for a deleted SaaS Custom Domains custom domain."
      }
    },
    {
      "id": "saas_custom_domains.delete_upstream",
      "service": "saas_custom_domains",
      "name": "delete_upstream",
      "description": "Delete one SaaS Custom Domains upstream and its custom domains.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for deleting a SaaS Custom Domains upstream."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Deletion message returned by SaaS Custom Domains."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for a deleted SaaS Custom Domains upstream."
      }
    },
    {
      "id": "saas_custom_domains.get_custom_domain",
      "service": "saas_custom_domains",
      "name": "get_custom_domain",
      "description": "Retrieve one SaaS Custom Domains custom domain by UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          },
          "domain_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains custom domain UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a custom-domain-scoped request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "custom_domain": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier for the custom domain."
              },
              "host": {
                "type": "string",
                "description": "Host of the custom domain."
              },
              "prepend_path": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Path prefix forwarded to the upstream."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "bubble_target_path": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Bubble.io target path for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Browser and search preview title for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Search result and social preview description for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_favicon_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Favicon URL configured for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "meta_image_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Open Graph image URL configured for the custom domain."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created_at": {
                "type": "string",
                "description": "Timestamp when the custom domain was created."
              },
              "updated_at": {
                "type": "string",
                "description": "Timestamp when the custom domain was last updated."
              },
              "last_dns_check_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when DNS records were last checked."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "type": "string",
                "description": "DNS record status for the custom domain."
              },
              "tls_certificate_issued": {
                "type": "boolean",
                "description": "Whether a TLS certificate has been issued."
              },
              "acme_challenge_dns_record_status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Status of the ACME challenge DNS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "challenge_type": {
                "type": "string",
                "description": "Certificate challenge type for the custom domain."
              },
              "redirect_to_www": {
                "type": "boolean",
                "description": "Whether the custom domain redirects to the www subdomain."
              },
              "instructions_recipient": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Email address where DNS instructions were sent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "instructions_email_sent_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when DNS instructions were sent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "upstream_uuid": {
                "type": "string",
                "description": "UUID of the upstream that owns the custom domain."
              },
              "delegated_domain_control_validation_record_hostname": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Hostname of the ACME challenge DNS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "delegated_domain_control_validation_record_value": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Value of the ACME challenge DNS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "One SaaS Custom Domains custom domain."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for one SaaS Custom Domains custom domain."
      }
    },
    {
      "id": "saas_custom_domains.get_upstream",
      "service": "saas_custom_domains",
      "name": "get_upstream",
      "description": "Retrieve one SaaS Custom Domains upstream by UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a SaaS Custom Domains upstream."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "upstream": {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier for the upstream."
              },
              "host": {
                "type": "string",
                "description": "Host of the upstream web application."
              },
              "port": {
                "type": "integer",
                "description": "Port on which the upstream application listens."
              },
              "tls": {
                "type": "boolean",
                "description": "Whether the upstream expects TLS traffic."
              },
              "auth_token": {
                "type": "string",
                "description": "Auth token used when forwarding requests to the upstream."
              },
              "bubble_io": {
                "type": "boolean",
                "description": "Whether the upstream is a Bubble.io app."
              },
              "compression_enabled": {
                "type": "boolean",
                "description": "Whether automatic response compression is enabled."
              },
              "geocoding_enabled": {
                "type": "boolean",
                "description": "Whether geocoding headers are enabled."
              },
              "created_at": {
                "type": "string",
                "description": "Timestamp when the upstream was created."
              },
              "updated_at": {
                "type": "string",
                "description": "Timestamp when the upstream was last updated."
              }
            },
            "additionalProperties": true,
            "description": "One SaaS Custom Domains upstream."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for one SaaS Custom Domains upstream."
      }
    },
    {
      "id": "saas_custom_domains.list_accounts",
      "service": "saas_custom_domains",
      "name": "list_accounts",
      "description": "List SaaS Custom Domains accounts available to the API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for listing SaaS Custom Domains accounts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier for the account."
                },
                "name": {
                  "type": "string",
                  "description": "Name of the account."
                },
                "personal": {
                  "type": "boolean",
                  "description": "Whether the account is personal."
                },
                "owner_uuid": {
                  "type": "string",
                  "description": "Unique identifier for the account owner."
                },
                "created_at": {
                  "type": "string",
                  "description": "Timestamp when the account was created."
                },
                "updated_at": {
                  "type": "string",
                  "description": "Timestamp when the account was last updated."
                }
              },
              "additionalProperties": true,
              "description": "One SaaS Custom Domains account."
            },
            "description": "Accounts returned by SaaS Custom Domains."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for SaaS Custom Domains account listing."
      }
    },
    {
      "id": "saas_custom_domains.list_custom_domains",
      "service": "saas_custom_domains",
      "name": "list_custom_domains",
      "description": "List custom domains for a SaaS Custom Domains upstream.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          },
          "host": {
            "type": "string",
            "minLength": 1,
            "description": "Host name accepted by SaaS Custom Domains."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to retrieve. Pages start at 1."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of items to retrieve per page."
          }
        },
        "additionalProperties": false,
        "required": [
          "account_uuid",
          "upstream_uuid"
        ],
        "description": "Input parameters for listing SaaS Custom Domains custom domains."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "custom_domains": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier for the custom domain."
                },
                "host": {
                  "type": "string",
                  "description": "Host of the custom domain."
                },
                "prepend_path": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Path prefix forwarded to the upstream."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "bubble_target_path": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Bubble.io target path for the custom domain."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "meta_title": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Browser and search preview title for the custom domain."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "meta_description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Search result and social preview description for the custom domain."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "meta_favicon_url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Favicon URL configured for the custom domain."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "meta_image_url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Open Graph image URL configured for the custom domain."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created_at": {
                  "type": "string",
                  "description": "Timestamp when the custom domain was created."
                },
                "updated_at": {
                  "type": "string",
                  "description": "Timestamp when the custom domain was last updated."
                },
                "last_dns_check_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when DNS records were last checked."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "type": "string",
                  "description": "DNS record status for the custom domain."
                },
                "tls_certificate_issued": {
                  "type": "boolean",
                  "description": "Whether a TLS certificate has been issued."
                },
                "acme_challenge_dns_record_status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Status of the ACME challenge DNS record."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "challenge_type": {
                  "type": "string",
                  "description": "Certificate challenge type for the custom domain."
                },
                "redirect_to_www": {
                  "type": "boolean",
                  "description": "Whether the custom domain redirects to the www subdomain."
                },
                "instructions_recipient": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Email address where DNS instructions were sent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "instructions_email_sent_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when DNS instructions were sent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "upstream_uuid": {
                  "type": "string",
                  "description": "UUID of the upstream that owns the custom domain."
                },
                "delegated_domain_control_validation_record_hostname": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Hostname of the ACME challenge DNS record."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "delegated_domain_control_validation_record_value": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Value of the ACME challenge DNS record."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "description": "One SaaS Custom Domains custom domain."
            },
            "description": "Custom domains returned by SaaS Custom Domains."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer",
                "description": "Returned page number."
              },
              "count": {
                "type": "integer",
                "description": "Total number of items in the collection."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by SaaS Custom Domains."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for SaaS Custom Domains custom domain listing."
      }
    },
    {
      "id": "saas_custom_domains.list_upstreams",
      "service": "saas_custom_domains",
      "name": "list_upstreams",
      "description": "List upstreams for a SaaS Custom Domains account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "host": {
            "type": "string",
            "minLength": 1,
            "description": "Host name accepted by SaaS Custom Domains."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to retrieve. Pages start at 1."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of items to retrieve per page."
          }
        },
        "additionalProperties": false,
        "required": [
          "account_uuid"
        ],
        "description": "Input parameters for listing SaaS Custom Domains upstreams."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "upstreams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uuid": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier for the upstream."
                },
                "host": {
                  "type": "string",
                  "description": "Host of the upstream web application."
                },
                "port": {
                  "type": "integer",
                  "description": "Port on which the upstream application listens."
                },
                "tls": {
                  "type": "boolean",
                  "description": "Whether the upstream expects TLS traffic."
                },
                "auth_token": {
                  "type": "string",
                  "description": "Auth token used when forwarding requests to the upstream."
                },
                "bubble_io": {
                  "type": "boolean",
                  "description": "Whether the upstream is a Bubble.io app."
                },
                "compression_enabled": {
                  "type": "boolean",
                  "description": "Whether automatic response compression is enabled."
                },
                "geocoding_enabled": {
                  "type": "boolean",
                  "description": "Whether geocoding headers are enabled."
                },
                "created_at": {
                  "type": "string",
                  "description": "Timestamp when the upstream was created."
                },
                "updated_at": {
                  "type": "string",
                  "description": "Timestamp when the upstream was last updated."
                }
              },
              "additionalProperties": true,
              "description": "One SaaS Custom Domains upstream."
            },
            "description": "Upstreams returned by SaaS Custom Domains."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer",
                "description": "Returned page number."
              },
              "count": {
                "type": "integer",
                "description": "Total number of items in the collection."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by SaaS Custom Domains."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for SaaS Custom Domains upstream listing."
      }
    },
    {
      "id": "saas_custom_domains.purge_custom_domain_http_cache",
      "service": "saas_custom_domains",
      "name": "purge_custom_domain_http_cache",
      "description": "Initiate an HTTP cache purge for one SaaS Custom Domains custom domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          },
          "domain_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains custom domain UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a custom-domain-scoped request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Cache purge message returned by SaaS Custom Domains."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for a SaaS Custom Domains HTTP cache purge."
      }
    },
    {
      "id": "saas_custom_domains.verify_custom_domain_dns_records",
      "service": "saas_custom_domains",
      "name": "verify_custom_domain_dns_records",
      "description": "Trigger DNS record verification for one SaaS Custom Domains custom domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains account UUID."
          },
          "upstream_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains upstream UUID."
          },
          "domain_uuid": {
            "type": "string",
            "minLength": 1,
            "description": "SaaS Custom Domains custom domain UUID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a custom-domain-scoped request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Verification message returned by SaaS Custom Domains."
          },
          "dns_status": {
            "type": "string",
            "description": "DNS verification status returned by SaaS Custom Domains."
          },
          "host": {
            "type": "string",
            "description": "Custom domain host that was verified."
          }
        },
        "additionalProperties": false,
        "description": "Output payload for SaaS Custom Domains DNS record verification."
      }
    }
  ]
}
