1Update Existing Schedule

1Update Existing Schedule

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}/schedule-jobs/{schedule-id}

💡 API Update

Starting with Release 2026.8, a new endpoint is introduced for this API, as provided above. The previously used endpoint, {kyvos-url}/rest/v2/semantic-models/{name-or-id}/schedules/{schedule-id}, is now deprecated. For new integrations, use the new endpoint provided on this page. For details about the deprecated endpoint, refer to the 2026.7 Documentation.


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

Header Name

Type

Description

Possible Values

Content-Type (Required)

String

Specifies the media type of the request body.

application/x-www-form-urlencoded

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

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

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

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

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.

{ "recommendationInputParams": { "QUERY_DAYS": "30", "AGGREGATION_STRATEGY_TYPE": "ONLY_AGGREGATION", "RECOMMENDATION_TYPE": "AGGREGATION" }, "aggregationStrategy": 0, "buildSourceDatasets": "IFNEEDED", "batchDetails": { "attachmentFormat": "NONE", "segmentCapacity": "1", "userParams": {}, "deliveryOperations": {} }, "jobDetails": { "onceDate": "07/31/2026", "onceEndDate": "", "runType": "ONCE", "timeZone": "", "partitionReplacement": { "excludeCurrPartition": true, "replacePartition": false }, "batchId": "390af3e4634af9ce8ffe15b9bb0d865d", "ownerId": "402343863", "onceEndTime": "", "name": "390af3e4634af9ce8ffe15b9bb0d865d", "onceTime": "15:39", "id": "96c3a3705824a7284f6b0d0998ce30da", "scheduleId": "" }, "buildType": "FULL" }

Json Fields Description

Field

Type

Description

Possible Values

Example

Field

Type

Description

Possible Values

Example

recommendationInputParams

Object

Recommendation parameters for aggregation strategy. Parsed via.

—

{"QUERY_DAYS": "30", "AGGREGATION_STRATEGY_TYPE": "ONLY_AGGREGATION", "RECOMMENDATION_TYPE": "AGGREGATION"}

recommendationInputParams.QUERY_DAYS

String

Number of days of past query history to consider for aggregation recommendation.

Any positive integer as string

"30"

recommendationInputParams.AGGREGATION_STRATEGY_TYPE

String

Strategy for aggregate generation during recommendation.

"ONLY_NEW_AGGREGATION", "ONLY_AGGREGATION", "MINIMAL_AGGREGATION", "KEEP_EXISTING"

"ONLY_AGGREGATION"

recommendationInputParams.RECOMMENDATION_TYPE

String

Type of recommendation to generate.

"AGGREGATION"

"AGGREGATION"

aggregationStrategy

Integer

Aggregation strategy mode. Not processed during update — preserved from existing schedule.

0 (Expert), 1 (Smart)

0

buildSourceDatasets

String

Whether to rebuild source datasets. Not processed during update — preserved from existing schedule.

"IFNEEDED", "ALWAYS"

"IFNEEDED"

buildType

String

Build type for the job. Not processed during update — preserved from existing schedule.

"FULL", "INCREMENTAL", "TEST", "FULL_TEST", "FULL_WITHOUT_DATA", "UPDATE_AGGREGATES", "DROP_PARTITION", "DATA_PROFILE"

"FULL"

batchDetails

Object

Batch-level configuration. Partially processed — only userParams, process, dataProcessType, keepRawData, selectedDatasetsName, and tags are considered.

—

See nested fields

batchDetails.attachmentFormat

String

Format of report attachment for delivery. Not processed during update — preserved from existing schedule.

"NONE", "ATTACHMENT_FILE"

"NONE"

batchDetails.segmentCapacity

String

Compute segment capacity. Not processed during update — preserved from existing schedule. Only used during schedule creation.

Any positive integer as string

"1"

batchDetails.userParams

Object or Array

User-defined parameters for the build.

Empty object {}, key-value pairs, or array of {name, value} objects

{}

batchDetails.deliveryOperations

Object

Delivery operation configuration. Not processed during update — preserved from existing schedule.

—

{}

batchDetails.process

String

Incremental job process type.

"FACT_ADJUSTMENTS"

"FACT_ADJUSTMENTS"

batchDetails.dataProcessType

String

Data processing mode. Read and applied when build type is FULL, TEST, or FULL_TEST and raw data querying is enabled.

"METADATA_ONLY"

"METADATA_ONLY"

batchDetails.keepRawData

String

Whether to keep raw data, aggregated data, or both.

"RAW", "AGGREGATED", "BOTH", "ONLY_RAW_DATA", "ONLY_QUERY_BASED_AGGREGATED", "DESIGN_AND_QUERY_BASED_AGGREGATED", "RAW_AND_QUERY_BASED_AGGREGATED"

"RAW"

batchDetails.selectedDatasetsName

Array<String>

Selected datasets for incremental build. Converted to system params JSON and set on task.

Array of dataset name objects

[{"name": "Dataset1"}]

batchDetails.tags

Array<String>

Tags associated with the build job.

Array of tag strings

["tag1", "tag2"]

jobDetails

Object

Job scheduling details.

—

See nested fields

jobDetails.runType

String

Scheduling mode.

"ONCE", "RECUR" (or "RECURRING"), "NOW", "ASYNC"

"ONCE"

jobDetails.onceDate

String

Date for one-time job execution. Only applied if both onceDate and onceTime are provided. Format: MM/dd/yyyy

Date string in MM/dd/yyyy format

"07/31/2026"

jobDetails.onceTime

String

Time for one-time job execution. Only applied if both onceDate and onceTime are provided.

Time string in HH:mm format

"15:39"

jobDetails.timeZone

String

Time zone for job execution.

Any valid time zone ID, or empty string

""

jobDetails.partitionReplacement

Object

Partition replacement configuration.

—

{"excludeCurrPartition": true, "replacePartition": false}

jobDetails.partitionReplacement.replacePartition

Boolean

Whether to replace the current partition during build.

true, false

false

jobDetails.partitionReplacement.excludeCurrPartition

Boolean

Whether to exclude the current partition during build.

true, false

true

jobDetails.updateAggregatesDetail

Object

Partition details for update aggregates build. Only processed when existing build type is UPDATE_AGGREGATES.

—

{"partitions": [...]}

jobDetails.dataProfileDetail

Object

Data profiling configuration.

—

{"profileConfig": "..."}

jobDetails.onceEndDate

String

End date for one-time job. Not processed during update — preserved from existing schedule.

Date string

""

jobDetails.onceEndTime

String

End time for one-time job. Not processed during update — preserved from existing schedule.

Time string

""

jobDetails.batchId

String

Batch identifier. Not processed during update — preserved from existing schedule.

Any string

"390af3e4634af9ce8ffe15b9bb0d865d"

jobDetails.ownerId

String

Owner user ID. Not processed during update — preserved from existing schedule.

Any valid user ID

"402343863"

jobDetails.name

String

Job name. Not processed during update — preserved from existing schedule.

Any string

"390af3e4634af9ce8ffe15b9bb0d865d"

jobDetails.id

String

Job instance ID. Not processed during update — preserved from existing schedule.

Any string

"96c3a3705824a7284f6b0d0998ce30da"

jobDetails.scheduleId

String

Recurring schedule ID. Not processed during update — cleared when runType is ONCE, preserved otherwise.

Any string

""

scheduleInfo

Object

Recurring schedule configuration (frequency, days, etc.). Optional — if provided, it is set as the build schedule object on the job.

—

{"frequency": "DAILY", "time": "10:00"}


Copyright Kyvos, Inc. 2026. All rights reserved.