Update Proposal
Proposals
Update Proposal
Update an existing proposal’s title, description, status, uploaded files, text inputs, or metadata.
PUT
Update Proposal
Authentication
This endpoint requires authentication via Bearer token.Path Parameters
The proposal identifier. Can be either:
- UUID format:
a1b2c3d4-e5f6-7890-abcd-ef1234567890 - Proposal code format:
PROP-20260304-A1B2
Request Body
All fields are optional. Only provide the fields you want to update.New title for the proposal.
New description for the proposal.
New status for the proposal (e.g., “draft”, “submitted”, “completed”).
Dictionary of uploaded files organized by category.Common categories:
rfp-document: Array of RFP document URLsconcept-document: Array of concept document URLsreference-proposals: Array of reference proposal URLs
Dictionary of text inputs provided by the user.Common keys:
initial-concept: User’s initial concept text
Additional metadata for the proposal. This can include custom fields, analysis results, or processing flags.Example:
Response
Returns the updated proposal object with all current fields.Unique proposal identifier (UUID).
Human-readable proposal code (format: PROP-YYYYMMDD-XXXX).
The updated title of the proposal.
The updated description of the proposal.
The updated status of the proposal.
ISO 8601 timestamp of when the proposal was created (unchanged).
ISO 8601 timestamp of the update (automatically set to current time).
The ID of the user who owns the proposal.
The email of the user who owns the proposal.
The name of the user who owns the proposal.
The updated dictionary of uploaded files.
The updated dictionary of text inputs.
The updated metadata object.
Example Requests
Response Example
Error Responses
Notes
- Partial Updates: You only need to include the fields you want to update. All other fields will remain unchanged.
- Automatic Timestamp: The
updated_atfield is automatically set to the current timestamp on every update. - Access Control: Users can only update their own proposals.
- Flexible ID Format: You can use either the UUID or the proposal code (PROP-YYYYMMDD-XXXX) to identify the proposal.
- Empty Update: If you send an empty request body or only fields that are not set, the endpoint returns the current proposal without making changes.
- Metadata Merging: The
metadatafield is replaced entirely with the new value provided, not merged. To preserve existing metadata, retrieve it first and include all fields in your update.