Skip to contentPostalForm

Content

Cease-and-Desist / No-Contact Request API reference

Collect sender, recipient, relationship, incident, requested-conduct, contact-boundary, deadline, signature, acknowledgement, and optional evidence inputs needed to generate and mail a cease-and-desist or no-contact request.

Published Jul 10, 2026

Workflow slug: cease-and-desist-no-contact. Workflow version: 1. Live schema · Markdown reference.

How it works

Step 1

Fill out form

Complete the guided fields online.

Step 2

Preview PDF

Review the generated PDF before mailing.

Step 3

Mail

We print and mail it via USPS.

How does an agent prepare this form?

PostalForm uses the same workflow definition for this API reference and its guided browser form. Fetch the live schema, collect the active required fields and attachments, and validate the completed request. Review the generated PDF, resolved recipient, mailing service and price with the owner before authorizing payment.

Submission and recipient rules

Setting Current workflow value
Form slug cease-and-desist-no-contact
Recipient mode user
Certified Mail required
Base U.S. mail service USPS First-Class Mail (mail_class="standard" in the API); not USPS Marketing Mail
Attachment total limit 12 MB
Validate without payment POST /api/machine/orders/validate or POST /api/machine/mpp/orders/validate
Machine order POST /api/machine/orders (x402) or POST /api/machine/mpp/orders (MPP)

Send a top-level form instead of pdf or letter; those three document sources are mutually exclusive. Workflow forms are letters, not postcards. The machine envelope requires buyer, sender and recipient fields. For predefined or computed recipients, the server binds the final recipient to the workflow rules. Inspect the resolved recipient returned by validation; do not substitute a convenient office address.

The template below is structural, not ready to submit: replace every placeholder, complete the active fields, omit unused optional attachments, and use the field options and visibility rules in the schema. Empty strings and unchecked checkboxes are not user answers. Never infer a signature, legal eligibility, factual declaration or consent from a default value.

JSON request template

{
  "request_id": "<new UUID; preserve on retry>",
  "buyer_name": "<buyer name>",
  "buyer_email": "<buyer email>",
  "sender_name": "<sender name>",
  "sender_address_type": "Manual",
  "sender_address_manual": {
    "line1": "<street address>",
    "city": "<city>",
    "state": "<state or region>",
    "zip": "<postal code>",
    "countryCode": "US"
  },
  "recipient_name": "<confirmed recipient name>",
  "recipient_address_type": "Manual",
  "recipient_address_manual": {
    "line1": "<street address>",
    "city": "<city>",
    "state": "<state or region>",
    "zip": "<postal code>",
    "countryCode": "US"
  },
  "mail_class": "standard",
  "double_sided": true,
  "color": false,
  "certified": true,
  "form": {
    "slug": "cease-and-desist-no-contact",
    "fields": {
      "letter_date": "",
      "sender_name": "",
      "sender_email": "",
      "sender_phone": "",
      "sender_address": "",
      "recipient_name": "",
      "recipient_address": "",
      "relationship_or_context": "",
      "include_reference_number": false,
      "reference_number": "",
      "requested_conduct_to_stop": "",
      "incident_summary": "",
      "first_incident_date": "",
      "most_recent_incident_date": "",
      "stop_all_direct_contact": false,
      "limit_contact_to_written_channel": false,
      "permitted_contact_channel": "",
      "no_visits": false,
      "do_not_contact_third_parties": false,
      "requested_response_date": "",
      "signature": "",
      "date_signed": "",
      "facts_acknowledged": false,
      "safe_return_address_acknowledged": false,
      "safety_acknowledged": false,
      "legal_limits_acknowledged": false
    },
    "attachments": [
      {
        "id": "correspondence_or_communication_records",
        "file_name": "<filename>",
        "base64": "<base64 file content>"
      },
      {
        "id": "incident_records",
        "file_name": "<filename>",
        "base64": "<base64 file content>"
      },
      {
        "id": "other_supporting_documents",
        "file_name": "<filename>",
        "base64": "<base64 file content>"
      }
    ]
  }
}

Field reference

Field ID Label Type Required when active Choices
letter_date Letter date date Yes See schema
sender_name Sender full name text Yes See schema
sender_email Sender email (optional) text No See schema
sender_phone Sender phone (optional) text No See schema
sender_address Safe return address to disclose address Yes See schema
recipient_name Recipient full name or department text Yes See schema
recipient_address Recipient mailing address address Yes See schema
relationship_or_context Relationship or context text Yes See schema
include_reference_number Include an account, case, or matter reference checkbox No See schema
reference_number Reference number text Yes See schema
requested_conduct_to_stop Conduct you are asking the recipient to stop textarea Yes See schema
incident_summary Incident summary textarea Yes See schema
first_incident_date First incident date date Yes See schema
most_recent_incident_date Most recent incident date date Yes See schema
stop_all_direct_contact Stop all direct contact checkbox Yes See schema
limit_contact_to_written_channel Limit necessary contact to one written channel checkbox Yes See schema
permitted_contact_channel Permitted contact channel text Yes See schema
no_visits Request no visits to home, workplace, or private property checkbox No See schema
do_not_contact_third_parties Request no contact with family, employer, coworkers, clients, or other third parties about the matter checkbox No See schema
requested_response_date Requested written-confirmation date date Yes See schema
signature Sender signature signature Yes See schema
date_signed Date signed date Yes See schema
facts_acknowledged I reviewed the letter and confirm that its factual statements, dates, and requested boundary are accurate. checkbox Yes See schema
safe_return_address_acknowledged I understand the return address will be visible to the recipient, and I confirmed it is safe and permitted to disclose and does not reveal a protected location. checkbox Yes See schema
safety_acknowledged I understand this is not an emergency or safety service, and I will use appropriate emergency, court, law-enforcement, advocate, or legal channels when safety is at risk. checkbox Yes See schema
legal_limits_acknowledged I understand this personal request is not a court order or legal advice and does not prevent lawful process or guarantee that contact will stop. checkbox Yes See schema

Compound fields use nested objects keyed by subfield ID. Evaluate group and field visibility before deciding which fields are active. Conditional requirements, validation rules, recipient rules, attachment formats and compliance policies are preserved in the complete schema below.

Complete workflow schema

{
  "schema_version": 1,
  "workflow_version": 1,
  "slug": "cease-and-desist-no-contact",
  "name": "Cease-and-Desist / No-Contact Request",
  "description": "Create a signed written request to stop specified conduct or contact, attach supporting records, preview the packet, and mail it with Certified Mail.",
  "agent_summary": "Collect sender, recipient, relationship, incident, requested-conduct, contact-boundary, deadline, signature, acknowledgement, and optional evidence inputs needed to generate and mail a cease-and-desist or no-contact request.",
  "form_summary": "Use this guided workflow to document the conduct, relevant dates, requested contact boundary, response date, and optional supporting records in a signed mailed request.",
  "data_collected": [
    "Sender name, optional contact details, a return address the sender has confirmed is safe to disclose, and signature",
    "Recipient name, organization, and mailing address",
    "Relationship or matter, conduct to stop, incident summary, and incident dates",
    "Requested no-contact or limited-contact boundary and written-response deadline",
    "Optional correspondence, call logs, screenshots, incident records, and related documents"
  ],
  "topics": [
    "consumer",
    "no contact",
    "cease and desist",
    "personal safety",
    "certified mail"
  ],
  "category": "guided_letter",
  "publish_state": "published",
  "aliases": [
    "cease-and-desist-letter",
    "no-contact-request-letter",
    "stop-contacting-me-letter"
  ],
  "llms": true,
  "indexable": true,
  "certified_mail": "required",
  "recipient": {
    "mode": "user"
  },
  "checkout_flow": "forms_order",
  "published_at": "2026-07-10",
  "updated_at": "2026-07-10",
  "groups": [
    {
      "id": "sender",
      "label": "Sender and return address",
      "description": "Provide sender details and only a return address that is safe to disclose on the request and envelope.",
      "depends_on": []
    },
    {
      "id": "recipient",
      "label": "Recipient",
      "description": "Enter the person or organization and current mailing address.",
      "depends_on": []
    },
    {
      "id": "facts",
      "label": "Conduct and incident facts",
      "description": "Use dates and observable facts. Avoid insults, threats, or unsupported legal conclusions.",
      "depends_on": []
    },
    {
      "id": "boundary",
      "label": "Requested boundary",
      "description": "Choose whether to request no direct contact or limit necessary contact to one written channel.",
      "depends_on": []
    },
    {
      "id": "signature",
      "label": "Signature and safety review",
      "description": "Sign and confirm the facts, mailing address, and limits of this personal request.",
      "depends_on": []
    }
  ],
  "fields": [
    {
      "id": "letter_date",
      "label": "Letter date",
      "type": "date",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "sender",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "sender_name",
      "label": "Sender full name",
      "type": "text",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "sender",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "sender_email",
      "label": "Sender email (optional)",
      "type": "text",
      "required": false,
      "meta_class": "email",
      "ui_width": "half",
      "group_id": "sender",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "sender_phone",
      "label": "Sender phone (optional)",
      "type": "text",
      "required": false,
      "meta_class": "phone",
      "ui_width": "half",
      "group_id": "sender",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "sender_address",
      "label": "Safe return address to disclose",
      "type": "address",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "sender",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "recipient_name",
      "label": "Recipient full name or department",
      "type": "text",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "recipient",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "recipient_address",
      "label": "Recipient mailing address",
      "type": "address",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "recipient",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "relationship_or_context",
      "label": "Relationship or context",
      "type": "text",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "include_reference_number",
      "label": "Include an account, case, or matter reference",
      "type": "checkbox",
      "required": false,
      "meta_class": null,
      "ui_width": null,
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "reference_number",
      "label": "Reference number",
      "type": "text",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "visibility": {
        "fieldId": "include_reference_number",
        "operator": "truthy"
      },
      "depends_on": [
        "include_reference_number"
      ],
      "compound": null
    },
    {
      "id": "requested_conduct_to_stop",
      "label": "Conduct you are asking the recipient to stop",
      "type": "textarea",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "incident_summary",
      "label": "Incident summary",
      "type": "textarea",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "first_incident_date",
      "label": "First incident date",
      "type": "date",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "most_recent_incident_date",
      "label": "Most recent incident date",
      "type": "date",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "facts",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "stop_all_direct_contact",
      "label": "Stop all direct contact",
      "type": "checkbox",
      "required": true,
      "meta_class": "radio",
      "ui_width": null,
      "group_id": "boundary",
      "choice_group": "contact_boundary_selection",
      "choice_label": "What contact boundary are you requesting?",
      "depends_on": [],
      "compound": null
    },
    {
      "id": "limit_contact_to_written_channel",
      "label": "Limit necessary contact to one written channel",
      "type": "checkbox",
      "required": true,
      "meta_class": "radio",
      "ui_width": null,
      "group_id": "boundary",
      "choice_group": "contact_boundary_selection",
      "choice_label": "What contact boundary are you requesting?",
      "depends_on": [],
      "compound": null
    },
    {
      "id": "permitted_contact_channel",
      "label": "Permitted contact channel",
      "type": "text",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "boundary",
      "choice_group": null,
      "choice_label": null,
      "visibility": {
        "fieldId": "limit_contact_to_written_channel",
        "operator": "truthy"
      },
      "depends_on": [
        "limit_contact_to_written_channel"
      ],
      "compound": null
    },
    {
      "id": "no_visits",
      "label": "Request no visits to home, workplace, or private property",
      "type": "checkbox",
      "required": false,
      "meta_class": null,
      "ui_width": null,
      "group_id": "boundary",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "do_not_contact_third_parties",
      "label": "Request no contact with family, employer, coworkers, clients, or other third parties about the matter",
      "type": "checkbox",
      "required": false,
      "meta_class": null,
      "ui_width": null,
      "group_id": "boundary",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "requested_response_date",
      "label": "Requested written-confirmation date",
      "type": "date",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "boundary",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "signature",
      "label": "Sender signature",
      "type": "signature",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "signature",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "date_signed",
      "label": "Date signed",
      "type": "date",
      "required": true,
      "meta_class": null,
      "ui_width": "half",
      "group_id": "signature",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "facts_acknowledged",
      "label": "I reviewed the letter and confirm that its factual statements, dates, and requested boundary are accurate.",
      "type": "checkbox",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "signature",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "safe_return_address_acknowledged",
      "label": "I understand the return address will be visible to the recipient, and I confirmed it is safe and permitted to disclose and does not reveal a protected location.",
      "type": "checkbox",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "signature",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "safety_acknowledged",
      "label": "I understand this is not an emergency or safety service, and I will use appropriate emergency, court, law-enforcement, advocate, or legal channels when safety is at risk.",
      "type": "checkbox",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "signature",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    },
    {
      "id": "legal_limits_acknowledged",
      "label": "I understand this personal request is not a court order or legal advice and does not prevent lawful process or guarantee that contact will stop.",
      "type": "checkbox",
      "required": true,
      "meta_class": null,
      "ui_width": null,
      "group_id": "signature",
      "choice_group": null,
      "choice_label": null,
      "depends_on": [],
      "compound": null
    }
  ],
  "attachments": [
    {
      "id": "correspondence_or_communication_records",
      "label": "Correspondence or communication records",
      "required": false,
      "instructions": "Attach relevant copies of letters, emails, texts, call logs, or screenshots. Redact unnecessary third-party information.",
      "allowed_types": [
        "pdf",
        "jpg",
        "jpeg",
        "png"
      ],
      "max_files": 12,
      "max_size_mb": 12
    },
    {
      "id": "incident_records",
      "label": "Incident records",
      "required": false,
      "instructions": "Attach relevant timelines, reports, photos, or other factual records. Do not send irreplaceable originals.",
      "allowed_types": [
        "pdf",
        "jpg",
        "jpeg",
        "png"
      ],
      "max_files": 12,
      "max_size_mb": 12
    },
    {
      "id": "other_supporting_documents",
      "label": "Other supporting documents",
      "required": false,
      "instructions": "Attach only relevant copies and avoid unnecessary sensitive or third-party information.",
      "allowed_types": [
        "pdf",
        "jpg",
        "jpeg",
        "png"
      ],
      "max_files": 10,
      "max_size_mb": 12
    }
  ],
  "attachments_max_total_size_mb": 12,
  "machine_submission": {
    "payload_property": "form",
    "create_paths": {
      "x402": "/api/machine/orders",
      "mpp": "/api/machine/mpp/orders"
    }
  }
}

Preview, payment and retries

Validation does not mail the document. For a human checkout, use MCP postalform.create_form_order_draft and present the returned preview, total and checkout URL. Machine API clients must handle the returned MPP or x402 challenge only within owner-approved spending authority. Preserve request_id and the exact payload for retries; changing the content requires a new request ID. After an uncertain payment, retrieve order status before creating another order. Provider handoff is not USPS delivery.

Ready to get started?

Upload your PDF and we will handle printing and mailing.

Resources