Skip to content
Ona Docs

Organizations

CreateOrganization
client.Organizations.New(ctx, body) (*OrganizationNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateOrganization
DeleteOrganization
client.Organizations.Delete(ctx, body) (*OrganizationDeleteResponse, error)
POST/gitpod.v1.OrganizationService/DeleteOrganization
JoinOrganization
client.Organizations.Join(ctx, body) (*OrganizationJoinResponse, error)
POST/gitpod.v1.OrganizationService/JoinOrganization
LeaveOrganization
client.Organizations.Leave(ctx, body) (*OrganizationLeaveResponse, error)
POST/gitpod.v1.OrganizationService/LeaveOrganization
ListMembers
client.Organizations.ListMembers(ctx, params) (*MembersPage[OrganizationMember], error)
POST/gitpod.v1.OrganizationService/ListMembers
GetOrganization
client.Organizations.Get(ctx, body) (*OrganizationGetResponse, error)
POST/gitpod.v1.OrganizationService/GetOrganization
SetRole
client.Organizations.SetRole(ctx, body) (*OrganizationSetRoleResponse, error)
POST/gitpod.v1.OrganizationService/SetRole
UpdateOrganization
client.Organizations.Update(ctx, body) (*OrganizationUpdateResponse, error)
POST/gitpod.v1.OrganizationService/UpdateOrganization
ModelsExpand Collapse
type InviteDomains struct{…}
Domains []stringOptional

domains is the list of domains that are allowed to join the organization

type Organization struct{…}
ID string
formatuuid
CreatedAt Time

A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are “smeared” so that no leap second table is needed for interpretation, using a 24-hour linear smear.

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.

Examples

Example 1: Compute Timestamp from POSIX time().

 Timestamp timestamp;
 timestamp.set_seconds(time(NULL));
 timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX gettimeofday().

 struct timeval tv;
 gettimeofday(&tv, NULL);

 Timestamp timestamp;
 timestamp.set_seconds(tv.tv_sec);
 timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime().

 FILETIME ft;
 GetSystemTimeAsFileTime(&ft);
 UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

 // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 Timestamp timestamp;
 timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java System.currentTimeMillis().

 long millis = System.currentTimeMillis();

 Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
     .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java Instant.now().

 Instant now = Instant.now();

 Timestamp timestamp =
     Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

 timestamp = Timestamp()
 timestamp.GetCurrentTime()

JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is “{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z” where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The “Z” suffix indicates the timezone (“UTC”); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by “Z”) when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).

For example, “2017-01-15T01:30:15.01Z” encodes 15.01 seconds past 01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the standard toISOString() method. In Python, a standard datetime.datetime object can be converted to this format using strftime with the time format spec ‘%Y-%m-%dT%H:%M:%S.%fZ’. Likewise, in Java, one can use the Joda Time’s ISODateTimeFormat.dateTime() to obtain a formatter capable of generating timestamps in this format.

formatdate-time
Name string

The tier of the organization - free, enterprise or core

One of the following:
const OrganizationTierUnspecified OrganizationTier = "ORGANIZATION_TIER_UNSPECIFIED"
const OrganizationTierFree OrganizationTier = "ORGANIZATION_TIER_FREE"
const OrganizationTierEnterprise OrganizationTier = "ORGANIZATION_TIER_ENTERPRISE"
const OrganizationTierCore OrganizationTier = "ORGANIZATION_TIER_CORE"
const OrganizationTierFreeOna OrganizationTier = "ORGANIZATION_TIER_FREE_ONA"
UpdatedAt Time

A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are “smeared” so that no leap second table is needed for interpretation, using a 24-hour linear smear.

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.

Examples

Example 1: Compute Timestamp from POSIX time().

 Timestamp timestamp;
 timestamp.set_seconds(time(NULL));
 timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX gettimeofday().

 struct timeval tv;
 gettimeofday(&tv, NULL);

 Timestamp timestamp;
 timestamp.set_seconds(tv.tv_sec);
 timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime().

 FILETIME ft;
 GetSystemTimeAsFileTime(&ft);
 UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

 // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 Timestamp timestamp;
 timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java System.currentTimeMillis().

 long millis = System.currentTimeMillis();

 Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
     .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java Instant.now().

 Instant now = Instant.now();

 Timestamp timestamp =
     Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

 timestamp = Timestamp()
 timestamp.GetCurrentTime()

JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is “{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z” where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The “Z” suffix indicates the timezone (“UTC”); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by “Z”) when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).

For example, “2017-01-15T01:30:15.01Z” encodes 15.01 seconds past 01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the standard toISOString() method. In Python, a standard datetime.datetime object can be converted to this format using strftime with the time format spec ‘%Y-%m-%dT%H:%M:%S.%fZ’. Likewise, in Java, one can use the Joda Time’s ISODateTimeFormat.dateTime() to obtain a formatter capable of generating timestamps in this format.

formatdate-time
InviteDomains InviteDomainsOptional
Domains []stringOptional

domains is the list of domains that are allowed to join the organization

type OrganizationMember struct{…}
Email string
FullName string
LoginProvider string

login_provider is the login provider the user uses to sign in

MemberSince Time

A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are “smeared” so that no leap second table is needed for interpretation, using a 24-hour linear smear.

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.

Examples

Example 1: Compute Timestamp from POSIX time().

 Timestamp timestamp;
 timestamp.set_seconds(time(NULL));
 timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX gettimeofday().

 struct timeval tv;
 gettimeofday(&tv, NULL);

 Timestamp timestamp;
 timestamp.set_seconds(tv.tv_sec);
 timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime().

 FILETIME ft;
 GetSystemTimeAsFileTime(&ft);
 UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

 // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 Timestamp timestamp;
 timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java System.currentTimeMillis().

 long millis = System.currentTimeMillis();

 Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
     .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java Instant.now().

 Instant now = Instant.now();

 Timestamp timestamp =
     Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

 timestamp = Timestamp()
 timestamp.GetCurrentTime()

JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is “{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z” where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The “Z” suffix indicates the timezone (“UTC”); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by “Z”) when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).

For example, “2017-01-15T01:30:15.01Z” encodes 15.01 seconds past 01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the standard toISOString() method. In Python, a standard datetime.datetime object can be converted to this format using strftime with the time format spec ‘%Y-%m-%dT%H:%M:%S.%fZ’. Likewise, in Java, one can use the Joda Time’s ISODateTimeFormat.dateTime() to obtain a formatter capable of generating timestamps in this format.

formatdate-time
One of the following:
const OrganizationRoleUnspecified OrganizationRole = "ORGANIZATION_ROLE_UNSPECIFIED"
const OrganizationRoleAdmin OrganizationRole = "ORGANIZATION_ROLE_ADMIN"
const OrganizationRoleMember OrganizationRole = "ORGANIZATION_ROLE_MEMBER"
Status UserStatus
One of the following:
const UserStatusUnspecified UserStatus = "USER_STATUS_UNSPECIFIED"
const UserStatusActive UserStatus = "USER_STATUS_ACTIVE"
const UserStatusSuspended UserStatus = "USER_STATUS_SUSPENDED"
const UserStatusLeft UserStatus = "USER_STATUS_LEFT"
UserID string
formatuuid
AvatarURL stringOptional

OrganizationsAnnouncement Banner

GetAnnouncementBanner
client.Organizations.AnnouncementBanner.Get(ctx, body) (*OrganizationAnnouncementBannerGetResponse, error)
POST/gitpod.v1.OrganizationService/GetAnnouncementBanner
UpdateAnnouncementBanner
client.Organizations.AnnouncementBanner.Update(ctx, body) (*OrganizationAnnouncementBannerUpdateResponse, error)
POST/gitpod.v1.OrganizationService/UpdateAnnouncementBanner
ModelsExpand Collapse
type AnnouncementBanner struct{…}
OrganizationID string

organization_id is the ID of the organization

formatuuid
Enabled boolOptional

enabled controls whether the banner is displayed

Message stringOptional

message is the banner message displayed to users. Supports basic Markdown.

maxLength1000

OrganizationsCustom Domains

CreateCustomDomain
client.Organizations.CustomDomains.New(ctx, body) (*OrganizationCustomDomainNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateCustomDomain
DeleteCustomDomain
client.Organizations.CustomDomains.Delete(ctx, body) (*OrganizationCustomDomainDeleteResponse, error)
POST/gitpod.v1.OrganizationService/DeleteCustomDomain
GetCustomDomain
client.Organizations.CustomDomains.Get(ctx, body) (*OrganizationCustomDomainGetResponse, error)
POST/gitpod.v1.OrganizationService/GetCustomDomain
UpdateCustomDomain
client.Organizations.CustomDomains.Update(ctx, body) (*OrganizationCustomDomainUpdateResponse, error)
POST/gitpod.v1.OrganizationService/UpdateCustomDomain
ModelsExpand Collapse
type CustomDomain struct{…}

CustomDomain represents a custom domain configuration for an organization

ID string

id is the unique identifier of the custom domain

formatuuid
CreatedAt Time

created_at is when the custom domain was created

formatdate-time
DomainName string

domain_name is the custom domain name

maxLength253
minLength4
OrganizationID string

organization_id is the ID of the organization this custom domain belongs to

formatuuid
UpdatedAt Time

updated_at is when the custom domain was last updated

formatdate-time
DeprecatedAwsAccountID stringOptional

aws_account_id is the AWS account ID (deprecated: use cloud_account_id)

CloudAccountID stringOptional

cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID)

Provider CustomDomainProviderOptional

provider is the cloud provider for this custom domain

One of the following:
const CustomDomainProviderUnspecified CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
const CustomDomainProviderAws CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_AWS"
const CustomDomainProviderGcp CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_GCP"
type CustomDomainProvider string

CustomDomainProvider represents the cloud provider for custom domain configuration

One of the following:
const CustomDomainProviderUnspecified CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
const CustomDomainProviderAws CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_AWS"
const CustomDomainProviderGcp CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_GCP"

OrganizationsDomain Verifications

CreateDomainVerification
client.Organizations.DomainVerifications.New(ctx, body) (*OrganizationDomainVerificationNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateDomainVerification
DeleteDomainVerification
client.Organizations.DomainVerifications.Delete(ctx, body) (*OrganizationDomainVerificationDeleteResponse, error)
POST/gitpod.v1.OrganizationService/DeleteDomainVerification
ListDomainVerifications
client.Organizations.DomainVerifications.List(ctx, params) (*DomainVerificationsPage[DomainVerification], error)
POST/gitpod.v1.OrganizationService/ListDomainVerifications
GetDomainVerification
client.Organizations.DomainVerifications.Get(ctx, body) (*OrganizationDomainVerificationGetResponse, error)
POST/gitpod.v1.OrganizationService/GetDomainVerification
VerifyDomain
client.Organizations.DomainVerifications.Verify(ctx, body) (*OrganizationDomainVerificationVerifyResponse, error)
POST/gitpod.v1.OrganizationService/VerifyDomain
ModelsExpand Collapse
type DomainVerification struct{…}
ID string
formatuuid
Domain string
maxLength253
minLength4
OrganizationID string
formatuuid
One of the following:
const DomainVerificationStateUnspecified DomainVerificationState = "DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
const DomainVerificationStatePending DomainVerificationState = "DOMAIN_VERIFICATION_STATE_PENDING"
const DomainVerificationStateVerified DomainVerificationState = "DOMAIN_VERIFICATION_STATE_VERIFIED"
CreatedAt TimeOptional

A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are “smeared” so that no leap second table is needed for interpretation, using a 24-hour linear smear.

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.

Examples

Example 1: Compute Timestamp from POSIX time().

 Timestamp timestamp;
 timestamp.set_seconds(time(NULL));
 timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX gettimeofday().

 struct timeval tv;
 gettimeofday(&tv, NULL);

 Timestamp timestamp;
 timestamp.set_seconds(tv.tv_sec);
 timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime().

 FILETIME ft;
 GetSystemTimeAsFileTime(&ft);
 UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

 // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 Timestamp timestamp;
 timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java System.currentTimeMillis().

 long millis = System.currentTimeMillis();

 Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
     .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java Instant.now().

 Instant now = Instant.now();

 Timestamp timestamp =
     Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

 timestamp = Timestamp()
 timestamp.GetCurrentTime()

JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is “{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z” where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The “Z” suffix indicates the timezone (“UTC”); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by “Z”) when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).

For example, “2017-01-15T01:30:15.01Z” encodes 15.01 seconds past 01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the standard toISOString() method. In Python, a standard datetime.datetime object can be converted to this format using strftime with the time format spec ‘%Y-%m-%dT%H:%M:%S.%fZ’. Likewise, in Java, one can use the Joda Time’s ISODateTimeFormat.dateTime() to obtain a formatter capable of generating timestamps in this format.

formatdate-time
VerificationToken stringOptional
VerifiedAt TimeOptional

A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are “smeared” so that no leap second table is needed for interpretation, using a 24-hour linear smear.

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.

Examples

Example 1: Compute Timestamp from POSIX time().

 Timestamp timestamp;
 timestamp.set_seconds(time(NULL));
 timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX gettimeofday().

 struct timeval tv;
 gettimeofday(&tv, NULL);

 Timestamp timestamp;
 timestamp.set_seconds(tv.tv_sec);
 timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime().

 FILETIME ft;
 GetSystemTimeAsFileTime(&ft);
 UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

 // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 Timestamp timestamp;
 timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java System.currentTimeMillis().

 long millis = System.currentTimeMillis();

 Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
     .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java Instant.now().

 Instant now = Instant.now();

 Timestamp timestamp =
     Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

 timestamp = Timestamp()
 timestamp.GetCurrentTime()

JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is “{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z” where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The “Z” suffix indicates the timezone (“UTC”); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by “Z”) when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).

For example, “2017-01-15T01:30:15.01Z” encodes 15.01 seconds past 01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the standard toISOString() method. In Python, a standard datetime.datetime object can be converted to this format using strftime with the time format spec ‘%Y-%m-%dT%H:%M:%S.%fZ’. Likewise, in Java, one can use the Joda Time’s ISODateTimeFormat.dateTime() to obtain a formatter capable of generating timestamps in this format.

formatdate-time
type DomainVerificationState string
One of the following:
const DomainVerificationStateUnspecified DomainVerificationState = "DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
const DomainVerificationStatePending DomainVerificationState = "DOMAIN_VERIFICATION_STATE_PENDING"
const DomainVerificationStateVerified DomainVerificationState = "DOMAIN_VERIFICATION_STATE_VERIFIED"

OrganizationsInvites

CreateOrganizationInvite
client.Organizations.Invites.New(ctx, body) (*OrganizationInviteNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateOrganizationInvite
GetOrganizationInviteSummary
client.Organizations.Invites.GetSummary(ctx, body) (*OrganizationInviteGetSummaryResponse, error)
POST/gitpod.v1.OrganizationService/GetOrganizationInviteSummary
GetOrganizationInvite
client.Organizations.Invites.Get(ctx, body) (*OrganizationInviteGetResponse, error)
POST/gitpod.v1.OrganizationService/GetOrganizationInvite
ModelsExpand Collapse
type OrganizationInvite struct{…}
InviteID string

invite_id is the unique identifier of the invite to join the organization. Use JoinOrganization with this ID to join the organization.

formatuuid

OrganizationsPolicies

GetOrganizationPolicies
client.Organizations.Policies.Get(ctx, body) (*OrganizationPolicyGetResponse, error)
POST/gitpod.v1.OrganizationService/GetOrganizationPolicies
UpdateOrganizationPolicies
client.Organizations.Policies.Update(ctx, body) (*OrganizationPolicyUpdateResponse, error)
POST/gitpod.v1.OrganizationService/UpdateOrganizationPolicies
ModelsExpand Collapse
type AgentPolicy struct{…}

AgentPolicy contains agent-specific policy settings for an organization

CommandDenyList []string

command_deny_list contains a list of commands that agents are not allowed to execute

McpDisabled bool

mcp_disabled controls whether MCP (Model Context Protocol) is disabled for agents

ScmToolsDisabled bool

scm_tools_disabled controls whether SCM (Source Control Management) tools are disabled for agents

ConversationSharingPolicy ConversationSharingPolicyOptional

conversation_sharing_policy controls whether agent conversations can be shared

One of the following:
const ConversationSharingPolicyUnspecified ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_UNSPECIFIED"
const ConversationSharingPolicyDisabled ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_DISABLED"
const ConversationSharingPolicyOrganization ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_ORGANIZATION"
MaxSubagentsPerEnvironment int64Optional

max_subagents_per_environment limits the number of non-terminal sub-agents a parent can have running simultaneously in the same environment. Valid range: 0-10. Zero means use the default (5).

formatint32
maximum10
ScmToolsAllowedGroupID stringOptional

scm_tools_allowed_group_id restricts SCM tools access to members of this group. Empty means no restriction (all users can use SCM tools if not disabled).

type ConversationSharingPolicy string

ConversationSharingPolicy controls how agent conversations can be shared.

One of the following:
const ConversationSharingPolicyUnspecified ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_UNSPECIFIED"
const ConversationSharingPolicyDisabled ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_DISABLED"
const ConversationSharingPolicyOrganization ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_ORGANIZATION"
type CrowdStrikeConfig struct{…}

CrowdStrikeConfig configures CrowdStrike Falcon sensor deployment

AdditionalOptions map[string, string]Optional

additional_options contains additional FALCONCTL_OPT_* options as key-value pairs. Keys should NOT include the FALCONCTL_OPT_ prefix.

CidSecretID stringOptional

cid_secret_id references an organization secret containing the Customer ID (CID).

formatuuid
Enabled boolOptional

enabled controls whether CrowdStrike Falcon is deployed to environments

Image stringOptional

image is the CrowdStrike Falcon sensor container image reference

Tags stringOptional

tags are optional tags to apply to the Falcon sensor (comma-separated)

type CustomAgentEnvMapping struct{…}

CustomAgentEnvMapping maps a script placeholder to an organization secret. The backend resolves the secret name to a UUID at runtime.

Name stringOptional

name is the environment variable name used as a placeholder in the start command.

SecretName stringOptional

secret_name is the name of the organization secret whose value populates this placeholder.

type CustomSecurityAgent struct{…}

CustomSecurityAgent defines a custom security agent configured by an organization admin.

ID stringOptional

id is a unique identifier for this custom agent within the organization. Server-generated at save time if empty.

Description stringOptional

description is a human-readable description of what this agent does

Enabled boolOptional

enabled controls whether this custom agent is deployed to environments

EnvMappings []CustomAgentEnvMappingOptional

env_mappings maps script placeholders to organization secret names, resolved to secret values at runtime.

Name stringOptional

name is the environment variable name used as a placeholder in the start command.

SecretName stringOptional

secret_name is the name of the organization secret whose value populates this placeholder.

Name stringOptional

name is the display name for this custom agent

StartCommand stringOptional

start_command is the shell script that starts the agent

type KernelControlsAction string

KernelControlsAction defines how a kernel-level policy violation is handled.

One of the following:
const KernelControlsActionUnspecified KernelControlsAction = "KERNEL_CONTROLS_ACTION_UNSPECIFIED"
const KernelControlsActionBlock KernelControlsAction = "KERNEL_CONTROLS_ACTION_BLOCK"
const KernelControlsActionAudit KernelControlsAction = "KERNEL_CONTROLS_ACTION_AUDIT"
type OrganizationPolicies struct{…}
AgentPolicy AgentPolicy

agent_policy contains agent-specific policy settings

CommandDenyList []string

command_deny_list contains a list of commands that agents are not allowed to execute

McpDisabled bool

mcp_disabled controls whether MCP (Model Context Protocol) is disabled for agents

ScmToolsDisabled bool

scm_tools_disabled controls whether SCM (Source Control Management) tools are disabled for agents

ConversationSharingPolicy ConversationSharingPolicyOptional

conversation_sharing_policy controls whether agent conversations can be shared

One of the following:
const ConversationSharingPolicyUnspecified ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_UNSPECIFIED"
const ConversationSharingPolicyDisabled ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_DISABLED"
const ConversationSharingPolicyOrganization ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_ORGANIZATION"
MaxSubagentsPerEnvironment int64Optional

max_subagents_per_environment limits the number of non-terminal sub-agents a parent can have running simultaneously in the same environment. Valid range: 0-10. Zero means use the default (5).

formatint32
maximum10
ScmToolsAllowedGroupID stringOptional

scm_tools_allowed_group_id restricts SCM tools access to members of this group. Empty means no restriction (all users can use SCM tools if not disabled).

AllowedEditorIDs []string

allowed_editor_ids is the list of editor IDs that are allowed to be used in the organization

AllowLocalRunners bool

allow_local_runners controls whether local runners are allowed to be used in the organization

DefaultEditorID string

default_editor_id is the default editor ID to be used when a user doesn’t specify one

DefaultEnvironmentImage string

default_environment_image is the default container image when none is defined in repo

MaximumEnvironmentsPerUser string

maximum_environments_per_user limits total environments (running or stopped) per user

MaximumRunningEnvironmentsPerUser string

maximum_running_environments_per_user limits simultaneously running environments per user

MembersCreateProjects bool

members_create_projects controls whether members can create projects

MembersRequireProjects bool

members_require_projects controls whether environments can only be created from projects by non-admin users

OrganizationID string

organization_id is the ID of the organization

formatuuid
PortSharingDisabled bool

port_sharing_disabled controls whether user-initiated port sharing is disabled in the organization. System ports (VS Code Browser, agents) are always exempt from this policy.

RequireCustomDomainAccess bool

require_custom_domain_access controls whether users must access via custom domain when one is configured. When true, access via app.gitpod.io is blocked.

RestrictAccountCreationToScim bool

restrict_account_creation_to_scim controls whether account creation is restricted to SCIM-provisioned users only. When true and SCIM is configured for the organization, only users provisioned via SCIM can create accounts.

DeleteArchivedEnvironmentsAfter stringOptional

delete_archived_environments_after controls how long archived environments are kept before automatic deletion. 0 means no automatic deletion. Maximum duration is 4 weeks (2419200 seconds).

formatregex
EditorVersionRestrictions map[string, OrganizationPoliciesEditorVersionRestriction]Optional

editor_version_restrictions restricts which editor versions can be used. Maps editor ID to version policy, editor_version_restrictions not set means no restrictions. If empty or not set for an editor, we will use the latest version of the editor

AllowedVersions []stringOptional

allowed_versions lists the versions that are allowed If empty, we will use the latest version of the editor

Examples for JetBrains: ["2025.2", "2025.1", "2024.3"]

MaximumEnvironmentLifetime stringOptional

maximum_environment_lifetime controls for how long environments are allowed to be reused. 0 means no maximum lifetime. Maximum duration is 180 days (15552000 seconds).

formatregex
MaximumEnvironmentTimeout stringOptional

maximum_environment_timeout controls the maximum timeout allowed for environments in seconds. 0 means no limit (never). Minimum duration is 30 minutes (1800 seconds). value must be 0s (no limit) or at least 1800s (30 minutes):

this == duration('0s') || this >= duration('1800s')
formatregex
SecurityAgentPolicy SecurityAgentPolicyOptional

security_agent_policy contains security agent configuration for the organization. When configured, security agents are automatically deployed to all environments.

Crowdstrike CrowdStrikeConfigOptional

crowdstrike contains CrowdStrike Falcon configuration

AdditionalOptions map[string, string]Optional

additional_options contains additional FALCONCTL_OPT_* options as key-value pairs. Keys should NOT include the FALCONCTL_OPT_ prefix.

CidSecretID stringOptional

cid_secret_id references an organization secret containing the Customer ID (CID).

formatuuid
Enabled boolOptional

enabled controls whether CrowdStrike Falcon is deployed to environments

Image stringOptional

image is the CrowdStrike Falcon sensor container image reference

Tags stringOptional

tags are optional tags to apply to the Falcon sensor (comma-separated)

VetoExecPolicy VetoExecPolicyOptional

veto_exec_policy contains the veto exec policy for environments.

Action KernelControlsActionOptional

action specifies what action kernel-level controls take on policy violations

One of the following:
const KernelControlsActionUnspecified KernelControlsAction = "KERNEL_CONTROLS_ACTION_UNSPECIFIED"
const KernelControlsActionBlock KernelControlsAction = "KERNEL_CONTROLS_ACTION_BLOCK"
const KernelControlsActionAudit KernelControlsAction = "KERNEL_CONTROLS_ACTION_AUDIT"
Enabled boolOptional

enabled controls whether executable blocking is active

Executables []stringOptional

executables is the list of executable paths or names to block

type SecurityAgentPolicy struct{…}

SecurityAgentPolicy contains security agent configuration for an organization. When enabled, security agents are automatically deployed to all environments.

Crowdstrike CrowdStrikeConfigOptional

crowdstrike contains CrowdStrike Falcon configuration

AdditionalOptions map[string, string]Optional

additional_options contains additional FALCONCTL_OPT_* options as key-value pairs. Keys should NOT include the FALCONCTL_OPT_ prefix.

CidSecretID stringOptional

cid_secret_id references an organization secret containing the Customer ID (CID).

formatuuid
Enabled boolOptional

enabled controls whether CrowdStrike Falcon is deployed to environments

Image stringOptional

image is the CrowdStrike Falcon sensor container image reference

Tags stringOptional

tags are optional tags to apply to the Falcon sensor (comma-separated)

type VetoExecPolicy struct{…}

VetoExecPolicy defines the policy for blocking or auditing executable execution in environments.

Action KernelControlsActionOptional

action specifies what action kernel-level controls take on policy violations

One of the following:
const KernelControlsActionUnspecified KernelControlsAction = "KERNEL_CONTROLS_ACTION_UNSPECIFIED"
const KernelControlsActionBlock KernelControlsAction = "KERNEL_CONTROLS_ACTION_BLOCK"
const KernelControlsActionAudit KernelControlsAction = "KERNEL_CONTROLS_ACTION_AUDIT"
Enabled boolOptional

enabled controls whether executable blocking is active

Executables []stringOptional

executables is the list of executable paths or names to block

OrganizationsScim Configurations

CreateSCIMConfiguration
client.Organizations.ScimConfigurations.New(ctx, body) (*OrganizationScimConfigurationNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateSCIMConfiguration
DeleteSCIMConfiguration
client.Organizations.ScimConfigurations.Delete(ctx, body) (*OrganizationScimConfigurationDeleteResponse, error)
POST/gitpod.v1.OrganizationService/DeleteSCIMConfiguration
ListSCIMConfigurations
client.Organizations.ScimConfigurations.List(ctx, params) (*ScimConfigurationsPage[ScimConfiguration], error)
POST/gitpod.v1.OrganizationService/ListSCIMConfigurations
RegenerateSCIMToken
client.Organizations.ScimConfigurations.RegenerateToken(ctx, body) (*OrganizationScimConfigurationRegenerateTokenResponse, error)
POST/gitpod.v1.OrganizationService/RegenerateSCIMToken
GetSCIMConfiguration
client.Organizations.ScimConfigurations.Get(ctx, body) (*OrganizationScimConfigurationGetResponse, error)
POST/gitpod.v1.OrganizationService/GetSCIMConfiguration
UpdateSCIMConfiguration
client.Organizations.ScimConfigurations.Update(ctx, body) (*OrganizationScimConfigurationUpdateResponse, error)
POST/gitpod.v1.OrganizationService/UpdateSCIMConfiguration
ModelsExpand Collapse
type ScimConfiguration struct{…}

SCIMConfiguration represents a SCIM 2.0 provisioning configuration

ID string

id is the unique identifier of the SCIM configuration

formatuuid
CreatedAt Time

created_at is when the SCIM configuration was created

formatdate-time
OrganizationID string

organization_id is the ID of the organization this SCIM configuration belongs to

formatuuid
TokenExpiresAt Time

token_expires_at is when the current SCIM token expires

formatdate-time
UpdatedAt Time

updated_at is when the SCIM configuration was last updated

formatdate-time
Enabled boolOptional

enabled indicates if SCIM provisioning is active

Name stringOptional

name is a human-readable name for the SCIM configuration

maxLength128
SSOConfigurationID stringOptional

sso_configuration_id is the linked SSO configuration (optional)

formatuuid

OrganizationsSSO Configurations

CreateSSOConfiguration
client.Organizations.SSOConfigurations.New(ctx, body) (*OrganizationSSOConfigurationNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateSSOConfiguration
DeleteSSOConfiguration
client.Organizations.SSOConfigurations.Delete(ctx, body) (*OrganizationSSOConfigurationDeleteResponse, error)
POST/gitpod.v1.OrganizationService/DeleteSSOConfiguration
ListSSOConfigurations
client.Organizations.SSOConfigurations.List(ctx, params) (*SSOConfigurationsPage[SSOConfiguration], error)
POST/gitpod.v1.OrganizationService/ListSSOConfigurations
GetSSOConfiguration
client.Organizations.SSOConfigurations.Get(ctx, body) (*OrganizationSSOConfigurationGetResponse, error)
POST/gitpod.v1.OrganizationService/GetSSOConfiguration
UpdateSSOConfiguration
client.Organizations.SSOConfigurations.Update(ctx, body) (*OrganizationSSOConfigurationUpdateResponse, error)
POST/gitpod.v1.OrganizationService/UpdateSSOConfiguration
ModelsExpand Collapse
type AdditionalScopesUpdate struct{…}

AdditionalScopesUpdate wraps a list of OIDC scopes so that the update request can distinguish “not changing scopes” (field absent) from “clearing all scopes” (field present, empty list).

Scopes []stringOptional
type ProviderType string
One of the following:
const ProviderTypeUnspecified ProviderType = "PROVIDER_TYPE_UNSPECIFIED"
const ProviderTypeBuiltin ProviderType = "PROVIDER_TYPE_BUILTIN"
const ProviderTypeCustom ProviderType = "PROVIDER_TYPE_CUSTOM"
type SSOConfiguration struct{…}
ID string

id is the unique identifier of the SSO configuration

formatuuid
IssuerURL string

issuer_url is the URL of the IdP issuer

OrganizationID string
formatuuid
ProviderType ProviderType

provider_type defines the type of the SSO configuration

One of the following:
const ProviderTypeUnspecified ProviderType = "PROVIDER_TYPE_UNSPECIFIED"
const ProviderTypeBuiltin ProviderType = "PROVIDER_TYPE_BUILTIN"
const ProviderTypeCustom ProviderType = "PROVIDER_TYPE_CUSTOM"

state is the state of the SSO configuration

One of the following:
const SSOConfigurationStateUnspecified SSOConfigurationState = "SSO_CONFIGURATION_STATE_UNSPECIFIED"
const SSOConfigurationStateInactive SSOConfigurationState = "SSO_CONFIGURATION_STATE_INACTIVE"
const SSOConfigurationStateActive SSOConfigurationState = "SSO_CONFIGURATION_STATE_ACTIVE"
AdditionalScopes []stringOptional

additional_scopes are extra OIDC scopes requested from the identity provider during sign-in.

Claims map[string, string]Optional

claims are key/value pairs that defines a mapping of claims issued by the IdP.

ClaimsExpression stringOptional

claims_expression is a CEL (Common Expression Language) expression evaluated against the OIDC token claims during login. When set, the expression must evaluate to true for the login to succeed. The expression has access to a claims variable containing all token claims as a map. Example: claims.email_verified && claims.email.endsWith("@example.com")

maxLength4096
ClientID stringOptional

client_id is the client ID of the OIDC application set on the IdP

DisplayName stringOptional
maxLength128
EmailDomain stringOptional
EmailDomains []stringOptional
type SSOConfigurationState string
One of the following:
const SSOConfigurationStateUnspecified SSOConfigurationState = "SSO_CONFIGURATION_STATE_UNSPECIFIED"
const SSOConfigurationStateInactive SSOConfigurationState = "SSO_CONFIGURATION_STATE_INACTIVE"
const SSOConfigurationStateActive SSOConfigurationState = "SSO_CONFIGURATION_STATE_ACTIVE"