Skip to main content
GET
/
api
/
public
/
proposals
/
{proposalId}

Get Proposal Details

Returns the full content and status of a specific proposal. Proposals are sent by operators to prospective or existing members and may include plan selections, terms, and pricing.

Authentication

No authentication required — proposals are accessed via their unique identifier.

Path Parameters

proposalId
string
required
The unique string identifier (GUID) of the proposal.

Query Parameters

_shape
string
Comma-separated list of field paths to include in the response. When provided, only the specified fields are returned — useful for reducing payload size. Supports nested paths using dot notation. Example: _shape=Tariff.Name,Price,Status,StartDate,Contracts,Products.

Response

Returns a ProposalData object containing the proposal, associated invoices, and bill run information.

Proposal

The top-level Proposal object has the following fields:

Identity

FieldTypeDescription
IdnumberUnique identifier for the proposal
UniqueIdstringGUID identifier
ReferencestringProposal reference code

Status

FieldTypeDescription
StatusstringCurrent proposal status
HasExpiredbooleanWhether the proposal has expired
HasFilebooleanWhether a file is attached
HasFileToSendbooleanWhether there is a file to send
HasFileToSignbooleanWhether there is a file requiring signature
FileToSignIdnumber?File-to-sign identifier

Pricing

FieldTypeDescription
Pricenumber?Base price amount
PriceFormattedstringLocale-formatted price
TotalPricenumberTotal price including all items
TotalPriceFormattedstringLocale-formatted total price
QuantitynumberQuantity
ApplyProratingbooleanWhether prorating is applied
DoNotIssueInvoicebooleanWhether invoicing is suppressed

Dates

FieldTypeDescription
StartDatestring?Contract start date
CancellationDatestring?Cancellation date
BillingDaynumberDay of month for billing

Content

FieldTypeDescription
NotesstringProposal notes
DiscountDescriptionstringDiscount description text
DesksstringAssigned desks

Nested Objects

FieldTypeDescription
IssuedByBusinessBusiness that issued the proposal
CoworkerCoworkerCoworker the proposal is for
ResponsibleUserUser responsible for the proposal
TariffTariffAssociated plan/tariff
ContractsProposalContract[]Contract schedule items
ProductsProposalProduct[]Products included in the proposal

Timestamps (from base)

FieldTypeDescription
CreatedOnstringRecord creation timestamp (local)
UpdatedOnstringRecord last-update timestamp (local)
CreatedOnUtcstringRecord creation timestamp (UTC)
UpdatedOnUtcstringRecord last-update timestamp (UTC)

ProposalProduct

Each item in the Products array has:
FieldTypeDescription
IdnumberUnique identifier
ProductProductFull product object (nested)
PricenumberPrice amount
PriceFormattedstringLocale-formatted price
TotalPricenumber?Total price
TotalPriceFormattedstringLocale-formatted total price
QuantitynumberQuantity
RegularChargebooleanWhether this is a recurring charge
IsContractProductbooleanWhether tied to a contract
RepeatCyclestringRepeat cycle description
RepeatUnitnumber?Repeat unit
InvoiceOnstring?Next invoice date
RepeatFromstring?Repeat start date
RepeatUntilstring?Repeat end date

Invoices

Invoices is an array of invoice preview objects associated with the proposal.

BillRun

Each item in the BillRun array has:
FieldTypeDescription
FullNamestringCustomer full name
FloorPlanDeskNamesstringAssigned desk names
PurchaseOrderstringPurchase order reference
ItemIdnumberItem identifier
TypestringCharge type
DatestringCharge date
PeriodStartstringBilling period start
PeriodEndstringBilling period end
DescriptionstringCharge description
TotalnumberCharge total
TeamNamesstringAssociated team names
PayingMemberIdnumber?Paying member identifier

Examples

Fetch proposal details

GET /api/public/proposals/abc123-def456

TypeScript Integration

import endpoints from '@/api/endpoints'
import { ProposalData } from '@/types/public/billing/Proposal'

const { resource: proposalData } = useTypedData(httpClient, endpoints.proposals.one('abc123-def456'))
// Access: proposalData.Proposal, proposalData.Invoices, proposalData.BillRun