Requirements
Return requirements documents in the API key project scope, optionally filtered by document type or title.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Query Parameters
Optional document type filter.
Optional case-insensitive title filter.
1 <= value11 <= value <= 10020Response Body
application/json
application/json
curl -X GET "https://example.com/v2/external-api/requirements"{ "items": [ { "object": "requirements_document", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb", "updated_at": "2019-08-24T14:15:22Z" } ], "total": 0, "page": 0, "page_size": 0, "total_pages": 0}Create a FEATURE or OVERVIEW requirements document.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Create a requirements document.
Response Body
application/json
application/json
curl -X POST "https://example.com/v2/external-api/requirements" \ -H "Content-Type: application/json" \ -d '{ "title": "string", "document_type": "FEATURE" }'{ "data": { "object": "requirements_document", "connectedContext": [ { "resourceType": "artifact", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "title": "string", "markdown_content": "string", "updated_at": "2019-08-24T14:15:22Z", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb" }}Regex search requirements document titles and markdown content.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Requirements search request.
Response Body
application/json
application/json
curl -X POST "https://example.com/v2/external-api/requirements/search" \ -H "Content-Type: application/json" \ -d '{ "query": "string" }'{ "items": [ { "object": "requirements_document", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string", "document_type": "FEATURE", "matches": [ { "line_number": 0, "line": "string", "before_context": [ "string" ], "after_context": [ "string" ] } ] } ]}Return the latest requirements document content for one scoped document.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidQuery Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "object": "requirements_document", "connectedContext": [ { "resourceType": "artifact", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "title": "string", "markdown_content": "string", "updated_at": "2019-08-24T14:15:22Z", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb" }}Persist complete markdown content for a requirements document in the API key project scope. Markdown is converted server-side to ProseMirror; invalid markdown returns a 400 error.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Update requirements markdown content.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "markdown_content": "string" }'{ "data": { "object": "requirements_document", "connectedContext": [ { "resourceType": "artifact", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "title": "string", "markdown_content": "string", "updated_at": "2019-08-24T14:15:22Z", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb" }}Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidResponse Body
application/json
curl -X DELETE "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08"Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Rename a requirements document.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/rename" \ -H "Content-Type: application/json" \ -d '{ "title": "string" }'{ "data": { "object": "requirements_document", "connectedContext": [ { "resourceType": "artifact", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "title": "string", "markdown_content": "string", "updated_at": "2019-08-24T14:15:22Z", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb" }}Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Move a requirements document in its same typed tree.
Response Body
application/json
application/json
curl -X PUT "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/move" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "object": "requirements_document", "connectedContext": [ { "resourceType": "artifact", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "title": "string", "markdown_content": "string", "updated_at": "2019-08-24T14:15:22Z", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb" }}Apply an oldText/newText suggestion to the current requirements document through the collaborative editor, creating tracked insertion/deletion marks.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Tracked suggestion apply request.
Response Body
application/json
application/json
curl -X POST "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/apply_suggestion" \ -H "Content-Type: application/json" \ -d '{ "new_text": "string" }'{ "data": { "status": "string", "change_ids": [ "string" ] }}Return version history for one requirements document in the scoped project.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/versions"{ "items": [ { "object": "version", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "created_at": "2019-08-24T14:15:22Z", "attribution": { "origin_type": "user", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5", "user_email": "string", "user_first_name": "string", "user_last_name": "string", "origin_name": "string" }, "version_name": "string" } ], "total_count": 0}Return one specific requirements document version in the scoped project.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuiduuidResponse Body
application/json
application/json
curl -X GET "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/versions/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "object": "requirements_document", "connectedContext": [ { "resourceType": "artifact", "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "version_id": "9e94c502-ca41-4342-a7f7-af96b444512c", "version_number": 0, "title": "string", "markdown_content": "string", "updated_at": "2019-08-24T14:15:22Z", "document_type": "FEATURE", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "children": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6", "title": "string" } ], "feature_id": "ba6c7b2c-38fc-4a78-a187-51c7bbbd5c50", "overview_tree_node_id": "066c80be-b235-4735-a14b-d7b32a2546fb" }}Return simplified thread-first comments for one requirements document.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/comments"{ "items": [ { "object": "document_comment_thread", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "thread_id": "1de43264-67cb-48af-89f9-e865c375bb84", "messages": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "message": "string", "created_at": "2019-08-24T14:15:22Z", "created_by_name": "string" } ], "is_resolved": true, "is_flagged": true } ]}Create a new comment thread on one requirements document.
Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Simplified external API comment create request.
Response Body
application/json
application/json
curl -X POST "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/comments" \ -H "Content-Type: application/json" \ -d '{ "message": "string" }'{ "data": { "object": "document_comment_thread", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "thread_id": "1de43264-67cb-48af-89f9-e865c375bb84", "messages": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "message": "string", "created_at": "2019-08-24T14:15:22Z", "created_by_name": "string" } ], "is_resolved": true, "is_flagged": true }}Authorization
ApiKeyAuth External API key header (format: sofa-ext-). Authorization: Bearer is also accepted.
In: header
Path Parameters
uuiduuidResponse Body
application/json
application/json
curl -X GET "https://example.com/v2/external-api/requirements/497f6eca-6276-4993-bfeb-53cbbbba6f08/comments/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "object": "document_comment_thread", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "thread_id": "1de43264-67cb-48af-89f9-e865c375bb84", "messages": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "message": "string", "created_at": "2019-08-24T14:15:22Z", "created_by_name": "string" } ], "is_resolved": true, "is_flagged": true }}