## Create a worker schedule `client.Workers.Schedules.New(ctx, workerID, body) (*WorkerScheduleUnion, error)` **post** `/api/workers/{workerId}/schedules` Schedule a worker instruction for a future or recurring run. ### Parameters - `workerID string` - `body WorkerScheduleNewParams` - `Input param.Field[string]` - `When param.Field[WorkerScheduleNewParamsWhenUnion]` - `type WorkerScheduleNewParamsWhenObject struct{…}` - `Date Time` - `Type string` - `const WorkerScheduleNewParamsWhenObjectTypeScheduled WorkerScheduleNewParamsWhenObjectType = "scheduled"` - `type WorkerScheduleNewParamsWhenObject struct{…}` - `DelayInSeconds int64` - `Type string` - `const WorkerScheduleNewParamsWhenObjectTypeDelayed WorkerScheduleNewParamsWhenObjectType = "delayed"` - `type WorkerScheduleNewParamsWhenObject struct{…}` - `Cron string` - `Type string` - `const WorkerScheduleNewParamsWhenObjectTypeCron WorkerScheduleNewParamsWhenObjectType = "cron"` - `type WorkerScheduleNewParamsWhenObject struct{…}` - `IntervalSeconds int64` - `Type string` - `const WorkerScheduleNewParamsWhenObjectTypeInterval WorkerScheduleNewParamsWhenObjectType = "interval"` - `Budget param.Field[WorkerScheduleNewParamsBudget]` - `const WorkerScheduleNewParamsBudgetLow WorkerScheduleNewParamsBudget = "low"` - `const WorkerScheduleNewParamsBudgetStandard WorkerScheduleNewParamsBudget = "standard"` - `const WorkerScheduleNewParamsBudgetHigh WorkerScheduleNewParamsBudget = "high"` - `const WorkerScheduleNewParamsBudgetUnlimited WorkerScheduleNewParamsBudget = "unlimited"` ### Returns - `type WorkerScheduleUnion interface{…}` - `type WorkerScheduleObject struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"` - `const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"` - `const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"` - `const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"` - `Input string` - `NextRunAt Time` - `Type string` - `const WorkerScheduleObjectTypeScheduled WorkerScheduleObjectType = "scheduled"` - `type WorkerScheduleObject struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"` - `const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"` - `const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"` - `const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"` - `DelayInSeconds int64` - `Input string` - `NextRunAt Time` - `Type string` - `const WorkerScheduleObjectTypeDelayed WorkerScheduleObjectType = "delayed"` - `type WorkerScheduleObject struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"` - `const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"` - `const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"` - `const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"` - `Cron string` - `Input string` - `NextRunAt Time` - `Type string` - `const WorkerScheduleObjectTypeCron WorkerScheduleObjectType = "cron"` - `type WorkerScheduleObject struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleObjectBudgetLow WorkerScheduleObjectBudget = "low"` - `const WorkerScheduleObjectBudgetStandard WorkerScheduleObjectBudget = "standard"` - `const WorkerScheduleObjectBudgetHigh WorkerScheduleObjectBudget = "high"` - `const WorkerScheduleObjectBudgetUnlimited WorkerScheduleObjectBudget = "unlimited"` - `Input string` - `IntervalSeconds int64` - `NextRunAt Time` - `Type string` - `const WorkerScheduleObjectTypeInterval WorkerScheduleObjectType = "interval"` ### Example ```go package main import ( "context" "fmt" "time" "github.com/stainless-sdks/handinger-go" "github.com/stainless-sdks/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) workerSchedule, err := client.Workers.Schedules.New( context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM", handinger.WorkerScheduleNewParams{ Input: "x", When: handinger.WorkerScheduleNewParamsWhenUnion{ OfWorkerScheduleNewsWhenObject: &handinger.WorkerScheduleNewParamsWhenObject{ Date: time.Now(), Type: "scheduled", }, }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", workerSchedule) } ``` #### Response ```json { "id": "id", "budget": "low", "input": "input", "nextRunAt": "2019-12-27T18:11:19.117Z", "type": "scheduled" } ```