Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.
Connect a mailbox with existing OAuth tokens
POST
/api/v1/email/connected-accounts
const url = 'https://api.pitch2sale.com/api/v1/email/connected-accounts';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"provider":"google","email_address":"hello@example.com","access_token":"example","refresh_token":"example","token_expires_at":"2026-04-15T12:00:00Z","scopes":[],"display_name":"example"}'};
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/email/connected-accounts \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "provider": "google", "email_address": "hello@example.com", "access_token": "example", "refresh_token": "example", "token_expires_at": "2026-04-15T12:00:00Z", "scopes": [], "display_name": "example" }'For integrations that already hold Google or Microsoft tokens; most clients use the OAuth start endpoints instead.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
provider
required
string
email_address
required
string format: email
access_token
required
string
refresh_token
required
string
token_expires_at
required
string format: date-time
scopes
Array<string>
display_name
string
Responses
Section titled “Responses”The connected mailbox
Media typeapplication/json
object
connected_account
required
object
_id
required
string
provider
required
string
email_address
required
string
key
additional properties
any
Example
{ "connected_account": { "provider": "google" }}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" } ]}Authentication required or token invalid
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" } ]}