brands

Create a brand

Creates a brand in the active project. Typically, Pineprompt discovers brands from AI responses on its own, so you should reach for this endpoint when you want to track a brand before it has appeared in a response. Segment membership is what makes a brand a competitor, so a brand created with segment_ids starts out tracked and one created without them starts out discovered. If you would like to designate a brand as the project's own brand, you may point the project's brand_id at it via the update-project endpoint.

post/api/v1/brands

Request

  • Base URL: https://pineprompt.com
  • URL: https://pineprompt.com/api/v1/brands
  • Auth: HTTP bearer

Headers

Pineprompt-Project-Idinteger required

The active project's numeric ID.

Request body

display_namestring required

The name the brand is shown under. Display names are unique per project and case-insensitive, and a display name may not collide with an alias of another brand, since both would compete for the same mentions.

aliasesstring[]

The names Pineprompt matches against when it attributes a mention to the brand. Aliases are stored as you send them and compared while ignoring casing and punctuation. When omitted, the brand is seeded with its display name.

domainsstring[]

The domains Pineprompt matches against when it attributes a citation to the brand. You may pass full URLs; each entry is reduced to a bare lowercase host before it is stored.

segment_idsinteger[]

The ids of the project segments the brand should join. Segment membership is what makes a brand a competitor, so a brand created with segments starts out tracked and one created without them starts out discovered. Each id must name a segment of the project.

Example request

{
  "display_name": "Vrbo",
  "aliases": [
    "Vrbo",
    "vrbo.com"
  ],
  "domains": [
    "vrbo.com"
  ],
  "segment_ids": [
    7
  ]
}

Response

Created

idinteger

The unique ID of the brand.

project_idinteger

The ID of the project the brand belongs to.

display_namestring

The canonical display name of the brand.

aliasesstring[]

Alternative names that the brand is referred to by.

domainsstring[]

The web domains associated with the brand.

kind'own' | 'competitor' | 'discovered' | 'ignored'

The brand's classification, derived from its context rather than stored: the brand the project's brand_id points at is own, a brand with ignored_at set is ignored, a brand attached to any segment is a competitor, and a brand with none of those is discovered. This field is read-only.

colorstring

A hex color used to color the brand consistently across charts. It is derived from the brand's favicon, or assigned automatically when no color can be derived. This field is read-only and is always present.

ignored_atstring date-time nullable

When the brand was ignored, or null while it is not. Set and cleared through the ignored field on the update endpoint.

created_atstring date-time

When the brand was created.

updated_atstring date-time

When the brand was last updated.

Example response

{
  "id": 555,
  "project_id": 42,
  "display_name": "Acme Inc.",
  "aliases": [
    "Acme",
    "Acme Co"
  ],
  "domains": [
    "acme.com",
    "acme.co"
  ],
  "kind": "competitor",
  "color": "#008FFB",
  "project": {
    "id": 42,
    "organization_id": 7,
    "name": "Acme Marketing",
    "brand_id": 555,
    "organization": {
      "id": 7,
      "name": "Acme Inc.",
      "created_at": "2026-05-15T09:11:42+00:00",
      "updated_at": "2026-05-15T09:11:42+00:00"
    },
    "created_at": "2026-05-15T09:11:42+00:00",
    "updated_at": "2026-05-15T09:11:42+00:00"
  },
  "created_at": "2026-05-15T09:11:42+00:00",
  "updated_at": "2026-05-15T09:11:42+00:00"
}

Changes

No recorded changes to this operation across all 1 revision of this API.