---
title: "Add collaborators to a questionnaire"
method: POST
path: "/vendor/questionnaire/collaborators/add"
tags: ["vendors"]
---

# Add collaborators to a questionnaire

`POST /vendor/questionnaire/collaborators/add`

## Request

- Base URL: `https://cyber-risk.upguard.com/api/public`
- URL: `https://cyber-risk.upguard.com/api/public/vendor/questionnaire/collaborators/add`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/upguard/apis/upguard-cyberrisk-api/docs/vendor/questionnaire/collaborators/add/post.ts> (a function with typed inputs; its response is checked against the schema)

Adds one or more collaborators to a questionnaire or onboarding request.
Collaborators are organization-side users who can review (but not answer) the questionnaire.
If a collaborator is already on the questionnaire, they are skipped (idempotent).

To add vendor-side recipients who answer the questionnaire,
use POST /vendor/questionnaire/recipients/add instead.

Required API key permissions: `VendorRisk` + `ReadWrite` (select when creating API key in Account Settings)

## Request body

- AddQuestionnaireCollaboratorsRequest: AddQuestionnaireCollaboratorsRequest is the request body for adding collaborators to a questionnaire
  - `collaborators` AddQuestionnaireCollaboratorInput[], required: The list of collaborators to add to the questionnaire (max 50). Collaborators are organization-side users who can review (but not answer) the questionnaire. Each collaborator will receive an invitation email or in-app notification. If a collaborator is already on the questionnaire, they are silently skipped.
    - `email_address` string, required: The email address of the collaborator.
  - `message` string: A custom message to include in the invitation email sent to collaborators. If not provided, the organization's default questionnaire collaborator message will be used. Supports the placeholder {{VendorName}} which will be substituted with the vendor's name.
  - `questionnaire_id` integer, required: The ID of the questionnaire to add collaborators to. This is the same ID returned when creating a questionnaire or onboarding request. Use GET /vendor/questionnaires/v2 to list questionnaires for a vendor, or GET /onboarding_request/list to list onboarding requests.
  - `title` string: A custom subject line for the invitation email sent to collaborators. If not provided, the organization's default questionnaire collaborator title will be used. Supports the placeholders {{VendorName}} and {{QuestionnaireType}}.

## Response `200`

Collaborators added successfully

- AddQuestionnaireCollaboratorsResponsePayload: AddQuestionnaireCollaboratorsResponsePayload is the response body for adding collaborators to a questionnaire
  - `results` object: A map of collaborator email addresses to their result status. Possible values: "success": the collaborator was successfully added to the questionnaire. "already_exists": the collaborator is already on the questionnaire (no action taken). "inactive": the email address has been marked as inactive due to previous delivery failures. "failed": the collaborator could not be added due to an error sending the invitation.

## Other responses

- `403`: Account does not have access to requested entities
- `422`: An invalid parameter was supplied or a mandatory parameter was missing
- `429`: Too many requests have been made to this endpoint.
- `500`: An internal system error occurred

## Changes

- **2026-11-07** `d044bf6dc61e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/upguard/apis/upguard-cyberrisk-api/changes/vendor/questionnaire/collaborators/add/post.md)

---

[API](https://skmtc.dev/upguard/apis/upguard-cyberrisk-api.md) - [All operations](https://skmtc.dev/upguard/apis/upguard-cyberrisk-api/llms.txt) - [OpenAPI document](https://skmtc.dev/upguard/apis/upguard-cyberrisk-api/revisions/d044bf6dc61e?raw)
