Norn API· Feedback

Norn APIThe API

Preview

Feedback

Tell Norn what happened to an idea: approved, edited or turned down, and how the post performed. It is how Norn learns a brand’s taste.

Norn learns a brand’s taste the way a good marketer does: by watching which ideas the people who know the brand keep, change or throw away, and what happens once posts go out. Feedback is how you show it.

Every business on Native feeds this loop today. The API is built to feed it the same way, so the brands you create learn from your users’ decisions too.

Decisions

#

Send a decision when a person acts on an idea:

DecisionWhenSend with it
approvedThe idea was used as it was.Nothing else.
editedThe idea was used, but changed.final_text: what was actually posted.
rejectedThe idea was turned down.reasons, and a comment if the person wrote one.

A reason in a person’s own words teaches Norn the most. From decisions, Norn writes lessons about what a brand’s posts should be about, such as "Posts about prices get turned down", and the ideas after that follow them. In Native, lessons start once a brand has eight explained decisions in 90 days (approvals, and turn-downs that came with a reason), and each lesson rests on at least three of them. In Native, a comment in the person’s own words about the idea or its wording also becomes a do or a don’t in the brand’s writing style, and one only about the picture becomes a picture rule. A reason picked from the list, with no comment, adds neither.

Reasons

#
ReasonMeans
off_brandIt does not sound like the brand.
not_relevantThe subject does not matter to this brand or its audience.
wrong_languageIt came back in the wrong language.
needs_workThe idea is fine, but the hook or the angle is weak.
otherAnything else. Say what in comment.

Do not invent a reason when the person gave none. A rejection without a reason is still useful; a made-up reason teaches Norn the wrong lesson.

Outcomes

#

Once a post has been out for a few days, send its numbers as an outcome. Norn compares each post with the brand’s own usual results, never with other brands, so a corner bakery and a national chain are each judged on their own scale.

Engagement is counted the way Native counts it: likes, comments, shares and clicks, divided by views. Send the numbers your channel reports and Norn does the rest.

Send feedback

#
POST/v1/feedbackPreview

Body

  • ideastringRequired

    The id of the idea.

  • decisionstringOptional

    What a person did with the idea. Each request needs a decision, an outcome or both.

    One of: approved, edited, rejected

  • final_textstringOptional

    With edited: the text that was published. Up to 10,000 characters.

  • reasonsstring[]Optional

    With rejected: why.

    One of: off_brand, not_relevant, wrong_language, needs_work, other

  • commentstringOptional

    With rejected: the reason in the person’s own words. Up to 1,000 characters.

  • outcomeobjectOptional

    How the post performed. Send it again whenever the numbers change; the latest one counts.

    • channelstringRequired

      Where the post went out.

      One of: instagram, facebook, linkedin, tiktok, x, threads, bluesky, pinterest, youtube, other

    • published_atstringRequired

      When it went out, in ISO 8601.

    • viewsintegerRequired

      Views or impressions.

    • likesintegerOptional

      Likes and reactions.

    • commentsintegerOptional

      Comments.

    • sharesintegerOptional

      Shares, reposts and sends.

    • clicksintegerOptional

      Link clicks.

curl -X POST https://api.native.no/v1/feedback \
  -H "Authorization: Bearer $NATIVE_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "idea": "idea_4Fd9xW",
  "decision": "edited",
  "final_text": "Frozen pipes do not care that it is Sunday. Neither do we: same-day fix, no drama."
}'

A rejection with a reason:

Body

{
  "idea": "idea_9Qm3vT",
  "decision": "rejected",
  "reasons": [
    "not_relevant"
  ],
  "comment": "We stopped doing leak checks in the winter months."
}

An outcome, a few days after the post went out:

Body

{
  "idea": "idea_4Fd9xW",
  "outcome": {
    "channel": "instagram",
    "published_at": "2026-11-02T18:00:00-05:00",
    "views": 4210,
    "likes": 186,
    "comments": 23,
    "shares": 17,
    "clicks": 9
  }
}

Norn answers 202 Accepted with a receipt:

Response

{
  "object": "feedback",
  "id": "fb_2Lr8sN",
  "idea": "idea_4Fd9xW",
  "created_at": "2026-11-03T08:00:00Z"
}

What feedback changes

#
  • The ideas Norn suggests next for that brand: the subjects, formats and angles it leans toward, and the lessons it follows.
  • Not the brand’s rules. Only you set rules, and Norn never overrides them with what it learns.
  • Not the order of ideas already sent. Feedback shapes the next request, not the last one.

The Norn API is not open yet

Access opens from the waitlist. Join it and we will email you when your access is ready.

Join the waitlist