---
title: "Add Contribution to Topic"
method: POST
path: "/v1/meetings/{meetingId}/ideas/sessions/{topicId}/items"
tags: ["Q&A"]
---

# Add Contribution to Topic

`POST /v1/meetings/{meetingId}/ideas/sessions/{topicId}/items`

## Request

- Base URL: `https://app.meet.ps/api`
- URL: `https://app.meet.ps/api/v1/meetings/{meetingId}/ideas/sessions/{topicId}/items`
- Auth: HTTP bearer

## Path parameters

- `meetingId` string, required: A canonical meeting ID string that's generated automatically for new meetings. Normally consists of just alphanumericals; legacy meetings can have dashes and underscores.

## Request body

- Contribution: Properties of Topic Contribution in Q&A
  - `id` string: Contribution ID
  - `parentId` string: ID for a parent contribution that this one seems a duplicate of
  - `responseId` string: ID for a child comment that's considered an official response
  - `broadcasting` boolean: Highlight a contribution in broadcast view
  - `focused` boolean: Force attendee focus to the contribution
  - `lastvote` integer: Timestamp of last vote to the contribution
  - `numChildren` integer: Number of comment posted to the contribution
  - `owner` string: ID of contribution owner
  - `score` number: Net score of the contribution based on all votes cast on it
  - `scoreTotal` number: Total of contribution score
  - `state` 'submitted' | 'approved' | 'rejected' | 'done' | 'later'
  - `text` string: Contribution contents
  - `timestamp` integer: Contribution timestamp
  - `language` string: Language code for the original question text posted. Normally auto-detected when a meeting runs with auto-translation.
  - `i18n` object: Translation variants for the original text, keyed by language code. Missing if autotranslation was disabled in the meeting.
  - `votes` integer: Number of voters who upvoted or downvoted a given contribution

## Response `200`

- object
  - `result` Contribution: Properties of Topic Contribution in Q&A
    - `id` string: Contribution ID
    - `parentId` string: ID for a parent contribution that this one seems a duplicate of
    - `responseId` string: ID for a child comment that's considered an official response
    - `broadcasting` boolean: Highlight a contribution in broadcast view
    - `focused` boolean: Force attendee focus to the contribution
    - `lastvote` integer: Timestamp of last vote to the contribution
    - `numChildren` integer: Number of comment posted to the contribution
    - `owner` string: ID of contribution owner
    - `score` number: Net score of the contribution based on all votes cast on it
    - `scoreTotal` number: Total of contribution score
    - `state` 'submitted' | 'approved' | 'rejected' | 'done' | 'later'
    - `text` string: Contribution contents
    - `timestamp` integer: Contribution timestamp
    - `language` string: Language code for the original question text posted. Normally auto-detected when a meeting runs with auto-translation.
    - `i18n` object: Translation variants for the original text, keyed by language code. Missing if autotranslation was disabled in the meeting.
    - `votes` integer: Number of voters who upvoted or downvoted a given contribution

## Other responses

- `401`: Access token is missing or invalid
- `403`: A meeting-specific role is missing to perform an action
- `404`: Reference meeting doesn't exist

---

[API](https://skmtc.dev/meet/apis/meetingpulse-api.md) · [All operations](https://skmtc.dev/meet/apis/meetingpulse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meet/apis/meetingpulse-api/revisions/dc29466adc0e?raw)
