Missions

L’objet mission représente une collecte de missions et contient des idées.

L’objet mission

{
  "id": "b3f0255d-6dc9-4c4e-b932-7186d7268a66",
  "createdAt": "2025-03-07T13:22:11.878Z",
  "updatedAt": "2025-03-07T13:22:11.957Z",
  "title": "My mission",
  "question": "How might we improve the coffee?",
  "details": null,
  "friendlyId": 1,
  "archived": false,
  "canEdit": true,
  "canCreate": true,
  "stats": {
    "ideas": {
      "total": 1,
      "days7": 1
    }
  },
  "defaultPhase": {
    "name": "Comment",
    "kind": "GROW"
  },
  "section": {
    "title": "General"
  },
  "cover": {
    "url": {
      "thumbnail": "https://uploads.staging.ideanote.dev/static/gradients/1024x256/gradient869.jpg"
    }
  }
}

Champs

Champ

Type

Description

identifiant

string

L’identifiant unique de la mission.

createdAt

ISODate

La date de création de la mission.

updatedAt

ISODate

La date de la dernière mise à jour de la mission.

titre

string

Le titre de la mission

question

string

La question de la mission

détails

string

Les détails de la mission

friendlyId

string

L’identifiant lisible de la mission

archivée

boolean

Indique si cette mission est archivée

canEdit

boolean

Indique si l’utilisateur autorisé peut modifier cette mission

canCreate

boolean

Indique si l’utilisateur autorisé peut créer des idées dans la mission

stats.ideas.total

number

Le nombre total d’idées dans la mission

stats.ideas.days7

number

Le nombre total d’idées créées dans la mission au cours des 7 derniers jours

defaultPhase

Phase

La phase par défaut des idées dans la mission

section

Section

La section dans laquelle la mission a été placée

couverture

Média

L’image de couverture de la mission

Lister les missions

curl -X GET "https://api.ideanote.io/v1/missions?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/missions?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const missions = await result.json();
La commande ci-dessus renvoie un JSON structuré comme suit :
[
  {
    "details": null,
    "stats": {
      "ideas": {
        "total": 1
      }
    },
    "cover": {
      "url": {
        "thumbnail": "https://uploads.ideanote.dev/static/gradients/1024x256/gradient869.jpg"
      }
    }
  },
  {
    "details": null,
    "stats": {
      "ideas": {
        "total": 2
      }
    },
    "cover": {
      "url": {
        "thumbnail": "https://uploads.ideanote.dev/static/gradients/1024x256/gradient673.jpg"
      }
    }
  }
]

Ce point de terminaison répertorie les missions.

Requête HTTP

GET /v1/missions

Obtenir une mission

curl -X GET "https://api.ideanote.io/v1/missions/b3f0255d-6dc9-4c4e-b932-7186d7268a66?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail" \
     -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?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const mission = await result.json();
La commande ci-dessus renvoie un JSON structuré comme suit :
{
  "details": null,
  "stats": {
    "ideas": {
      "total": 1
    }
  },
  "cover": {
    "url": {
      "thumbnail": "https://uploads.ideanote.dev/static/gradients/1024x256/gradient869.jpg"
    }
  }
}

Ce point de terminaison récupère une mission spécifique.

Requête HTTP

GET /v1/missions/:mission_id

Paramètres de requête

Paramètre

Description

mission_id

L’ID de la mission à récupérer

Créer une mission

curl -X POST "https://api.ideanote.io/v1/missions?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>" \
     -d '{"question":"How do we improve the coffee?"}'
const result = await fetch("https://api.ideanote.io/v1/missions?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail", {
  method: "POST",
  body: {
    "question": "How do we improve the coffee?"
  },
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const missions = await result.json();
La commande ci-dessus renvoie un JSON structuré comme suit :
{
  "title": null,
  "details": null,
  "stats": {
    "ideas": {
      "total": 0
    }
  },
  "cover": null
}

Ce point de terminaison crée une nouvelle mission.

Requête HTTP

POST /v1/missions

Mettre à jour une mission

curl -X PUT "https://api.ideanote.io/v1/missions/b3f0255d-6dc9-4c4e-b932-7186d7268a66?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>" \
     -d '{"question":"How do we improve the cantina?"}'
const result = await fetch("https://api.ideanote.io/v1/missions/b3f0255d-6dc9-4c4e-b932-7186d7268a66?fields=id,title,question,details,stats.ideas.total,cover.url.thumbnail", {
  method: "PUT",
  body: {
    "question": "How do we improve the cantina?"
  },
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const mission = await result.json();
La commande ci-dessus renvoie un JSON structuré comme suit :
{
  "details": null,
  "stats": {
    "ideas": {
      "total": 1
    }
  },
  "cover": {
    "url": {
      "thumbnail": "https://uploads.ideanote.dev/static/gradients/1024x256/gradient869.jpg"
    }
  }
}

Ce point de terminaison met à jour une mission spécifique.

Requête HTTP

PUT /v1/missions/:mission_id

Paramètres de requête

Paramètre

Description

mission_id

L’ID de la mission à mettre à jour

Supprimer la mission

curl -X DELETE "https://api.ideanote.io/v1/missions/b3f0255d-6dc9-4c4e-b932-7186d7268a66" \
     -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", {
  method: "DELETE",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

Ce point de terminaison supprime une mission spécifique.

Requête HTTP

DELETE /v1/missions/:mission_id

Paramètres de requête

Paramètre

Description

mission_id

L’ID de la mission à supprimer