Skip to main content
GET
/
public
/
api
/
proposals
/
{ProposalId}
/
ai
/
outline
curl -i -X GET \
  'https://api.portal.io/public/proposals/12345/ai/outline' \
  -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'
{
  "proposalId": 123,
  "outline": "<string>"
}
Returns the latest AI-generated outline for the specified proposal. The status field indicates whether generation is still in progress (Generating) or finished (Completed). The outline field is only populated once the status reaches Completed.
Outline generation is asynchronous. After calling Generate Proposal Outline, poll this endpoint or listen for the Proposal Outline Status Changed webhook to know when the outline is ready.
curl -i -X GET \
  'https://api.portal.io/public/proposals/12345/ai/outline' \
  -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 (Completed)
{
  "proposalId": 12345,
  "status": "Completed",
  "outline": "## Executive Summary\nThis proposal covers the development of...\n\n## Scope of Work\n..."
}
Response (Generating)
{
  "proposalId": 12345,
  "status": "Generating",
  "outline": null
}

Headers

Accept
enum<string>
required

Accept Header

Available options:
application/json
X-MSS-API-APPID
string
required

Application Id

X-MSS-CUSTOM-DATE
string
required

A date timestamp of the request

X-MSS-SIGNATURE
string
required

A signature for the request

X-MSS-API-USERKEY
string
required

User API Key

Path Parameters

ProposalId
integer<int32>
required

Unique identifier of the proposal to retrieve the AI-generated outline for.

Response

Success

PublicAiProposalOutlineGetResponse

proposalId
integer<int32>
required

Unique identifier of the proposal for which the outline is returned.

status
enum<string>
required

Current AI generation status for the proposal outline.

  • Generating: The outline generation is in progress and the 'Outline' field will be null.
  • Completed: The outline has been generated successfully and is available in the 'Outline' field.
  • Failed: Generation failed and the 'Outline' field will be null. Check logs or retries for details.
Available options:
Generating,
Completed,
Failed
outline
string

The AI-generated proposal outline text. This field is populated only when 'Status' is 'Completed'. When 'Status' is 'Generating' or 'Failed', this value will be null. The outline contains a structured summary of the proposal suitable for display or further processing by downstream agents.