Update Existing Schedule
This documentation is for Kyvos 2026.6.x. To view documentation for other Kyvos versions, click here. |
|---|
Overview
This API updates one or more properties of a Semantic Model schedule.
Method: PUT
Request URL: {kyvos-url}/rest/v2/semantic-models/{name-or-id}/schedules/{schedule-id}
Authorization
API Key: sessionid
This method authenticates requests using a session ID which acts like an API key.
BasicAuth: HTTP Authorization Scheme
This method authenticates requests using a username and password sent in the HTTP Authorization header.
Headers
Header Name | Type | Description | Possible Values |
|---|---|---|---|
Content-Type (Required) | String | Specifies the media type of the request body. |
|
sessionid | String | The session ID is the token received from the login API. Note: Session ID is required for token-based authentication. | – |
Path Parameters
Parameter Name | Type | Description | Possible Values |
|---|---|---|---|
name-or-id (Required) | String | Name or ID of the Semantic Model whose schedule needs to be updated. Note: If the Semantic Model name is provided, either folderName or folderId must also be provided. | – |
schedule-id (Required) | String | ID of the schedule to be updated. | – |
Query Parameters
Parameter Name | Type | Description | Possible Values |
|---|---|---|---|
by | String | Specifies whether the name-or-id parameter should be interpreted as a Semantic Model name or Semantic Model ID. If by=name, provide the Semantic Model name in the name-or-id parameter. If by=id, provide the Semantic Model ID in the name-or-id parameter. The default value is name. | – |
folderName | String | Name of the folder containing the Semantic Model. If the Semantic Model is present in the root directory, specify [Root]. Note: If neither folderName nor folderId is provided, the Semantic Model will be treated as a root-level entity by default. | – |
folderId | String | ID of the folder containing the Semantic Model. | – |
Request Body
Parameter Name | Type | Description | Possible Values |
|---|---|---|---|
requestJson (Required) | String | JSON object containing the updated schedule properties. Note: An example JSON object is provided in the Resources section below. | – |
Responses
200 Success
{
"code": 0,
"message": "Successfully updated schedule"
}Status Code | Description |
|---|---|
401 | Authorization information is missing or invalid. |
404 | No matching record found. |
412 | Precondition failed. Required parameter is missing. |
500 | Internal Server Error |
Resources
Below is an example of JSON structure which can be used as a reference for the requestJson parameter in the request body.
{
"runType": "RECURRING",
"dataProcessType": "FULL",
"recurringSchedule": {
"endDate": "12/31/2030",
"timeZone": "",
"startTime": "",
"dailyBuildFrequency": "ONCE",
"endTime": "",
"recurringTime": "10:00",
"startDate": "05/06/2026",
"buildOnDay": "1",
"frequency": "DAILY"
}
} Json Fields Description
Field | Type | Description | Possible values | Example |
incrementalJobProcessType | String | Use only when changing incremental-build processing. Specifies how an incremental semantic-model build processes changed data. Optional. | Supported documented value: FACT_ADJUSTMENTS. | FACT_ADJUSTMENTS |
dataProcessType | String | Relevant to full or test builds where raw-data querying is enabled. Controls the kind of data processing performed by the build. Optional. | Supported documented value: PROCESS_METADATA_ONLY. | PROCESS_METADATA_ONLY |
keepData | String | Relevant when updating a full or test build for a raw-data-query-enabled model. Defines which data Kyvos retains after the build. Optional. | RAW, ONLY_RAW_DATA, AGGREGATED, DESIGN_AND_QUERY_BASED_AGGREGATED, BOTH, RAW_AND_QUERY_BASED_AGGREGATED, ONLY_QUERY_BASED_AGGREGATED. | RAW_AND_QUERY_BASED_AGGREGATED |
jobConnectionName | String | Name of the connection Kyvos uses to run the scheduled build. Optional. | Existing and accessible Kyvos connection name. | Snowflake Production |
userParams | Array of JSON objects | Include when changing user or parameter values supplied to the semantic model during the build. Each entry maps a parameter name to a value. Optional. | Array containing name and value objects. | [{"name":"Region","value":"North America"}] |
userParams[].name | String | Name of an existing semantic-model parameter. Required for every userParams item. | Must match a parameter defined in the semantic model. | Region |
userParams[].value | String, number, boolean, array, or JSON value | Value passed to the parameter at build time. Required for every userParams item. | Value must be valid for the named parameter’s data type. | North America |
systemParamsJson | Array of JSON objects | Include when changing system-level build options, such as selected datasets. The update implementation expects an array. Optional. | Array containing name and value objects. | [{"name":"DATASETS","value":[{"name":"Accounting"}]}] |
systemParamsJson[].name | String | Name of the system build parameter to update. Required for every systemParamsJson item. | System-supported parameter name, such as DATASETS. | DATASETS |
systemParamsJson[].value | String, number, boolean, array, or JSON value | Value assigned to the system build parameter. Required for every systemParamsJson item. | Depends on the selected name. | [{"name":"Accounting"}] |
systemParamsJson[].value[].name | String | Name of a dataset to use in the build. Required when systemParamsJson[].name is DATASETS. | Existing dataset name. | Accounting |
updateAggregatesPartitions | JSON object | Used only when the existing schedule is an UPDATE_AGGREGATES schedule. It is ignored for other build types. Identifies aggregate partitions that Kyvos must update. Optional. | Object containing partitions. | {"partitions":[{"caption":"2020-06-30","id":"18444","factName":"fact_sellin"}]} |
updateAggregatesPartitions.partitions | Array of JSON objects | List of aggregate partitions selected for update. Required when updateAggregatesPartitions is supplied. | One or more partition objects. | [{"caption":"2020-06-30","id":"18444","factName":"fact_sellin"}] |
updateAggregatesPartitions.partitions[].caption | String | Human-readable partition label, usually a date or partition value displayed in Kyvos. Optional but recommended for every partition. | Existing partition caption. | 6/30/2020 |
updateAggregatesPartitions.partitions[].id | String | Unique identifier of the aggregate partition. Required for every usable partition selection. | Existing partition ID. | 18444 |
updateAggregatesPartitions.partitions[].factName | String | Name of the fact table associated with the partition. Optional when the partition belongs to one fact; recommended otherwise. | Existing fact-table name. | fact_sellin |
recommendationParamsJson | JSON object | Use when changing query-based aggregate recommendation settings. Each supplied key and value is stored as a recommendation setting. Optional. | Object containing recommendation settings. | {"RECOMMENDATION_TYPE":"AGGREGATION","QUERY_DAYS":3,"CONSIDER_QUERY_PATTERNS":false} |
recommendationParamsJson.RECOMMENDATION_TYPE | String | Defines the type of recommendation Kyvos should generate. Optional. | Documented value: AGGREGATION. | AGGREGATION |
recommendationParamsJson.AGGREGATION_STRATEGY_TYPE | String | Defines the aggregate recommendation strategy. Optional. | Documented value: ONLY_NEW_AGGREGATION. | ONLY_NEW_AGGREGATION |
recommendationParamsJson.QUERY_DAYS | Number or numeric string | Number of past days of query history Kyvos examines. Optional. | Positive whole number. | 3 |
recommendationParamsJson.QUERY_EXECUTION_TIME | Number or numeric string | Query-execution-time threshold considered when generating recommendations. Optional. | Non-negative number, according to the recommendation policy. | 10 |
recommendationParamsJson.SELECTED_USERS | String | User or users whose query history Kyvos considers. Optional. | Valid Kyvos user name or supported user-selection value. | system-user |
recommendationParamsJson.CONSIDER_QUERY_PATTERNS | Boolean | Specifies whether repeated query patterns should be considered during recommendation generation. Optional. | true, false. | FALSE |
tagsJSON | Array of strings | Changes the tags associated with the scheduled build. Duplicate tag values are removed automatically. Optional. | Array of text tag values. | ["monthly-build","production"] |
tagsJSON[] | String | A label used to organize, identify, or search for the scheduled build. Required for every tagsJSON item. | Non-empty tag text. | production |
replacePartition | Boolean | Controls whether the target partition is replaced during the scheduled build. When true, Kyvos replaces the applicable existing partition. Optional. | true, false. | TRUE |
runType | String | Determines whether the build runs immediately, once at a selected date/time, or repeatedly. Changing this value clears settings belonging to the old run type. Optional. Required only when changing when the schedule runs | NOW, ONCE, RECURRING. | RECURRING |
onceDateTime | String | Do not use for a recurring schedule. Date and time for a one-time build. Required when runType is ONCE. | Format: MM/dd/yyyy HH:mm, using 24-hour time. | 9/20/2026 18:10 |
timeZone | String | Time zone used to interpret onceDateTime. Optional but recommended when runType is ONCE. | Valid Kyvos or Java time-zone ID. | US/Alaska |
recurringSchedule | JSON object | Do not use for a one-time schedule. Defines how often and during which period Kyvos runs the build. Required when runType is RECURRING. | Object containing common and frequency-specific schedule fields. | {"startDate":"11/03/2026","frequency":"DAILY","dailyBuildFrequency":"ONCE","recurringTime":"17:44","buildOnDay":"1"} |
recurringSchedule.startDate | String | First date on which the recurring schedule may run. Optional but recommended for a recurring schedule. | Typically MM/dd/yyyy. | 11/3/2026 |
recurringSchedule.endDate | String | Last date on which the recurring schedule may run. Optional. | Typically MM/dd/yyyy. | 11/5/2026 |
recurringSchedule.startTime | String | Beginning of the permitted daily execution window. Optional. | HH:mm, 24-hour time. | 8:00 |
recurringSchedule.endTime | String | End of the permitted daily execution window. Optional. | HH:mm, 24-hour time. | 20:00 |
recurringSchedule.timeZone | String | Time zone used to interpret recurring dates and times. Optional but recommended. | Valid Kyvos or Java time-zone ID. | America/New_York |
recurringSchedule.frequency | String | Defines whether the build runs daily, weekly, or monthly. It also determines which frequency-specific fields are used. Required when recurringSchedule is supplied. | DAILY, WEEKLY, MONTHLY. | DAILY |
recurringSchedule.recurringTime | String | Time of day at which Kyvos starts the recurring build. Required for normal recurring schedules. | HH:mm, 24-hour time. | 17:44 |
recurringSchedule.dailyBuildFrequency | String | Determines whether a daily build runs once or repeatedly during its execution window. Required when frequency is DAILY. | ONCE, REPEAT. | ONCE |
recurringSchedule.buildOnDay | String | For daily, it is the number of days between runs. For weekly, it is a comma-separated list of weekday numbers. For monthly, it is the day of the month. Required for daily, weekly, and monthly schedules; its meaning depends on frequency. | Daily: positive integer, such as "1". Weekly: comma-separated weekday numbers, such as "1,3,5". Monthly: day number, such as "15". | 1 |
recurringSchedule.repeatBuildStartTime | String | First time at which repeated daily executions may begin. Required when frequency is DAILY and dailyBuildFrequency is REPEAT. | HH:mm, 24-hour time. | 8:00 |
recurringSchedule.repeatBuildEndTime | String | Last time at which repeated daily executions are allowed. Required when frequency is DAILY and dailyBuildFrequency is REPEAT. | HH:mm, 24-hour time. | 20:00 |
recurringSchedule.repeatBuildTime | String | Interval between repeated daily executions. Required when frequency is DAILY and dailyBuildFrequency is REPEAT. | Interval format supported by the existing schedule configuration. | 1:00 |
recurringSchedule.everyWeek | String | Number of weeks between runs. Optional when frequency is WEEKLY; defaults to 1 if omitted. | Positive whole number represented as text. | 2 |
recurringSchedule.everyMonth | String | Number of months between runs. Optional when frequency is MONTHLY; defaults to 1 if omitted. | Positive whole number represented as text. | 3 |