Migration Guide: Deprecated Methods
November 11, 2025 · View on GitHub
This guide helps you migrate from deprecated methods to their recommended replacements in the Conductor Go SDK.
WorkflowClient Deprecated Methods
1. PauseWorkflow → Pause
Deprecated Method:
PauseWorkflow(ctx context.Context, workflowId string) (*http.Response, error)
Replacement:
Pause(ctx context.Context, workflowId string) (*http.Response, error)
Migration:
// Before
resp, err := client.PauseWorkflow(ctx, workflowId)
// After
resp, err := client.Pause(ctx, workflowId)
2. ResetWorkflow → Reset
Deprecated Method:
ResetWorkflow(ctx context.Context, workflowId string) (*http.Response, error)
Replacement:
Reset(ctx context.Context, workflowId string) (*http.Response, error)
Migration:
// Before
resp, err := client.ResetWorkflow(ctx, workflowId)
// After
resp, err := client.Reset(ctx, workflowId)
3. ResumeWorkflow → Resume
Deprecated Method:
ResumeWorkflow(ctx context.Context, workflowId string) (*http.Response, error)
Replacement:
Resume(ctx context.Context, workflowId string) (*http.Response, error)
Migration:
// Before
resp, err := client.ResumeWorkflow(ctx, workflowId)
// After
resp, err := client.Resume(ctx, workflowId)
WorkflowBulkClient Deprecated Methods
1. PauseWorkflow1 → Pause
Deprecated Method:
PauseWorkflow1(ctx context.Context, workflowIds []string) (model.BulkResponse, *http.Response, error)
Replacement:
Pause(ctx context.Context, workflowIds []string) (model.BulkResponse, *http.Response, error)
Migration:
// Before
bulkResp, resp, err := bulkClient.PauseWorkflow1(ctx, workflowIds)
// After
bulkResp, resp, err := bulkClient.Pause(ctx, workflowIds)
2. ResumeWorkflow → Resume
Deprecated Method:
ResumeWorkflow(ctx context.Context, workflowIds []string) (model.BulkResponse, *http.Response, error)
Replacement:
Resume(ctx context.Context, workflowIds []string) (model.BulkResponse, *http.Response, error)
Migration:
// Before
bulkResp, resp, err := bulkClient.ResumeWorkflow(ctx, workflowIds)
// After
bulkResp, resp, err := bulkClient.Resume(ctx, workflowIds)
3. Retry1 → Retry
Deprecated Method:
Retry1(ctx context.Context, workflowIds []string) (model.BulkResponse, *http.Response, error)
Replacement:
Retry(ctx context.Context, workflowIds []string) (model.BulkResponse, *http.Response, error)
Migration:
// Before
bulkResp, resp, err := bulkClient.Retry1(ctx, workflowIds)
// After
bulkResp, resp, err := bulkClient.Retry(ctx, workflowIds)
4. WorkflowBulkResourceApiRestart1Opts → WorkflowBulkResourceApiRestartOpts
Deprecated Type:
type WorkflowBulkResourceApiRestart1Opts struct {
UseLatestDefinitions optional.Bool
}
Replacement:
type WorkflowBulkResourceApiRestartOpts struct {
UseLatestDefinitions optional.Bool
}
Migration:
// Before
opts := &client.WorkflowBulkResourceApiRestart1Opts{
UseLatestDefinitions: optional.NewBool(true),
}
// After
opts := &client.WorkflowBulkResourceApiRestartOpts{
UseLatestDefinitions: optional.NewBool(true),
}
API Client Deprecated Methods
1. NewAuthenticationSettingsFromEnv → settings.NewClientSettingsFromEnv
Deprecated Method:
func NewAuthenticationSettingsFromEnv() *settings.AuthenticationSettings
Replacement:
func NewClientSettingsFromEnv() *settings.ClientSettings
Migration:
// Before
authSettings := client.NewAuthenticationSettingsFromEnv()
// After
clientSettings := settings.NewClientSettingsFromEnv()
authSettings := clientSettings.Authentication
2. NewHttpSettingsFromEnv → settings.NewHttpSettingsFromEnv
Deprecated Method:
func NewHttpSettingsFromEnv() *settings.HttpSettings
Replacement:
func NewHttpSettingsFromEnv() *settings.HttpSettings
Migration:
// Before
httpSettings := client.NewHttpSettingsFromEnv()
// After
httpSettings := settings.NewHttpSettingsFromEnv()
Additional Notes
ArchiveWorkflow Parameter (Deprecated)
The ArchiveWorkflow parameter in WorkflowResourceApiDeleteOpts is deprecated and has no effect when configured:
type WorkflowResourceApiDeleteOpts struct {
// Deprecated: There is no effect when configured.
ArchiveWorkflow optional.Bool
}
SignalResponse.Status Field Type Change
The Status field in model.SignalResponse was changed from WorkflowStatus to string to support both workflow and task statuses in the unified response. Use helper methods like GetWorkflow(), GetBlockingTask(), GetWorkflowRun(), or GetTaskRun() which handle parsing automatically, or use ParseWorkflowStatus()/ParseTaskResultStatus() for manual parsing.
ApplicationClient Method Signature Changes
1. AddRoleToApplicationUser Return Type Change
Before:
AddRoleToApplicationUser(ctx context.Context, applicationId string, role string) (interface{}, *http.Response, error)
After:
AddRoleToApplicationUser(ctx context.Context, applicationId string, role string) (*http.Response, error)
Migration:
// Before
result, resp, err := client.AddRoleToApplicationUser(ctx, applicationId, role)
// After
resp, err := client.AddRoleToApplicationUser(ctx, applicationId, role)
2. CreateAccessKey Return Type Change
Before:
CreateAccessKey(ctx context.Context, id string) (*rbac.ConductorApplication, *http.Response, error)
After:
CreateAccessKey(ctx context.Context, id string) (*rbac.CreateAccessKeyResponse, *http.Response, error)
Migration:
// Before
app, resp, err := client.CreateAccessKey(ctx, id)
// After
accessKey, resp, err := client.CreateAccessKey(ctx, id)
// accessKey now contains Id and Secret fields
3. DeleteApplication Return Type Change
Before:
DeleteApplication(ctx context.Context, id string) (interface{}, *http.Response, error)
After:
DeleteApplication(ctx context.Context, id string) (*rbac.DeleteApplicationResponse, *http.Response, error)
Migration:
// Before
result, resp, err := client.DeleteApplication(ctx, id)
// After
response, resp, err := client.DeleteApplication(ctx, id)
// response now contains a Message field with operation result
4. GetAppByAccessKeyId Return Type Change
Before:
GetAppByAccessKeyId(ctx context.Context, accessKeyId string) (interface{}, *http.Response, error)
After:
GetAppByAccessKeyId(ctx context.Context, accessKeyId string) (*rbac.ConductorApplication, *http.Response, error)
Migration:
// Before
result, resp, err := client.GetAppByAccessKeyId(ctx, accessKeyId)
// After
app, resp, err := client.GetAppByAccessKeyId(ctx, accessKeyId)
// app is now properly typed as ConductorApplication
5. RemoveRoleFromApplicationUser Return Type Change
Before:
RemoveRoleFromApplicationUser(ctx context.Context, applicationId string, role string) (interface{}, *http.Response, error)
After:
RemoveRoleFromApplicationUser(ctx context.Context, applicationId string, role string) (*http.Response, error)
Migration:
// Before
result, resp, err := client.RemoveRoleFromApplicationUser(ctx, applicationId, role)
// After
resp, err := client.RemoveRoleFromApplicationUser(ctx, applicationId, role)
6. ToggleAccessKeyStatus Return Type Change
Before:
ToggleAccessKeyStatus(ctx context.Context, applicationId string, keyId string) (interface{}, *http.Response, error)
After:
ToggleAccessKeyStatus(ctx context.Context, applicationId string, keyId string) (*rbac.AccessKeyResponse, *http.Response, error)
Migration:
// Before
result, resp, err := client.ToggleAccessKeyStatus(ctx, applicationId, keyId)
// After
accessKey, resp, err := client.ToggleAccessKeyStatus(ctx, applicationId, keyId)
// accessKey now contains proper AccessKeyResponse with Status field
7. NewApplicationClient Return Type Change
Before:
func NewApplicationClient(apiClient *APIClient) *ApplicationResourceApiService
After:
func NewApplicationClient(apiClient *APIClient) ApplicationClient
Migration:
// Before
client := NewApplicationClient(apiClient) // Returns *ApplicationResourceApiService
// After
client := NewApplicationClient(apiClient) // Returns ApplicationClient interface
Timeline
- Current Version: Deprecated methods are still available but marked for removal
- Next Major Version: Deprecated methods will be removed
- Recommended Action: Migrate to the new method names as soon as possible