Skip to content
Pitch2SaleDevelopers
Open the app
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
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.

Media typeapplication/json
object
provider
required
string
Allowed values: google microsoft
email_address
required
string format: email
access_token
required
string
>= 1 characters
refresh_token
required
string
>= 1 characters
token_expires_at
required
string format: date-time
scopes
Array<string>
default:
display_name
string

The connected mailbox

Media typeapplication/json
object
connected_account
required
object
_id
required
string
provider
required
string
Allowed values: google microsoft
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"
}
]
}