Ideen

Das Ideenobjekt

{
  "id": "c469e730-043d-4bda-a3a0-5e029f56c027",
  "createdAt": "2025-03-07T13:22:12.110Z",
  "updatedAt": "2025-03-07T13:22:12.110Z",
  "friendlyId": 1,
  "aiAssisted": false,
  "canEdit": true,
  "keywords": [],
  "anonymity": null,
  "isLiked": false,
  "fields": [
    {
      "kind": "SHORT_TEXT",
      "title": "Title",
      "value": "Great Idea"
    },
    {
      "kind": "LONG_TEXT",
      "title": "Description",
      "value": "This is a great idea"
    }
  ],
  "stats": {
    "likes": {
      "total": 0
    }
  },
  "mission": {
    "title": "My mission"
  },
  "owner": {
    "email": "test@test.com",
    "firstName": "Test"
  },
  "status": {
    "title": "On Track",
    "kind": "ACTIVE"
  },
  "phase": {
    "name": "Comment"
  }
}

Felder

Feld

Typ

Beschreibung

id

string

Der eindeutige Bezeichner der Idee.

createdAt

ISODate

Das Datum, an dem die Idee erstellt wurde.

updatedAt

ISODate

Das Datum, an dem die Idee zuletzt aktualisiert wurde.

friendlyId

number

Die menschenlesbare ID der Idee

aiAssisted

boolean

Gibt an, ob diese Idee mithilfe von KI erstellt wurde

canEdit

boolean

Gibt an, ob der Nutzer Bearbeitungszugriff auf die Idee hat

Schlüsselwörter

string[]

Die aus dem Inhalt der Idee extrahierten Schlüsselwörter

Anonymität

"partial" "full"

Der Grad der Anonymität dieser Idee

isLiked

boolean

Gibt an, ob dem autorisierten Nutzer diese Idee gefällt

fields.kind

"SHORT_TEXT" "LONG_TEXT" "ATTACHMENTS" "NUMERIC" "CHECKMARK" "SLIDER" "RADIO" "SELECT" "DATETIME" "CODE" "IMAGE_CHOICE" "SCORE" "MEMBER" "STATIC"

Die Art des ausgefüllten Ideenfelds

fields.title

string

Der Titel des ausgefüllten Ideenfelds

fields.value

"string" "number" "Media"

Der Wert des ausgefüllten Ideenfelds

stats.likes.total

number

Die Gesamtzahl der Gefällt-mir-Angaben für die Idee

mission

Mission

Die Mission, in der diese Idee erstellt wurde

Besitzer

Nutzer

Der Nutzer, der diese Idee erstellt hat

status

Status

Der Status der Idee

phase

Phase

Die aktuelle Phase der Idee

Ideen auflisten

curl -X GET "https://api.ideanote.io/v1/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const ideas = await result.json();
Der obige Befehl gibt JSON in folgender Struktur zurück:
[
  {
    "friendlyId": 2,
    "keywords": [],
    "status": {},
    "phase": {},
    "fields": [
      {},
      {}
    ],
    "owner": {}
  },
  {
    "friendlyId": 1,
    "keywords": [],
    "status": {},
    "phase": {},
    "fields": [
      {},
      {}
    ],
    "owner": {}
  }
]

Dieser Endpunkt listet Ideen auf.

HTTP-Anfrage

GET /v1/ideas

Ideen in einer Mission auflisten

curl -X GET "https://api.ideanote.io/v1/missions/b3f0255d-6dc9-4c4e-b932-7186d7268a66/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/missions/b3f0255d-6dc9-4c4e-b932-7186d7268a66/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const idea = await result.json();
Der obige Befehl gibt JSON in folgender Struktur zurück:
[]

Dieser Endpunkt listet Ideen auf.

HTTP-Anfrage

GET /v1/missions/:mission_id/ideas

Abfrageparameter

Parameter

Beschreibung

mission_id

Die ID der Mission, für die Ideen aufgelistet werden sollen

Idee abrufen

curl -X GET "https://api.ideanote.io/v1/ideas/c469e730-043d-4bda-a3a0-5e029f56c027?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/ideas/c469e730-043d-4bda-a3a0-5e029f56c027?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const idea = await result.json();
Der obige Befehl gibt JSON in folgender Struktur zurück:
{
  "friendlyId": 1,
  "keywords": [],
  "status": {},
  "phase": {},
  "fields": [
    {},
    {}
  ],
  "owner": {}
}

Dieser Endpunkt ruft eine bestimmte Idee ab.

HTTP-Anfrage

GET /v1/ideas/:idea_id

Abfrageparameter

Parameter

Beschreibung

idea_id

Die ID der abzurufenden Idee

Idee erstellen

curl -X POST "https://api.ideanote.io/v1/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>" \
     -d '{"mission":"b3f0255d-6dc9-4c4e-b932-7186d7268a66","Title":"My idea","Description":"This is my idea","Days to Implement":28}'
const result = await fetch("https://api.ideanote.io/v1/ideas?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}", {
  method: "POST",
  body: {
    "mission": "b3f0255d-6dc9-4c4e-b932-7186d7268a66",
    "Title": "My idea",
    "Description": "This is my idea",
    "Days to Implement": 28
  },
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const ideas = await result.json();
Der obige Befehl gibt JSON in folgender Struktur zurück:
{
  "friendlyId": 3,
  "keywords": [],
  "status": {},
  "phase": {},
  "fields": [
    {},
    {},
    {
      "value": 28
    }
  ],
  "owner": {}
}

Dieser Endpunkt erstellt eine neue Idee.

HTTP-Anfrage

POST /v1/ideas

Idee aktualisieren

curl -X PUT "https://api.ideanote.io/v1/ideas/c469e730-043d-4bda-a3a0-5e029f56c027?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>" \
     -d '{"status":"c52d8af2-2727-4c76-8a8f-1814e488324e"}'
const result = await fetch("https://api.ideanote.io/v1/ideas/c469e730-043d-4bda-a3a0-5e029f56c027?fields=id,friendlyId,keywords,status.title,phase.name,fields.{kind,title,value},owner.{firstName}", {
  method: "PUT",
  body: {
    "status": "c52d8af2-2727-4c76-8a8f-1814e488324e"
  },
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const idea = await result.json();
Der obige Befehl gibt JSON in folgender Struktur zurück:
{
  "friendlyId": 1,
  "keywords": [
    null,
    null,
    null,
    null
  ],
  "status": {},
  "phase": {},
  "fields": [
    {},
    {}
  ],
  "owner": {}
}

Dieser Endpunkt aktualisiert eine bestimmte Idee.

HTTP-Anfrage

PUT /v1/ideas/:idea_id

Abfrageparameter

Parameter

Beschreibung

idea_id

Die ID der zu aktualisierenden Idee

Idee löschen

curl -X DELETE "https://api.ideanote.io/v1/idea/c469e730-043d-4bda-a3a0-5e029f56c027" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/idea/c469e730-043d-4bda-a3a0-5e029f56c027", {
  method: "DELETE",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

Dieser Endpunkt löscht eine bestimmte Idee.

HTTP-Anfrage

DELETE /v1/idea/:idea_id

Abfrageparameter

Parameter

Beschreibung

idea_id

Die ID der zu löschenden Idee