Views:

This article is for an API Partner wanting to add or delete rows in a matrix question as part of updating a Discloser’s questionnaire-response.

Contents

Summary

This endpoint allows API Partners to interact with the rows within matrix questions. Rows can only be added to dynamic matrix questions, and then, those rows can be deleted later on.

Pre-requisites: Valid subscription key, organization UUID and question ID (adding of row) OR row ID (deleting of row) for the respective Disclosure API environment.

PUT Request (Adding a Row)

Details how to add a row to a dynamic matrix question within a Discloser’s questionnaire response.

Note – Row ID: When a row has been created using the PUT request then the UUID for the new row is returned as part of the success response message. This should be captured for future use to indicate the row has been created by the user. The UUID for the row is also returned within the GET questions request, if you want to capture the ID for rows created by the user in the portal directly.
 

Guideline:

 

  1. Rows can only be added to dynamic matrix questions ("isDynamic" = true).

  2. When creating a row, two options are possible:

    1. When row details are pre-set (“isPrepop" = true), then “rowId” must be specified in the request body as the ID of an existing row for within the question (See “Questionnaire: Questions > GET Request” section).

    2. When row details are not pre- set (“isPrepop" = false), then “rowId” in the request body should be “null”.

URLs

Sandbox: https://api.pre.cdpgreenstar.net/asp/response/questions/{questionId }/add-row

Production: https://api.cdp.net/response/questions/{questionId }/add-row

Headers/Variables

subscription-key (header): For an authorized user this is the subscription key.

organization-id (header): A valid partner organization ID is required. 

questionId (query parameter) : The ID of the matrix question you want to add the row to.

Body

When row details are pre-set (“isPrepop" = true), rowID should be specified:
 

{
"rowId": "f4b9433f-03c7-483d-856c-c5ba0b90d1a4"
}
 

When row details are pre-set  (“isPrepop" = false), then “rowId” should be “null”:
 

{
"rowID": null
}
 

Response

Field table
 

Field

Description

Data Type

id

The UUID for the newly created row.

string

refId

Not used for user created rows.

string

complexQuestionId

The ID of the matrix question the row belongs too.

string

instanceId

The instanceId is generated for new user created rows via “Add row” in the Portal or through API endpoint.

integer

title

The name of the newly created row.

string
order

The position of the row within the matrix question.

integer

Schema
 

{
"id": "string",
"refId": null,
"complexQuestionId": "string",
"instanceId": 0,
"title": "string",
"order": 0
}

DEL Request

Details how to delete a row from a dynamic matrix question within a Discloser’s questionnaire response.

Note – Deletion of rows: You can only delete the rows that been created using this endpoint or created in response Portal by the disclosing organization.

URLs

Sandbox: https://api.pre.cdpgreenstar.net/asp/response/questions/delete-row/{rowId}

Production: https://api.cdp.net/response/questions/delete-row/{rowId}

Headers/Variables

subscription-key (header): For an authorized user this is the subscription key.

organization-id (header): A valid partner organization ID is required.

rowId (query parameter) : The ID of the row you want to delete.

Body

NULL

Response

Field table
 

Field

Description

Data Type

id

The UUID for the row that has been deleted.

string

refId

Not in use.

string

complexQuestionId

The ID of the question the row belongs too.

string

instanceId

The instanceId for the row that has been deleted.

integer

title

The name of the deleted row.

string
order

The position of the row within the matrix question when it was deleted.

integer

Schema
 

{
"id": "string",
"refId": null,
"complexQuestionId": "string",
"instanceId": 0,
"title": "string",
"order": 0
}

GET/POST Requests 

GET requests are not implemented for this endpoint as the information is provided in the responses and for all questions via the /questionnaire/questions endpoint. 

POST requests are not implemented for this endpoint as it is not possible to edit rows once they have been created. 



If you have not found the answer you were looking for, please contact your Account Manager who will be able to assist you further.

Comments (0)
Add a comment