Returns all AI Builder content items (text, audio, and video uploads) attached to a proposal. Each item includes its processing status and metadata. Use this endpoint to check which content has been uploaded and whether transcription is complete before generating an outline.
Request
GET /public/api/proposals/{ProposalId}/ai/content
Must be application/json.
Your API Application Key.
Current UTC timestamp in RFC 7231 format.
HMAC-SHA256 signature, Base64-encoded.
Path parameters
Unique identifier of the proposal whose AI Builder content items should be retrieved. Must be a proposal owned by the authenticated account.
Response
Success
A 200 response returns an object with an items array. Each element in the array is a PublicAiProposalContentItemModel.
Array of content items attached to the proposal. Unique identifier for the content item.
Display name assigned to the content item.
AI-generated summary of the content, if available.
Processing status of the content item (e.g., Uploaded, Transcribing, Completed).
The type of source file (e.g., Text, Audio, Video).
ISO 8601 timestamp of when the content item was created.
The user who uploaded the content item.
Error codes
Code Meaning 401 Not authorized — invalid credentials or incorrect HMAC signature. 403 Forbidden — your account does not have permission for this API call.
Example
curl -i -X GET \
'https://api.portal.io/public/api/proposals/12345/ai/content' \
-H 'Accept: application/json' \
-H 'X-MSS-API-APPID: YOUR_API_APPID' \
-H 'X-MSS-API-USERKEY: YOUR_API_USERKEY' \
-H 'X-MSS-CUSTOM-DATE: Thu, 17 Apr 2026 12:00:00 GMT' \
-H 'X-MSS-SIGNATURE: Base64EncodedHMACSHA256Signature'
{
"items" : [
{
"id" : 42 ,
"name" : "Project Discovery Call" ,
"summary" : "Client discussed requirements for a new e-commerce platform..." ,
"status" : "Completed" ,
"sourceType" : "Audio" ,
"createdDate" : "2026-04-10T09:30:00Z" ,
"userCreated" : {
"id" : 7 ,
"firstName" : "Jane" ,
"lastName" : "Smith" ,
"email" : "jane.smith@example.com"
}
}
]
}