Skip to content
Ona Docs

Organizations

CreateOrganization
POST/gitpod.v1.OrganizationService/CreateOrganization
DeleteOrganization
POST/gitpod.v1.OrganizationService/DeleteOrganization
JoinOrganization
POST/gitpod.v1.OrganizationService/JoinOrganization
LeaveOrganization
POST/gitpod.v1.OrganizationService/LeaveOrganization
ListMembers
POST/gitpod.v1.OrganizationService/ListMembers
GetOrganization
POST/gitpod.v1.OrganizationService/GetOrganization
SetRole
POST/gitpod.v1.OrganizationService/SetRole
UpdateOrganization
POST/gitpod.v1.OrganizationService/UpdateOrganization
ModelsExpand Collapse
InviteDomains object { domains }
domains: optional array of string

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

Organization object { id, createdAt, name, 3 more }
id: string
formatuuid
createdAt: string

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:
"ORGANIZATION_TIER_UNSPECIFIED"
"ORGANIZATION_TIER_FREE"
"ORGANIZATION_TIER_ENTERPRISE"
"ORGANIZATION_TIER_CORE"
"ORGANIZATION_TIER_FREE_ONA"
updatedAt: string

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: optional InviteDomains { domains }
domains: optional array of string

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

OrganizationMember object { email, fullName, loginProvider, 5 more }
email: string
fullName: string
loginProvider: string

login_provider is the login provider the user uses to sign in

memberSince: string

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:
"ORGANIZATION_ROLE_UNSPECIFIED"
"ORGANIZATION_ROLE_ADMIN"
"ORGANIZATION_ROLE_MEMBER"
status: UserStatus
One of the following:
"USER_STATUS_UNSPECIFIED"
"USER_STATUS_ACTIVE"
"USER_STATUS_SUSPENDED"
"USER_STATUS_LEFT"
userId: string
formatuuid
avatarUrl: optional string
OrganizationCreateResponse object { organization, member }
organization: Organization { id, createdAt, name, 3 more }

organization is the created organization

id: string
formatuuid
createdAt: string

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:
"ORGANIZATION_TIER_UNSPECIFIED"
"ORGANIZATION_TIER_FREE"
"ORGANIZATION_TIER_ENTERPRISE"
"ORGANIZATION_TIER_CORE"
"ORGANIZATION_TIER_FREE_ONA"
updatedAt: string

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: optional InviteDomains { domains }
domains: optional array of string

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

member: optional OrganizationMember { email, fullName, loginProvider, 5 more }

member is the member that joined the org on creation. Only set if specified “join_organization” is “true” in the request.

email: string
fullName: string
loginProvider: string

login_provider is the login provider the user uses to sign in

memberSince: string

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:
"ORGANIZATION_ROLE_UNSPECIFIED"
"ORGANIZATION_ROLE_ADMIN"
"ORGANIZATION_ROLE_MEMBER"
status: UserStatus
One of the following:
"USER_STATUS_UNSPECIFIED"
"USER_STATUS_ACTIVE"
"USER_STATUS_SUSPENDED"
"USER_STATUS_LEFT"
userId: string
formatuuid
avatarUrl: optional string
OrganizationDeleteResponse = unknown
OrganizationJoinResponse object { member }
member: OrganizationMember { email, fullName, loginProvider, 5 more }

member is the member that was created by joining the organization.

email: string
fullName: string
loginProvider: string

login_provider is the login provider the user uses to sign in

memberSince: string

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:
"ORGANIZATION_ROLE_UNSPECIFIED"
"ORGANIZATION_ROLE_ADMIN"
"ORGANIZATION_ROLE_MEMBER"
status: UserStatus
One of the following:
"USER_STATUS_UNSPECIFIED"
"USER_STATUS_ACTIVE"
"USER_STATUS_SUSPENDED"
"USER_STATUS_LEFT"
userId: string
formatuuid
avatarUrl: optional string
OrganizationLeaveResponse = unknown
OrganizationRetrieveResponse object { organization }
organization: Organization { id, createdAt, name, 3 more }

organization is the requested organization

id: string
formatuuid
createdAt: string

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:
"ORGANIZATION_TIER_UNSPECIFIED"
"ORGANIZATION_TIER_FREE"
"ORGANIZATION_TIER_ENTERPRISE"
"ORGANIZATION_TIER_CORE"
"ORGANIZATION_TIER_FREE_ONA"
updatedAt: string

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: optional InviteDomains { domains }
domains: optional array of string

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

OrganizationSetRoleResponse = unknown
OrganizationUpdateResponse object { organization }
organization: Organization { id, createdAt, name, 3 more }

organization is the updated organization

id: string
formatuuid
createdAt: string

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:
"ORGANIZATION_TIER_UNSPECIFIED"
"ORGANIZATION_TIER_FREE"
"ORGANIZATION_TIER_ENTERPRISE"
"ORGANIZATION_TIER_CORE"
"ORGANIZATION_TIER_FREE_ONA"
updatedAt: string

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: optional InviteDomains { domains }
domains: optional array of string

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

OrganizationsAnnouncement Banner

GetAnnouncementBanner
POST/gitpod.v1.OrganizationService/GetAnnouncementBanner
UpdateAnnouncementBanner
POST/gitpod.v1.OrganizationService/UpdateAnnouncementBanner
ModelsExpand Collapse
AnnouncementBanner object { organizationId, enabled, message }
organizationId: string

organization_id is the ID of the organization

formatuuid
enabled: optional boolean

enabled controls whether the banner is displayed

message: optional string

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

maxLength1000
AnnouncementBannerGetResponse object { banner }
AnnouncementBannerUpdateResponse object { banner }

OrganizationsCustom Domains

CreateCustomDomain
POST/gitpod.v1.OrganizationService/CreateCustomDomain
DeleteCustomDomain
POST/gitpod.v1.OrganizationService/DeleteCustomDomain
GetCustomDomain
POST/gitpod.v1.OrganizationService/GetCustomDomain
UpdateCustomDomain
POST/gitpod.v1.OrganizationService/UpdateCustomDomain
ModelsExpand Collapse
CustomDomain object { id, createdAt, domainName, 5 more }

CustomDomain represents a custom domain configuration for an organization

id: string

id is the unique identifier of the custom domain

formatuuid
createdAt: string

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: string

updated_at is when the custom domain was last updated

formatdate-time
DeprecatedawsAccountId: optional string

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

cloudAccountId: optional string

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

One of the following:
"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
"CUSTOM_DOMAIN_PROVIDER_AWS"
"CUSTOM_DOMAIN_PROVIDER_GCP"
CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED" or "CUSTOM_DOMAIN_PROVIDER_AWS" or "CUSTOM_DOMAIN_PROVIDER_GCP"

CustomDomainProvider represents the cloud provider for custom domain configuration

One of the following:
"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
"CUSTOM_DOMAIN_PROVIDER_AWS"
"CUSTOM_DOMAIN_PROVIDER_GCP"
CustomDomainCreateResponse object { customDomain }

CreateCustomDomainResponse is the response message for creating a custom domain

customDomain: CustomDomain { id, createdAt, domainName, 5 more }

custom_domain is the created custom domain

id: string

id is the unique identifier of the custom domain

formatuuid
createdAt: string

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: string

updated_at is when the custom domain was last updated

formatdate-time
DeprecatedawsAccountId: optional string

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

cloudAccountId: optional string

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

One of the following:
"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
"CUSTOM_DOMAIN_PROVIDER_AWS"
"CUSTOM_DOMAIN_PROVIDER_GCP"
CustomDomainDeleteResponse = unknown

DeleteCustomDomainResponse is the response message for deleting a custom domain

CustomDomainRetrieveResponse object { customDomain }
customDomain: CustomDomain { id, createdAt, domainName, 5 more }

CustomDomain represents a custom domain configuration for an organization

id: string

id is the unique identifier of the custom domain

formatuuid
createdAt: string

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: string

updated_at is when the custom domain was last updated

formatdate-time
DeprecatedawsAccountId: optional string

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

cloudAccountId: optional string

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

One of the following:
"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
"CUSTOM_DOMAIN_PROVIDER_AWS"
"CUSTOM_DOMAIN_PROVIDER_GCP"
CustomDomainUpdateResponse object { customDomain }

UpdateCustomDomainResponse is the response message for updating a custom domain

customDomain: CustomDomain { id, createdAt, domainName, 5 more }

custom_domain is the updated custom domain

id: string

id is the unique identifier of the custom domain

formatuuid
createdAt: string

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: string

updated_at is when the custom domain was last updated

formatdate-time
DeprecatedawsAccountId: optional string

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

cloudAccountId: optional string

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

One of the following:
"CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
"CUSTOM_DOMAIN_PROVIDER_AWS"
"CUSTOM_DOMAIN_PROVIDER_GCP"

OrganizationsDomain Verifications

CreateDomainVerification
POST/gitpod.v1.OrganizationService/CreateDomainVerification
DeleteDomainVerification
POST/gitpod.v1.OrganizationService/DeleteDomainVerification
ListDomainVerifications
POST/gitpod.v1.OrganizationService/ListDomainVerifications
GetDomainVerification
POST/gitpod.v1.OrganizationService/GetDomainVerification
VerifyDomain
POST/gitpod.v1.OrganizationService/VerifyDomain
ModelsExpand Collapse
DomainVerification object { id, domain, organizationId, 4 more }
id: string
formatuuid
domain: string
maxLength253
minLength4
organizationId: string
formatuuid
One of the following:
"DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
"DOMAIN_VERIFICATION_STATE_PENDING"
"DOMAIN_VERIFICATION_STATE_VERIFIED"
createdAt: optional string

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: optional string
verifiedAt: optional string

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
DomainVerificationState = "DOMAIN_VERIFICATION_STATE_UNSPECIFIED" or "DOMAIN_VERIFICATION_STATE_PENDING" or "DOMAIN_VERIFICATION_STATE_VERIFIED"
One of the following:
"DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
"DOMAIN_VERIFICATION_STATE_PENDING"
"DOMAIN_VERIFICATION_STATE_VERIFIED"
DomainVerificationCreateResponse object { domainVerification }
domainVerification: DomainVerification { id, domain, organizationId, 4 more }
id: string
formatuuid
domain: string
maxLength253
minLength4
organizationId: string
formatuuid
One of the following:
"DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
"DOMAIN_VERIFICATION_STATE_PENDING"
"DOMAIN_VERIFICATION_STATE_VERIFIED"
createdAt: optional string

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: optional string
verifiedAt: optional string

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
DomainVerificationDeleteResponse = unknown
DomainVerificationRetrieveResponse object { domainVerification }
domainVerification: DomainVerification { id, domain, organizationId, 4 more }
id: string
formatuuid
domain: string
maxLength253
minLength4
organizationId: string
formatuuid
One of the following:
"DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
"DOMAIN_VERIFICATION_STATE_PENDING"
"DOMAIN_VERIFICATION_STATE_VERIFIED"
createdAt: optional string

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: optional string
verifiedAt: optional string

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
DomainVerificationVerifyResponse object { domainVerification }
domainVerification: DomainVerification { id, domain, organizationId, 4 more }
id: string
formatuuid
domain: string
maxLength253
minLength4
organizationId: string
formatuuid
One of the following:
"DOMAIN_VERIFICATION_STATE_UNSPECIFIED"
"DOMAIN_VERIFICATION_STATE_PENDING"
"DOMAIN_VERIFICATION_STATE_VERIFIED"
createdAt: optional string

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: optional string
verifiedAt: optional string

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

OrganizationsInvites

CreateOrganizationInvite
POST/gitpod.v1.OrganizationService/CreateOrganizationInvite
GetOrganizationInviteSummary
POST/gitpod.v1.OrganizationService/GetOrganizationInviteSummary
GetOrganizationInvite
POST/gitpod.v1.OrganizationService/GetOrganizationInvite
ModelsExpand Collapse
OrganizationInvite object { inviteId }
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
InviteCreateResponse object { invite }
invite: OrganizationInvite { inviteId }
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
InviteGetSummaryResponse object { organizationId, organizationMemberCount, organizationName }
organizationId: string
formatuuid
organizationMemberCount: optional number
formatint32
organizationName: optional string
InviteRetrieveResponse object { invite }
invite: OrganizationInvite { inviteId }
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
POST/gitpod.v1.OrganizationService/GetOrganizationPolicies
UpdateOrganizationPolicies
POST/gitpod.v1.OrganizationService/UpdateOrganizationPolicies
ModelsExpand Collapse
AgentPolicy object { commandDenyList, mcpDisabled, scmToolsDisabled, 3 more }

AgentPolicy contains agent-specific policy settings for an organization

commandDenyList: array of string

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

mcpDisabled: boolean

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

scmToolsDisabled: boolean

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

conversationSharingPolicy: optional ConversationSharingPolicy

conversation_sharing_policy controls whether agent conversations can be shared

One of the following:
"CONVERSATION_SHARING_POLICY_UNSPECIFIED"
"CONVERSATION_SHARING_POLICY_DISABLED"
"CONVERSATION_SHARING_POLICY_ORGANIZATION"
maxSubagentsPerEnvironment: optional number

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: optional string

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).

ConversationSharingPolicy = "CONVERSATION_SHARING_POLICY_UNSPECIFIED" or "CONVERSATION_SHARING_POLICY_DISABLED" or "CONVERSATION_SHARING_POLICY_ORGANIZATION"

ConversationSharingPolicy controls how agent conversations can be shared.

One of the following:
"CONVERSATION_SHARING_POLICY_UNSPECIFIED"
"CONVERSATION_SHARING_POLICY_DISABLED"
"CONVERSATION_SHARING_POLICY_ORGANIZATION"
CrowdStrikeConfig object { additionalOptions, cidSecretId, enabled, 2 more }

CrowdStrikeConfig configures CrowdStrike Falcon sensor deployment

additionalOptions: optional map[string]

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

cidSecretId: optional string

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

formatuuid
enabled: optional boolean

enabled controls whether CrowdStrike Falcon is deployed to environments

image: optional string

image is the CrowdStrike Falcon sensor container image reference

tags: optional string

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

CustomAgentEnvMapping object { name, secretName }

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

name: optional string

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

secretName: optional string

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

CustomSecurityAgent object { id, description, enabled, 3 more }

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

id: optional string

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

description: optional string

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

enabled: optional boolean

enabled controls whether this custom agent is deployed to environments

envMappings: optional array of CustomAgentEnvMapping { name, secretName }

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

name: optional string

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

secretName: optional string

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

name: optional string

name is the display name for this custom agent

startCommand: optional string

start_command is the shell script that starts the agent

KernelControlsAction = "KERNEL_CONTROLS_ACTION_UNSPECIFIED" or "KERNEL_CONTROLS_ACTION_BLOCK" or "KERNEL_CONTROLS_ACTION_AUDIT"

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

One of the following:
"KERNEL_CONTROLS_ACTION_UNSPECIFIED"
"KERNEL_CONTROLS_ACTION_BLOCK"
"KERNEL_CONTROLS_ACTION_AUDIT"
OrganizationPolicies object { agentPolicy, allowedEditorIds, allowLocalRunners, 16 more }
agentPolicy: AgentPolicy { commandDenyList, mcpDisabled, scmToolsDisabled, 3 more }

agent_policy contains agent-specific policy settings

commandDenyList: array of string

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

mcpDisabled: boolean

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

scmToolsDisabled: boolean

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

conversationSharingPolicy: optional ConversationSharingPolicy

conversation_sharing_policy controls whether agent conversations can be shared

One of the following:
"CONVERSATION_SHARING_POLICY_UNSPECIFIED"
"CONVERSATION_SHARING_POLICY_DISABLED"
"CONVERSATION_SHARING_POLICY_ORGANIZATION"
maxSubagentsPerEnvironment: optional number

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: optional string

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: array of string

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

allowLocalRunners: boolean

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: boolean

members_create_projects controls whether members can create projects

membersRequireProjects: boolean

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: boolean

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: boolean

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: boolean

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: optional string

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: optional map[object { allowedVersions } ]

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: optional array of string

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: optional string

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: optional string

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: optional SecurityAgentPolicy { crowdstrike }

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

crowdstrike: optional CrowdStrikeConfig { additionalOptions, cidSecretId, enabled, 2 more }

crowdstrike contains CrowdStrike Falcon configuration

additionalOptions: optional map[string]

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

cidSecretId: optional string

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

formatuuid
enabled: optional boolean

enabled controls whether CrowdStrike Falcon is deployed to environments

image: optional string

image is the CrowdStrike Falcon sensor container image reference

tags: optional string

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

vetoExecPolicy: optional VetoExecPolicy { action, enabled, executables }

veto_exec_policy contains the veto exec policy for environments.

action: optional KernelControlsAction

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

One of the following:
"KERNEL_CONTROLS_ACTION_UNSPECIFIED"
"KERNEL_CONTROLS_ACTION_BLOCK"
"KERNEL_CONTROLS_ACTION_AUDIT"
enabled: optional boolean

enabled controls whether executable blocking is active

executables: optional array of string

executables is the list of executable paths or names to block

SecurityAgentPolicy object { crowdstrike }

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

crowdstrike: optional CrowdStrikeConfig { additionalOptions, cidSecretId, enabled, 2 more }

crowdstrike contains CrowdStrike Falcon configuration

additionalOptions: optional map[string]

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

cidSecretId: optional string

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

formatuuid
enabled: optional boolean

enabled controls whether CrowdStrike Falcon is deployed to environments

image: optional string

image is the CrowdStrike Falcon sensor container image reference

tags: optional string

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

VetoExecPolicy object { action, enabled, executables }

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

action: optional KernelControlsAction

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

One of the following:
"KERNEL_CONTROLS_ACTION_UNSPECIFIED"
"KERNEL_CONTROLS_ACTION_BLOCK"
"KERNEL_CONTROLS_ACTION_AUDIT"
enabled: optional boolean

enabled controls whether executable blocking is active

executables: optional array of string

executables is the list of executable paths or names to block

PolicyRetrieveResponse object { policies }
policies: OrganizationPolicies { agentPolicy, allowedEditorIds, allowLocalRunners, 16 more }
agentPolicy: AgentPolicy { commandDenyList, mcpDisabled, scmToolsDisabled, 3 more }

agent_policy contains agent-specific policy settings

commandDenyList: array of string

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

mcpDisabled: boolean

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

scmToolsDisabled: boolean

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

conversationSharingPolicy: optional ConversationSharingPolicy

conversation_sharing_policy controls whether agent conversations can be shared

One of the following:
"CONVERSATION_SHARING_POLICY_UNSPECIFIED"
"CONVERSATION_SHARING_POLICY_DISABLED"
"CONVERSATION_SHARING_POLICY_ORGANIZATION"
maxSubagentsPerEnvironment: optional number

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: optional string

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: array of string

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

allowLocalRunners: boolean

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: boolean

members_create_projects controls whether members can create projects

membersRequireProjects: boolean

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: boolean

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: boolean

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: boolean

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: optional string

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: optional map[object { allowedVersions } ]

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: optional array of string

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: optional string

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: optional string

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: optional SecurityAgentPolicy { crowdstrike }

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

crowdstrike: optional CrowdStrikeConfig { additionalOptions, cidSecretId, enabled, 2 more }

crowdstrike contains CrowdStrike Falcon configuration

additionalOptions: optional map[string]

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

cidSecretId: optional string

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

formatuuid
enabled: optional boolean

enabled controls whether CrowdStrike Falcon is deployed to environments

image: optional string

image is the CrowdStrike Falcon sensor container image reference

tags: optional string

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

vetoExecPolicy: optional VetoExecPolicy { action, enabled, executables }

veto_exec_policy contains the veto exec policy for environments.

action: optional KernelControlsAction

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

One of the following:
"KERNEL_CONTROLS_ACTION_UNSPECIFIED"
"KERNEL_CONTROLS_ACTION_BLOCK"
"KERNEL_CONTROLS_ACTION_AUDIT"
enabled: optional boolean

enabled controls whether executable blocking is active

executables: optional array of string

executables is the list of executable paths or names to block

PolicyUpdateResponse = unknown

OrganizationsScim Configurations

CreateSCIMConfiguration
POST/gitpod.v1.OrganizationService/CreateSCIMConfiguration
DeleteSCIMConfiguration
POST/gitpod.v1.OrganizationService/DeleteSCIMConfiguration
ListSCIMConfigurations
POST/gitpod.v1.OrganizationService/ListSCIMConfigurations
RegenerateSCIMToken
POST/gitpod.v1.OrganizationService/RegenerateSCIMToken
GetSCIMConfiguration
POST/gitpod.v1.OrganizationService/GetSCIMConfiguration
UpdateSCIMConfiguration
POST/gitpod.v1.OrganizationService/UpdateSCIMConfiguration
ModelsExpand Collapse
ScimConfiguration object { id, createdAt, organizationId, 5 more }

SCIMConfiguration represents a SCIM 2.0 provisioning configuration

id: string

id is the unique identifier of the SCIM configuration

formatuuid
createdAt: string

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: string

token_expires_at is when the current SCIM token expires

formatdate-time
updatedAt: string

updated_at is when the SCIM configuration was last updated

formatdate-time
enabled: optional boolean

enabled indicates if SCIM provisioning is active

name: optional string

name is a human-readable name for the SCIM configuration

maxLength128
ssoConfigurationId: optional string

sso_configuration_id is the linked SSO configuration (optional)

formatuuid
ScimConfigurationCreateResponse object { token, scimConfiguration, tokenExpiresAt }
token: string

token is the bearer token for SCIM API authentication. This is only returned once during creation - store it securely.

scimConfiguration: ScimConfiguration { id, createdAt, organizationId, 5 more }

scim_configuration is the created SCIM configuration

id: string

id is the unique identifier of the SCIM configuration

formatuuid
createdAt: string

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: string

token_expires_at is when the current SCIM token expires

formatdate-time
updatedAt: string

updated_at is when the SCIM configuration was last updated

formatdate-time
enabled: optional boolean

enabled indicates if SCIM provisioning is active

name: optional string

name is a human-readable name for the SCIM configuration

maxLength128
ssoConfigurationId: optional string

sso_configuration_id is the linked SSO configuration (optional)

formatuuid
tokenExpiresAt: string

token_expires_at is when the token will expire

formatdate-time
ScimConfigurationDeleteResponse = unknown
ScimConfigurationRegenerateTokenResponse object { token, tokenExpiresAt }
token: string

token is the new bearer token for SCIM API authentication. This invalidates the previous token - store it securely.

tokenExpiresAt: string

token_expires_at is when the new token will expire

formatdate-time
ScimConfigurationRetrieveResponse object { scimConfiguration }
scimConfiguration: ScimConfiguration { id, createdAt, organizationId, 5 more }

scim_configuration is the SCIM configuration identified by the ID

id: string

id is the unique identifier of the SCIM configuration

formatuuid
createdAt: string

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: string

token_expires_at is when the current SCIM token expires

formatdate-time
updatedAt: string

updated_at is when the SCIM configuration was last updated

formatdate-time
enabled: optional boolean

enabled indicates if SCIM provisioning is active

name: optional string

name is a human-readable name for the SCIM configuration

maxLength128
ssoConfigurationId: optional string

sso_configuration_id is the linked SSO configuration (optional)

formatuuid
ScimConfigurationUpdateResponse object { scimConfiguration }
scimConfiguration: ScimConfiguration { id, createdAt, organizationId, 5 more }

scim_configuration is the updated SCIM configuration

id: string

id is the unique identifier of the SCIM configuration

formatuuid
createdAt: string

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: string

token_expires_at is when the current SCIM token expires

formatdate-time
updatedAt: string

updated_at is when the SCIM configuration was last updated

formatdate-time
enabled: optional boolean

enabled indicates if SCIM provisioning is active

name: optional string

name is a human-readable name for the SCIM configuration

maxLength128
ssoConfigurationId: optional string

sso_configuration_id is the linked SSO configuration (optional)

formatuuid

OrganizationsSSO Configurations

CreateSSOConfiguration
POST/gitpod.v1.OrganizationService/CreateSSOConfiguration
DeleteSSOConfiguration
POST/gitpod.v1.OrganizationService/DeleteSSOConfiguration
ListSSOConfigurations
POST/gitpod.v1.OrganizationService/ListSSOConfigurations
GetSSOConfiguration
POST/gitpod.v1.OrganizationService/GetSSOConfiguration
UpdateSSOConfiguration
POST/gitpod.v1.OrganizationService/UpdateSSOConfiguration
ModelsExpand Collapse
AdditionalScopesUpdate object { scopes }

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: optional array of string
ProviderType = "PROVIDER_TYPE_UNSPECIFIED" or "PROVIDER_TYPE_BUILTIN" or "PROVIDER_TYPE_CUSTOM"
One of the following:
"PROVIDER_TYPE_UNSPECIFIED"
"PROVIDER_TYPE_BUILTIN"
"PROVIDER_TYPE_CUSTOM"
SSOConfiguration object { id, issuerUrl, organizationId, 9 more }
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:
"PROVIDER_TYPE_UNSPECIFIED"
"PROVIDER_TYPE_BUILTIN"
"PROVIDER_TYPE_CUSTOM"

state is the state of the SSO configuration

One of the following:
"SSO_CONFIGURATION_STATE_UNSPECIFIED"
"SSO_CONFIGURATION_STATE_INACTIVE"
"SSO_CONFIGURATION_STATE_ACTIVE"
additionalScopes: optional array of string

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

claims: optional map[string]

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

claimsExpression: optional string

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: optional string

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

displayName: optional string
maxLength128
emailDomain: optional string
emailDomains: optional array of string
SSOConfigurationState = "SSO_CONFIGURATION_STATE_UNSPECIFIED" or "SSO_CONFIGURATION_STATE_INACTIVE" or "SSO_CONFIGURATION_STATE_ACTIVE"
One of the following:
"SSO_CONFIGURATION_STATE_UNSPECIFIED"
"SSO_CONFIGURATION_STATE_INACTIVE"
"SSO_CONFIGURATION_STATE_ACTIVE"
SSOConfigurationCreateResponse object { ssoConfiguration }
ssoConfiguration: SSOConfiguration { id, issuerUrl, organizationId, 9 more }

sso_configuration is the created SSO configuration

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:
"PROVIDER_TYPE_UNSPECIFIED"
"PROVIDER_TYPE_BUILTIN"
"PROVIDER_TYPE_CUSTOM"

state is the state of the SSO configuration

One of the following:
"SSO_CONFIGURATION_STATE_UNSPECIFIED"
"SSO_CONFIGURATION_STATE_INACTIVE"
"SSO_CONFIGURATION_STATE_ACTIVE"
additionalScopes: optional array of string

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

claims: optional map[string]

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

claimsExpression: optional string

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: optional string

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

displayName: optional string
maxLength128
emailDomain: optional string
emailDomains: optional array of string
SSOConfigurationDeleteResponse = unknown
SSOConfigurationRetrieveResponse object { ssoConfiguration }
ssoConfiguration: SSOConfiguration { id, issuerUrl, organizationId, 9 more }

sso_configuration is the SSO configuration identified by the ID

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:
"PROVIDER_TYPE_UNSPECIFIED"
"PROVIDER_TYPE_BUILTIN"
"PROVIDER_TYPE_CUSTOM"

state is the state of the SSO configuration

One of the following:
"SSO_CONFIGURATION_STATE_UNSPECIFIED"
"SSO_CONFIGURATION_STATE_INACTIVE"
"SSO_CONFIGURATION_STATE_ACTIVE"
additionalScopes: optional array of string

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

claims: optional map[string]

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

claimsExpression: optional string

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: optional string

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

displayName: optional string
maxLength128
emailDomain: optional string
emailDomains: optional array of string
SSOConfigurationUpdateResponse = unknown