Reference · validation layers
Field limits
Every rule names the layer that enforces it. Recorded platform guidance never masquerades as current validation.
Five evidence layers
Enforcement key
Schema enforcedRejected by the configured callable schema before execution.
Runtime enforcedRejected or constrained by the current API or media path.
Conditional runtimeEnforced only when the named production component is active.
Warning onlyShown during review without rejecting the request.
Unvalidated guidanceRecorded metadata that current request and media validation do not enforce.
Callable and runtime rules
Enforced limits
Schema and runtime checks can stop a call. Conditional checks require the named production component.
account_idsThe adapter resolves each value to a configured connected destination.
titleWhitespace is trimmed before validation.
objectiveWhitespace is trimmed before validation.
max_postsDefines the plan's maximum authorized post count.
intentRequired on submit_plan and publish_video.
agent_identityOptional when the configured client does not provide an identity.
idempotency_keyOptional to callers. The adapter generates a UUID when omitted.
captionThe MCP boundary accepts an empty caption.
content_typeThe returned PUT contract requires the same Content-Type header.
size_bytesThe returned PUT contract requires the same Content-Length header.
platformsPostdom validates the requested media against the shared platform limits before issuing a URL.
workspace request capThe per-workspace cap is reserved atomically before the scoped URL is signed.
workspace byte capThe per-workspace byte budget is reserved atomically before the scoped URL is signed.
media sourceA media handle must reach stored through get_media before publication.
video_urlRuntime media checks apply after schema validation.
media_handleCross-workspace, missing, pending, and failed handles are rejected without revealing another workspace's object.
datetime fieldsApplies to starts_at, ends_at, and optional publish_at.
plan_idRequired for get_plan and optional for publish_video.
post_idIdentifies the durable post record.
windowThe window changes account reads only.
scopeSupplying both or neither throws before a performance read.
account_idUnknown or cross-workspace accounts return account_not_found.
metricNull values are excluded with a reason and never ranked as zero.
windowThe rolling publication window ends at the read observation time.
ends_atThe API rejects a plan whose window does not move forward.
plan windowMeasured from starts_at to ends_at.
targetsDuplicate plan targets are rejected.
media hostWithout the production media resolver, localhost and private or special literal IPs are rejected.
production media source URLEnforced when production media storage is active, before internal delivery-host resolution.
media responsePostdom performs a byte-range reachability read before review.
Content-TypeA present incompatible type is rejected. For a media_handle the declared type is checked against each destination, so a QuickTime handle is refused by a destination accepting only video/mp4. For a media_url a missing type, or application/octet-stream, is unknown and passes: nothing declared it, so no destination rule can be tested against it.
media sizeChecked whenever the size is known, whether or not production media storage is active. A media_handle always has one, because it was declared and signed for at upload. A media_url whose origin returns no length is published unchecked against this cap.
per-destination deliveryChecked against the destinations a post targets, not the platforms declared at upload. A recorded limit may come from the platform or from the route Postdom delivers through, so a refusal names the destination that cannot receive the video without claiming whose limit stopped it. The whole post is refused; publish the rest in a separate request.
Non-blocking records
Warnings and guidance
Warnings inform human review. Unvalidated guidance records a platform expectation without claiming runtime rejection.
captionPreflight marks attention above this value; the request schema does not reject it.
video durationRecorded metadata; current request and media validation do not enforce duration.
media formatRecorded metadata; a generic video/* response can currently pass reachability.
video durationRecorded guidance, not current runtime validation.
video durationRecorded guidance, not current runtime validation.
video durationRecorded guidance, not current runtime validation.
aspect ratioRecorded guidance, not current runtime validation.
Caller behavior
Validation boundary
Respect the strictest layer
Passing the callable schema does not guarantee media acceptance. Treat warnings and recorded guidance as human review evidence.