create_rank_schedule
Configure synthetic DataForSEO rank monitoring. Hosted enrollment is disabled; no supplier call or Ahrefs DR.
Development preview. This command is absent from the verified deployed bundle. Use a matching development environment.
This operation changes saved state. Review its inputs and retry behavior before calling.
Example request
Connect through MCP, CLI, or HTTP. Replace example identifiers with records from your workspace.Returned result
Illustrative data validated against the documented response schema. IDs and dates are examples, not a live account capture. MCP returns this data instructuredContent and in a text content block; generic HTTP and CLI return the JSON result directly.
Input fields
Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.Validation and omitted values
Hosted creation returns PROVIDER_DISABLED. Synthetic creation requires a test-only injected capability; command arguments and environment flags cannot start collection. Supply scheduleId, projectId, target and anchorAt. Cadence ranges from one to 30 days; freshness ranges from one to 60 days and must cover at least one cadence. The stored metric is DataForSEO rank on its 0-1000 scale. Ahrefs DR and Moz scores use separate metrics. The fixed query includes indirect links, excludes internal backlinks and requests live backlink status. A workspace holds at most 100 schedules. Reusing an accessible schedule ID requires identical configuration; changing target, subdomain policy, anchor or cadence requires a new schedule ID. This development command makes no supplier request, sends no outreach and delivers no alerts.Defaults when omitted
Output fields
Fields inside optional or nullable parents apply only when that parent exists. Common schema conventions explain evidence states, empty lists and extensions.id(string, required): Resource identifier returned by the operation. pattern: ”^[a-zA-Z0-9_-]{1,128}$”project_id(string, required): Project that owns this record. pattern: ”^[a-zA-Z0-9_-]{1,128}$”collection_revision(integer, required): maximum: 9007199254740991; exclusiveMinimum: 0config_version(integer, required): maximum: 9007199254740991; exclusiveMinimum: 0provider(string, required): must equal “dataforseo”data_mode(string, required): must equal “synthetic”metric(string, required): must equal “rank”rank_scale(string, required): must equal “one_thousand”target(string, required): minLength: 1; maxLength: 253include_subdomains(boolean, required).state(string, required): Saved lifecycle or evidence state, as enumerated for this record. values: “active”, “paused”anchor_at(string, required): format: “date-time”; pattern: ”^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$”cadence_seconds(integer, required): minimum: 86400; maximum: 2592000stale_after_seconds(integer, required): minimum: 86400; maximum: 5184000alerts(object, required): additional fields rejectedlast_admitted_slot(string / null, required).created_at(string, required): UTC timestamp when the record was created. format: “date-time”; pattern: ”^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$”updated_at(string, required): UTC timestamp of the last record update. format: “date-time”; pattern: ”^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$”availability(object, required): additional fields rejected
All fields and nested objects
All fields and nested objects