# Custom Domains ## CreateCustomDomain `organizations.custom_domains.create(CustomDomainCreateParams**kwargs) -> CustomDomainCreateResponse` **post** `/gitpod.v1.OrganizationService/CreateCustomDomain` Creates a custom domain configuration for an organization. Use this method to configure custom domains for organization workspaces ### Examples - Configure AWS custom domain: Sets up a custom domain with AWS provider. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" domainName: "workspaces.acme-corp.com" provider: CUSTOM_DOMAIN_PROVIDER_AWS awsAccountId: "123456789012" ``` ### Parameters - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization to create the custom domain for - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Returns - `class CustomDomainCreateResponse: …` CreateCustomDomainResponse is the response message for creating a custom domain - `custom_domain: CustomDomain` custom_domain is the created custom domain - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Example ```python import os from gitpod import Gitpod client = Gitpod( bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted ) custom_domain = client.organizations.custom_domains.create( domain_name="workspaces.acme-corp.com", organization_id="b0e12f6c-4c67-429d-a4a6-d9838b5da047", aws_account_id="123456789012", provider="CUSTOM_DOMAIN_PROVIDER_AWS", ) print(custom_domain.custom_domain) ``` #### Response ```json { "customDomain": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "createdAt": "2019-12-27T18:11:19.117Z", "domainName": "xxxx", "organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "updatedAt": "2019-12-27T18:11:19.117Z", "awsAccountId": "awsAccountId", "cloudAccountId": "cloudAccountId", "provider": "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED" } } ``` ## DeleteCustomDomain `organizations.custom_domains.delete(CustomDomainDeleteParams**kwargs) -> object` **post** `/gitpod.v1.OrganizationService/DeleteCustomDomain` Removes a custom domain configuration from an organization. Use this method to: - Disable custom domain functionality - Remove outdated configurations - Clean up unused domains ### Examples - Delete custom domain configuration: Removes a specific custom domain configuration. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" ``` ### Parameters - `organization_id: str` organization_id is the ID of the organization to delete custom domain for ### Returns - `object` ### Example ```python import os from gitpod import Gitpod client = Gitpod( bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted ) custom_domain = client.organizations.custom_domains.delete( organization_id="b0e12f6c-4c67-429d-a4a6-d9838b5da047", ) print(custom_domain) ``` #### Response ```json {} ``` ## GetCustomDomain `organizations.custom_domains.retrieve(CustomDomainRetrieveParams**kwargs) -> CustomDomainRetrieveResponse` **post** `/gitpod.v1.OrganizationService/GetCustomDomain` Retrieves a specific custom domain configuration. Use this method to view custom domain details ### Examples - Get custom domain configuration: Retrieves details of a specific custom domain. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" ``` ### Parameters - `organization_id: str` organization_id is the ID of the organization to retrieve custom domain for ### Returns - `class CustomDomainRetrieveResponse: …` - `custom_domain: CustomDomain` CustomDomain represents a custom domain configuration for an organization - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Example ```python import os from gitpod import Gitpod client = Gitpod( bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted ) custom_domain = client.organizations.custom_domains.retrieve( organization_id="b0e12f6c-4c67-429d-a4a6-d9838b5da047", ) print(custom_domain.custom_domain) ``` #### Response ```json { "customDomain": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "createdAt": "2019-12-27T18:11:19.117Z", "domainName": "xxxx", "organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "updatedAt": "2019-12-27T18:11:19.117Z", "awsAccountId": "awsAccountId", "cloudAccountId": "cloudAccountId", "provider": "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED" } } ``` ## UpdateCustomDomain `organizations.custom_domains.update(CustomDomainUpdateParams**kwargs) -> CustomDomainUpdateResponse` **post** `/gitpod.v1.OrganizationService/UpdateCustomDomain` Updates custom domain configuration settings. Use this method to: - Update cloud provider settings - Change AWS account ID - Modify domain configuration ### Examples - Update AWS account ID: Changes the AWS account ID for the custom domain. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" domainName: "workspaces.acme-corp.com" awsAccountId: "987654321098" ``` ### Parameters - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization to update custom domain for - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Returns - `class CustomDomainUpdateResponse: …` UpdateCustomDomainResponse is the response message for updating a custom domain - `custom_domain: CustomDomain` custom_domain is the updated custom domain - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Example ```python import os from gitpod import Gitpod client = Gitpod( bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted ) custom_domain = client.organizations.custom_domains.update( domain_name="workspaces.acme-corp.com", organization_id="b0e12f6c-4c67-429d-a4a6-d9838b5da047", aws_account_id="987654321098", ) print(custom_domain.custom_domain) ``` #### Response ```json { "customDomain": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "createdAt": "2019-12-27T18:11:19.117Z", "domainName": "xxxx", "organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "updatedAt": "2019-12-27T18:11:19.117Z", "awsAccountId": "awsAccountId", "cloudAccountId": "cloudAccountId", "provider": "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED" } } ``` ## Domain Types ### Custom Domain - `class CustomDomain: …` CustomDomain represents a custom domain configuration for an organization - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Custom Domain Provider - `Literal["CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED", "CUSTOM_DOMAIN_PROVIDER_AWS", "CUSTOM_DOMAIN_PROVIDER_GCP"]` CustomDomainProvider represents the cloud provider for custom domain configuration - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Custom Domain Create Response - `class CustomDomainCreateResponse: …` CreateCustomDomainResponse is the response message for creating a custom domain - `custom_domain: CustomDomain` custom_domain is the created custom domain - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Custom Domain Retrieve Response - `class CustomDomainRetrieveResponse: …` - `custom_domain: CustomDomain` CustomDomain represents a custom domain configuration for an organization - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"` ### Custom Domain Update Response - `class CustomDomainUpdateResponse: …` UpdateCustomDomainResponse is the response message for updating a custom domain - `custom_domain: CustomDomain` custom_domain is the updated custom domain - `id: str` id is the unique identifier of the custom domain - `created_at: datetime` created_at is when the custom domain was created - `domain_name: str` domain_name is the custom domain name - `organization_id: str` organization_id is the ID of the organization this custom domain belongs to - `updated_at: datetime` updated_at is when the custom domain was last updated - `aws_account_id: Optional[str]` aws_account_id is the AWS account ID (deprecated: use cloud_account_id) - `cloud_account_id: Optional[str]` cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID) - `provider: Optional[CustomDomainProvider]` provider is the cloud provider for this custom domain - `"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"` - `"CUSTOM_DOMAIN_PROVIDER_AWS"` - `"CUSTOM_DOMAIN_PROVIDER_GCP"`