Skip to main content
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

Headers

Accept
string
required
Must be application/json.
X-MSS-API-APPID
string
required
Your API Application Key.
X-MSS-API-USERKEY
string
required
Your User API Key.
X-MSS-CUSTOM-DATE
string
required
Current UTC timestamp in RFC 7231 format.
X-MSS-SIGNATURE
string
required
HMAC-SHA256 signature, Base64-encoded.

Path parameters

ProposalId
integer
required
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.
items
array
required
Array of content items attached to the proposal.

Error codes

CodeMeaning
401Not authorized — invalid credentials or incorrect HMAC signature.
403Forbidden — 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'
Response
{
  "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"
      }
    }
  ]
}