Skip to main content
POST
/
messages
Send a message
curl --request POST \
  --url https://api.marzipan.co/v1/messages \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Ada Lovelace",
  "email": "ada@example.com",
  "subject": "Wholesale enquiry",
  "message": "Do you offer wholesale pricing?",
  "source": "contact-page",
  "company": "Analytical Engines Ltd"
}
'
import requests

url = "https://api.marzipan.co/v1/messages"

payload = {
"name": "Ada Lovelace",
"email": "ada@example.com",
"subject": "Wholesale enquiry",
"message": "Do you offer wholesale pricing?",
"source": "contact-page",
"company": "Analytical Engines Ltd"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Ada Lovelace',
email: 'ada@example.com',
subject: 'Wholesale enquiry',
message: 'Do you offer wholesale pricing?',
source: 'contact-page',
company: 'Analytical Engines Ltd'
})
};

fetch('https://api.marzipan.co/v1/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.marzipan.co/v1/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Ada Lovelace',
'email' => 'ada@example.com',
'subject' => 'Wholesale enquiry',
'message' => 'Do you offer wholesale pricing?',
'source' => 'contact-page',
'company' => 'Analytical Engines Ltd'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.marzipan.co/v1/messages"

payload := strings.NewReader("{\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\",\n \"subject\": \"Wholesale enquiry\",\n \"message\": \"Do you offer wholesale pricing?\",\n \"source\": \"contact-page\",\n \"company\": \"Analytical Engines Ltd\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.marzipan.co/v1/messages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\",\n \"subject\": \"Wholesale enquiry\",\n \"message\": \"Do you offer wholesale pricing?\",\n \"source\": \"contact-page\",\n \"company\": \"Analytical Engines Ltd\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.marzipan.co/v1/messages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\",\n \"subject\": \"Wholesale enquiry\",\n \"message\": \"Do you offer wholesale pricing?\",\n \"source\": \"contact-page\",\n \"company\": \"Analytical Engines Ltd\"\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "message": "Message has been logged."
}
{
"message": "The email field is required.",
"errors": {
"email": [
"The email field is required."
]
}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your API token.

Body

application/json
name
string
required

Sender's full name.

email
string<email>
required

Sender's email address.

subject
string
required

Message subject.

message
string
required

Message body.

source
string
required

Where the message originated (e.g. the page URL or form name).

company
string

Optional company name for the sender.

Response

The message was logged.

success
boolean
message
string