Schedules

A Schedule is a named, reusable weekday-and-time schedule shared by scheduled resources across a Site.

List Schedules

SDK Method

schedule.List()

Return Values

Returns a *schedule.Iter and an error. Range over All() to receive files_sdk.Schedule values and errors. Check each loop error before using its resource. Next() and Err() remain supported.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator, a Workspace Administrator for the relevant workspace, or a Folder Administrator for the relevant folder.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

scheduleIterator, err := schedule.List(files_sdk.ScheduleListParams{})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

for schedule, err := range scheduleIterator.All() {
    if err != nil {
        var respErr files_sdk.ResponseError
        if errors.As(err, &respErr) {
            fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
        } else {
            fmt.Printf("Request failed: %v\n", err)
        }
        return
    }
    fmt.Println(schedule)
}

Show Schedule

SDK Method

schedule.Find()

Return Values

Returns a files_sdk.Schedule value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator, a Workspace Administrator for the relevant workspace, or a Folder Administrator for the relevant folder.

ScheduleFindParams Fields

FieldDescription
Id
int64
Required
Schedule ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

schedule, err := schedule.Find(files_sdk.ScheduleFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(schedule)

Create Schedule

SDK Method

schedule.Create()

Return Values

Returns a files_sdk.Schedule value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ScheduleCreateParams Fields

FieldDescription
Name
string
Required
Schedule name.
ScheduleDaysOfWeek
array(int64)
Required
0-based weekdays used by the Schedule. 0 is Sunday.
ScheduleTimesOfDay
array(string)
Required
Times of day in HH:MM format (24-hour).
ScheduleTimeZone
string
Time zone for scheduled times. If not set, times are interpreted as UTC.
HolidayRegion
string
Optional holiday region on which linked resources do not run.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

schedule, err := schedule.Create(files_sdk.ScheduleCreateParams{
  Name: "Weekday overnight",
  ScheduleDaysOfWeek: []int64{1, 2, 3, 4, 5},
  ScheduleTimesOfDay: []string{"01:00"},
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(schedule)

Update Schedule

SDK Method

schedule.Update()

Return Values

Returns a files_sdk.Schedule value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ScheduleUpdateParams Fields

FieldDescription
Id
int64
Required
Schedule ID.
Name
string
Schedule name.
ScheduleDaysOfWeek
array(int64)
0-based weekdays used by the Schedule. 0 is Sunday.
ScheduleTimesOfDay
array(string)
Times of day in HH:MM format (24-hour).
ScheduleTimeZone
string
Time zone for scheduled times. If not set, times are interpreted as UTC.
HolidayRegion
string
Optional holiday region on which linked resources do not run.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

schedule, err := schedule.Update(files_sdk.ScheduleUpdateParams{
  Id: 1,
  Name: "Weekday overnight",
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(schedule)

Delete Schedule

SDK Method

schedule.Delete()

Return Values

Returns an error, or nil on success.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator.

ScheduleDeleteParams Fields

FieldDescription
Id
int64
Required
Schedule ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    "github.com/Files-com/files-sdk-go/v3/schedule"
)

err := schedule.Delete(files_sdk.ScheduleDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

The Schedule Object

Some of the methods above return a Schedule object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Schedule ID.
Name
string
Schedule name.
ScheduleDaysOfWeek
array(int64)
0-based weekdays used by the Schedule. 0 is Sunday.
ScheduleTimesOfDay
array(string)
Times of day in HH:MM format (24-hour).
ScheduleTimeZone
string
Time zone for scheduled times. If not set, times are interpreted as UTC.
HolidayRegion
string
Optional holiday region on which linked resources do not run.
HumanReadableSchedule
string
Human-readable Schedule description.
CreatedAt
date-time
Creation time.
UpdatedAt
date-time
Last update time.