Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.
Record a prospect view of a proposal
POST
/api/v1/proposals/public/{token}/view
const url = 'https://api.pitch2sale.com/api/v1/proposals/public/example/view';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"duration_seconds":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.pitch2sale.com/api/v1/proposals/public/example/view \ --header 'Content-Type: application/json' \ --data '{ "duration_seconds": 1 }'Unauthenticated. Without duration_seconds it logs an open; with it, it attaches dwell time to the latest open.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”token
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
duration_seconds
number
Examplegenerated
{ "duration_seconds": 1}Responses
Section titled “Responses”Recorded
Validation failed
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}Rate limit exceeded
Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "details": [ { "field": "example", "message": "example", "code": "example" } ]}