> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Proposal Login

> Authenticates a user to view and interact with a proposal.

# Proposal Login

Authenticates a user to access a specific proposal. Used when proposals require email verification before the recipient can view or accept them.

## Authentication

No prior authentication required.

## Path Parameters

<ParamField path="proposalId" type="string" required>
  The unique string identifier (GUID) of the proposal.
</ParamField>

## Request Body

<ParamField body="Email" type="string" required>
  Email address of the proposal recipient for verification.
</ParamField>

## Response

Returns the proposal file ID and an access token for subsequent proposal interactions.

<ResponseField name="file" type="number" required>
  The numeric identifier of the proposal file.
</ResponseField>

<ResponseField name="accessToken" type="string" required>
  A token used to authenticate further proposal actions (e.g. accepting the proposal). Exchanged for a full auth session via `exchangeToken()`.
</ResponseField>

## Examples

### Login to view a proposal

```http theme={null}
PUT /api/public/proposals/abc123-def456/login
Content-Type: application/json

{
  "Email": "member@example.com"
}
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

await httpClient.put(endpoints.proposals.login('abc123-def456'), {
  Email: 'member@example.com',
})
```
