Entwicklerdokumentation

Outreach-Ziel ändern

POST/sites/{siteId}/outreach/{targetId}
Berechtigung
actions:apply

Set an outreach target's status, note or tags The status date moves when the status changes; status and note stay through later refreshes. Send status, note, tags or a mix; an empty or null note clears it, and tags replaces the target's tags ([] clears them). Recorded in Activity as the key owner.

Die Beschreibungen kommen aus dem OpenAPI-Dokument und sind auf Englisch.

Parameter

NameOrtDetails
siteIdPflichtPfadstringWebsite id, from GET /sites.
targetIdPflichtPfadstringOutreach target id, from GET /outreach.

Anfrage (Body)

FeldDetails
statusto_contact | contacted | added | declined · New status
notestring or null · at most 2000 characters; Your note, at most 2,000 characters; empty or null clears it
tagslist of string · at most 10 items; Replaces the target's tags; [] clears them
{
  "status": "contacted",
  "note": "Emailed the editor on Oct 2.",
  "tags": [
    "gear-review"
  ]
}

Antwort

200 · application/json

FeldDetails
targetobject · required
target.idstring
target.sourcestring
target.urlstring
target.domainstring
target.titlestring
target.scorenumber
target.classstring
target.reasonobject
target.reason.competitorslist of strings
target.reason.domainRanknumber
target.reason.ourRanknumber
target.reason.spamScorenumber
target.reason.outOfnumber
target.reason.backlinksnumber
target.reason.pageslist of objects
target.reason.pages[].competitorstring
target.reason.pages[].urlstring
target.reason.pages[].anchorstring
target.reason.pages[].titlestring
target.reason.pageKindstring
target.reason.pageKindBystring
target.statusstring
target.statusAtstring
target.statusAutotrue or false
target.notestring
target.tagslist of strings
target.firstSeenstring
target.lastSeenstring
target.gonetrue or false
target.checkobject
target.check.atstring
target.check.oktrue or false
target.check.statusnumber
target.check.linksUstrue or false
target.check.mentionsUstrue or false
target.check.matchedlist of strings
target.linkstring

Hinweise

GET /sites/{siteId}/outreach listet Seiten und Websites, die Sie um einen Link oder eine Erwähnung bitten können, sortiert: offene Ziele zuerst nach score (0 bis 100), dann kontaktierte, aufgenommene und abgelehnte. Ziele, die ihre Quelle nicht mehr findet (gone), kommen zuletzt. MonoRanks sendet keine E-Mails und sucht keine Kontaktdaten heraus: Es listet die Ziele, Sie übernehmen die Ansprache und halten fest, was passiert ist.

Was Details
source ai_source (KI-Antworten auf Ihre beobachteten Fragen zitieren die Seite, nennen Sie aber nicht), best_list (eine „Beste X“-Liste, die Ihre Mitbewerber nennt, Sie aber nicht), link_gap (eine Website, die auf zwei oder mehr Ihrer Mitbewerber verlinkt, nicht auf Sie), lost_link (eine starke Website, die nicht mehr auf Sie verlinkt und bei der die Bitte um eine Aktualisierung des Links die Lösung ist) oder manual (von Hand hinzugefügt).
reason sagt warum, mit den Feldern, die die Quelle kennt: zum Beispiel questions, models und timesCited; keyword und position; competitors, domainRank, spamScore und outOf; oder lostAt.
status to_contact, contacted, added oder declined. Filtern Sie mit status und source. counts enthält die Summen pro Status und Quelle.
Spam Ziele mit einem Spam-Score über 60 fehlen, außer Sie übergeben spam=1; counts.spamHidden sagt, wie viele.
Schreiben POST /sites/{siteId}/outreach/{targetId} nimmt status und/oder note (höchstens 2.000 Zeichen; eine leere Notiz löscht sie). Die Änderung wird in der Activity der Website unter dem Besitzer des Schlüssels protokolliert. Status und Notiz bleiben, wenn die Quelle das Ziel aktualisiert.
Von selbst aufgenommen Einmal pro Woche liest MonoRanks jede offene Zielseite erneut, kostenlos. Verlinkt die Seite jetzt auf die Website oder nennt sie, wechselt das Ziel zu added und statusAuto ist true.

Fehler

StatusBedeutung
400Bad request. Codes: nothing_to_change, bad_status, bad_note, note_too_long, bad_tags.
401Missing, unknown or revoked key. Codes: missing_key, invalid_key.
403The key lacks the scope, covers another website, or its owner lost access. Codes: missing_scope, other_site, owner_left, no_owner, forbidden.
404Not found. Codes: not_found.
429Too many requests this hour for this key. Codes: rate_limited.

Beispielanfrage

curl -X POST \
  -H "Authorization: Bearer mr_ws_…" \
  -H "Content-Type: application/json" \
  -d '{"status":"contacted","note":"Emailed the editor on Oct 2.","tags":["gear-review"]}' \
  "https://app.monoranks.com/api/v1/sites/SITE_ID/outreach/TARGET_ID"

Beispielantwort

{
  "target": {
    "id": "0b2d4f6a-8c0e-4a2c-9e4a-8c0e2a4c6e8a",
    "source": "link_gap",
    "url": "https://rideguide.example/best-bike-shops/",
    "domain": "rideguide.example",
    "title": "The best online bike shops",
    "score": 82,
    "class": "editorial",
    "reason": {
      "competitors": [
        "bikeworld.example",
        "cyclehub.example"
      ],
      "domainRank": 47,
      "ourRank": 33,
      "spamScore": 4,
      "outOf": 2,
      "backlinks": 5,
      "pages": [
        {
          "competitor": "bikeworld.example",
          "url": "https://rideguide.example/best-bike-shops/",
          "anchor": "Bike World",
          "title": "The best online bike shops"
        }
      ],
      "pageKind": "review",
      "pageKindBy": "ai"
    },
    "status": "contacted",
    "statusAt": "2026-10-02T09:30:00.000Z",
    "statusAuto": false,
    "note": "Emailed the editor on Oct 2.",
    "tags": [
      "gear-review"
    ],
    "firstSeen": "2026-09-14T03:00:00.000Z",
    "lastSeen": "2026-10-05T03:00:00.000Z",
    "gone": false,
    "check": {
      "at": "2026-10-05T03:10:00.000Z",
      "ok": true,
      "status": 200,
      "linksUs": false,
      "mentionsUs": false,
      "matched": []
    },
    "link": "https://app.monoranks.com/sites/3f6c2a1e-8b4d-4c7a-9e21-5d0b7a6f4c13/outreach?open=0b2d4f6a-8c0e-4a2c-9e4a-8c0e2a4c6e8a"
  }
}

Der MCP-Server macht dasselbe mit dem Tool update_outreach_target.