API Reference
Update a campaign schedule
Atomically replaces the campaign's business and message schedules and can update the maximum LinkedIn workflow runs per day. Message days must be included in business days, message hours must fit within business hours, and both schedules must use the same IANA timezone. maxRunsPerDay applies when the workflow contains a LinkedIn action and cannot exceed the connected account's tier limit. The response returns the complete effective campaign configuration.
/v1/accounts/{accountGroupId}/campaigns/{campaignId}/scheduleIntegration notes
Required API permission
campaigns:write.
Prerequisites
integration_api_key, account_group_access.
Idempotency
not supported; check the current resource state before retrying this request.
Parameters
accountGroupIdPathType: string
Account group ID that scopes the request.
Required
campaignIdPathType: string
Campaign ID that identifies the campaign to read or mutate.
Required
Request body
Required
Optional
Content types
application/json
Schema
UpdateCampaignScheduleBody
Fields
businessHoursType: object
Request field for business hours.
Required
messageHoursType: object
Request field for message hours.
Required
maxRunsPerDayType: integer
Request field for max runs per day.
Optional
Responses
Campaign schedule and optional daily LinkedIn run limit updated
Schema: CampaignSuccessResponse
Request validation failed
Schema: ValidationErrorResponse
Invalid or missing API key
Schema: ErrorResponse
Missing required permission
Schema: ErrorResponse
Resource not found
Schema: ErrorResponse
Request validation failed
Schema: ValidationErrorResponse
Rate limit exceeded
Schema: ErrorResponse
Internal server error
Schema: ErrorResponse
Upstream service error
Schema: ErrorResponse
Response examples
200 Example JSONCampaignSuccessResponse
{
"success": true,
"data": {
"id": "507f1f77bcf86cd799439011",
"name": "Avery Stone",
"description": "string",
"status": "draft",
"selectedLeadCount": 25,
"includeConversationHistory": true,
"autoCancelOnMessageReceived": true,
"outreachLanguage": "en",
"businessHours": {
"window": {
"start": "string",
"end": "string"
},
"days": [
"Mon"
],
"timezone": "string"
},
"messageHours": {
"window": {
"start": "string",
"end": "string"
},
"days": [
"Mon"
],
"timezone": "string"
},
"maxRunsPerDay": 25,
"createdAt": "string",
"updatedAt": "string",
"startedAt": "string",
"rateLimitedUntil": "string"
},
"error": null,
"traceId": "507f1f77bcf86cd799439011"
}400 Example JSONValidationErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}401 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}403 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}404 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}422 Example JSONValidationErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}429 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}500 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}502 Example JSONErrorResponse
{
"success": false,
"data": null,
"error": {
"code": "string",
"message": "Thanks for the context. I can send over details this afternoon.",
"details": "string"
},
"traceId": "507f1f77bcf86cd799439011"
}