Skip to main content
The Model Rollouts API allows you to create, list, schedule, and delete model rollouts. A model rollout represents the rollout of a ModelLine.

Resource

ModelRollout

name
string
required
Resource name with pattern modelProviders/{model_provider}/modelSuites/{model_suite}/modelLines/{model_line}/modelRollouts/{model_rollout}
rollout_deploy_period
oneof
required
Determine the type of rollout for this ModelRollout. One of:
gradual_rollout_period
DateInterval
Date interval in UTC format over which the rollout must be deployed.end_date cannot precede start_date. This field is immutable after creation.
instant_rollout_date
Date
In case of a rollout instantly deployed, instant_rollout_date must be specified instead.Date is expressed in UTC format. This field is immutable after creation.
rollout_freeze_date
Date
Indicates the date the rollout must stop expanding its release percentage.It must be within rollout_start_date and rollout_end_date. Once set, this value can no longer be changed.
previous_model_rollout
string
The previous model rollout this model rollout transitions from.The system will automatically set this field to the ModelRollout with the most recent rollout_start_time. Not set if rollout_start_time == rollout_end_time.Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelLines/{model_line}/modelRollouts/{model_rollout}
model_release
string
required
The ModelRelease this model rollout refers to.Both the ModelRelease and the ModelRollout need to be parented by the same ModelSuite. This field is immutable after creation.Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelReleases/{model_release}
create_time
Timestamp
When the ModelRollout was created
update_time
Timestamp
When the ModelRollout was last updated

Methods

CreateModelRollout

Creates a new ModelRollout. rollout_start_time must be sufficiently in the future to allow for EDPs to sync with the Kingdom.
parent
string
required
Resource name of the parent ModelLine.Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelLines/{model_line}
model_rollout
ModelRollout
required
The ModelRollout to create. The name field will be ignored, and the system will assign an ID.Required fields:
  • model_release: Reference to a ModelRelease
  • One of gradual_rollout_period or instant_rollout_date
Response Returns the created ModelRollout resource. Example Request
CreateModelRolloutRequest {
  parent: "modelProviders/123/modelSuites/456/modelLines/789"
  model_rollout: {
    model_release: "modelProviders/123/modelSuites/456/modelReleases/101"
    gradual_rollout_period: {
      start_date: { year: 2024, month: 1, day: 1 }
      end_date: { year: 2024, month: 1, day: 31 }
    }
  }
}

ListModelRollouts

Lists ModelRollout resources for a given ModelLine. Returns a sorted list by rollout_start_time ASC.
parent
string
required
Resource name of the parent ModelLine.Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelLines/{model_line}The wildcard ID (-) may be used in place of the ModelLine ID to list across every ModelLine in the ancestor ModelSuite.
filter
Filter
Structured filter criteria. Each field represents a term in a conjunction.
filter.rollout_period_overlapping
DateInterval
Only ModelRollouts having rollout_deploy_period overlapping rollout_period_overlapping are returned.
filter.model_release_in
string[]
Set of ModelRelease resource names which ModelRollout.model_release must be in.These must belong to the same ModelSuite as specified in parent. Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelReleases/{model_release}
page_size
int32
The maximum number of ModelRollouts to return. The service may return fewer than this value.
  • If unspecified, at most 50 ModelRollouts will be returned
  • Maximum value is 1000; values above 1000 will be coerced to 1000
page_token
string
A page token received from a previous ListModelRollouts call. Provide this to retrieve the subsequent page.When paginating, all other parameters must match the call that provided the page token.
Response
model_rollouts
ModelRollout[]
List of ModelRollout resources
next_page_token
string
A token that can be sent as page_token to retrieve the next page. If omitted, there are no subsequent pages.
Example Request
ListModelRolloutsRequest {
  parent: "modelProviders/123/modelSuites/456/modelLines/789"
  filter: {
    rollout_period_overlapping: {
      start_date: { year: 2024, month: 1, day: 1 }
      end_date: { year: 2024, month: 12, day: 31 }
    }
  }
  page_size: 50
}

ScheduleModelRolloutFreeze

Sets the rollout_freeze_date of a ModelRollout. Any attempt to schedule the rollout_freeze_date for an instant rollout will result in an exception.
name
string
required
Resource name of the ModelRollout.Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelLines/{model_line}/modelRollouts/{model_rollout}
rollout_freeze_date
Date
The rollout_freeze_date value to be set.This must be sufficiently in the future to allow for EDPs to sync with the Kingdom.
Response Returns the updated ModelRollout resource. Example Request
ScheduleModelRolloutFreezeRequest {
  name: "modelProviders/123/modelSuites/456/modelLines/789/modelRollouts/101"
  rollout_freeze_date: { year: 2024, month: 1, day: 15 }
}

DeleteModelRollout

Deletes a ModelRollout. Results in FAILED_PRECONDITION if the request is received after ModelRollout.rollout_period.start_time.
name
string
required
The name of the ModelRollout to delete.Format: modelProviders/{model_provider}/modelSuites/{model_suite}/modelLines/{model_line}/modelRollouts/{model_rollout}
Response Returns an empty response on success. Example Request
DeleteModelRolloutRequest {
  name: "modelProviders/123/modelSuites/456/modelLines/789/modelRollouts/101"
}

Build docs developers (and LLMs) love