> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.gorilladash.com/gorilla-dash-rest-ful-api/people/send-email-to-person/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.gorilladash.com/_mcp/server.
# Send Email To Person
POST https://api.gorilladash.com/api/v1/people/send-email
Content-Type: application/json
Send a one-off email to a person in your organisation, from the tribe's branding.
**Required** — `person_id`, `subject`, `body`.
**`body` is raw HTML and is sent as-is.** It is not run through a template or an editor, so send a complete fragment (`
…` or just markup) and inline any styling you need.
**Choosing the tribe** (organisation keys only — a tribe key always sends as itself and ignores these):
The three selectors are tried **in this order**, and the first one present wins:
1. `tribe_id`
2. `global_id`
3. `tribe_slug`
Each is resolved against the organisation's **Active** tribes only, and a selector that matches nothing returns **404** — it does not silently fall through to the next one. Send none of them and the email goes out with no tribe attached.
**The person must be reachable.** They must belong to the calling organisation (and to the named tribe, if you named one) and have a non-empty email address. Anything else — wrong organisation, wrong tribe, no email on file — is a **404**.
**Response** — `{ "log_uuid": "…" }` with HTTP **201**. That uuid is the row written to the email log, so keep it if you need to trace delivery later.
Reference: https://docs.gorilladash.com/gorilla-dash-rest-ful-api/people/send-email-to-person
## Request
### Headers
- `GorillaDash-Api-Key` (string, optional) — Gorilla Dash API Key
- `GorillaDash-Api-Secret` (string, optional) — Gorilla Dash API Secret
- `X-Requested-With` (string, optional)
### Body (application/json)
This endpoint expects a string.
- `string`
## Response
### 201
Created
- `status` (integer, required)
- `success` (boolean, required)
- `data` (ApiV1PeopleSendEmailPostResponsesContentApplicationJsonSchemaData, required)
## Types
### ApiV1PeopleSendEmailPostResponsesContentApplicationJsonSchemaData
- `log_uuid` (string, required)
## Examples
### Organisation Send Email Example
**Response**
```json
{
"status": 201,
"success": true,
"data": {
"log_uuid": "9f02e50c-6953-41c1-8c5a-7526279d91ad"
}
}
```
**SDK Code**
```python Organisation Send Email Example
import requests
url = "https://api.gorilladash.com/api/v1/people/send-email"
headers = {
"GorillaDash-Api-Key": "{{API_KEY}}",
"GorillaDash-Api-Secret": "{{GD_RESTFUL_SECRET}}",
"X-Requested-With": "XMLHttpRequest"
}
response = requests.post(url, headers=headers)
print(response.json())
```
```javascript Organisation Send Email Example
const url = 'https://api.gorilladash.com/api/v1/people/send-email';
const options = {
method: 'POST',
headers: {
'GorillaDash-Api-Key': '{{API_KEY}}',
'GorillaDash-Api-Secret': '{{GD_RESTFUL_SECRET}}',
'X-Requested-With': 'XMLHttpRequest'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go Organisation Send Email Example
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gorilladash.com/api/v1/people/send-email"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("GorillaDash-Api-Key", "{{API_KEY}}")
req.Header.Add("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}")
req.Header.Add("X-Requested-With", "XMLHttpRequest")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby Organisation Send Email Example
require 'uri'
require 'net/http'
url = URI("https://api.gorilladash.com/api/v1/people/send-email")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["GorillaDash-Api-Key"] = '{{API_KEY}}'
request["GorillaDash-Api-Secret"] = '{{GD_RESTFUL_SECRET}}'
request["X-Requested-With"] = 'XMLHttpRequest'
response = http.request(request)
puts response.read_body
```
```java Organisation Send Email Example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.post("https://api.gorilladash.com/api/v1/people/send-email")
.header("GorillaDash-Api-Key", "{{API_KEY}}")
.header("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}")
.header("X-Requested-With", "XMLHttpRequest")
.asString();
```
```php Organisation Send Email Example
request('POST', 'https://api.gorilladash.com/api/v1/people/send-email', [
'headers' => [
'GorillaDash-Api-Key' => '{{API_KEY}}',
'GorillaDash-Api-Secret' => '{{GD_RESTFUL_SECRET}}',
'X-Requested-With' => 'XMLHttpRequest',
],
]);
echo $response->getBody();
```
```csharp Organisation Send Email Example
using RestSharp;
var client = new RestClient("https://api.gorilladash.com/api/v1/people/send-email");
var request = new RestRequest(Method.POST);
request.AddHeader("GorillaDash-Api-Key", "{{API_KEY}}");
request.AddHeader("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}");
request.AddHeader("X-Requested-With", "XMLHttpRequest");
IRestResponse response = client.Execute(request);
```
```swift Organisation Send Email Example
import Foundation
let headers = [
"GorillaDash-Api-Key": "{{API_KEY}}",
"GorillaDash-Api-Secret": "{{GD_RESTFUL_SECRET}}",
"X-Requested-With": "XMLHttpRequest"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://api.gorilladash.com/api/v1/people/send-email")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```
### Tribe Send Email Example
**Response**
```json
{
"status": 201,
"success": true,
"data": {
"log_uuid": "9f02e50c-6953-41c1-8c5a-7526279d91ad"
}
}
```
**SDK Code**
```python Tribe Send Email Example
import requests
url = "https://api.gorilladash.com/api/v1/people/send-email"
headers = {
"GorillaDash-Api-Key": "{{API_KEY}}",
"GorillaDash-Api-Secret": "{{GD_RESTFUL_SECRET}}",
"X-Requested-With": "XMLHttpRequest"
}
response = requests.post(url, headers=headers)
print(response.json())
```
```javascript Tribe Send Email Example
const url = 'https://api.gorilladash.com/api/v1/people/send-email';
const options = {
method: 'POST',
headers: {
'GorillaDash-Api-Key': '{{API_KEY}}',
'GorillaDash-Api-Secret': '{{GD_RESTFUL_SECRET}}',
'X-Requested-With': 'XMLHttpRequest'
}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go Tribe Send Email Example
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gorilladash.com/api/v1/people/send-email"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("GorillaDash-Api-Key", "{{API_KEY}}")
req.Header.Add("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}")
req.Header.Add("X-Requested-With", "XMLHttpRequest")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby Tribe Send Email Example
require 'uri'
require 'net/http'
url = URI("https://api.gorilladash.com/api/v1/people/send-email")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["GorillaDash-Api-Key"] = '{{API_KEY}}'
request["GorillaDash-Api-Secret"] = '{{GD_RESTFUL_SECRET}}'
request["X-Requested-With"] = 'XMLHttpRequest'
response = http.request(request)
puts response.read_body
```
```java Tribe Send Email Example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.post("https://api.gorilladash.com/api/v1/people/send-email")
.header("GorillaDash-Api-Key", "{{API_KEY}}")
.header("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}")
.header("X-Requested-With", "XMLHttpRequest")
.asString();
```
```php Tribe Send Email Example
request('POST', 'https://api.gorilladash.com/api/v1/people/send-email', [
'headers' => [
'GorillaDash-Api-Key' => '{{API_KEY}}',
'GorillaDash-Api-Secret' => '{{GD_RESTFUL_SECRET}}',
'X-Requested-With' => 'XMLHttpRequest',
],
]);
echo $response->getBody();
```
```csharp Tribe Send Email Example
using RestSharp;
var client = new RestClient("https://api.gorilladash.com/api/v1/people/send-email");
var request = new RestRequest(Method.POST);
request.AddHeader("GorillaDash-Api-Key", "{{API_KEY}}");
request.AddHeader("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}");
request.AddHeader("X-Requested-With", "XMLHttpRequest");
IRestResponse response = client.Execute(request);
```
```swift Tribe Send Email Example
import Foundation
let headers = [
"GorillaDash-Api-Key": "{{API_KEY}}",
"GorillaDash-Api-Secret": "{{GD_RESTFUL_SECRET}}",
"X-Requested-With": "XMLHttpRequest"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://api.gorilladash.com/api/v1/people/send-email")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```
### People_Send Email To Person_example
**Request**
```json
"{\n \"tribe_id\": 902, // optional - priority 1st\n \"global_id\": \"99999\", // optional - priority 2nd\n \"tribe_slug\": \"fl-demo\", // optional - priority 3rd\n \"person_id\": 122177,\n \"subject\": \"Gorilla Dash Subject\",\n \"body\": \"Gorilla Dash Body\"\n}"
```
**Response**
```json
{
"status": 201,
"success": true,
"data": {
"log_uuid": "9f02e50c-6953-41c1-8c5a-7526279d91ad"
}
}
```
**SDK Code**
```python People_Send Email To Person_example
import requests
url = "https://api.gorilladash.com/api/v1/people/send-email"
payload = "{
\"tribe_id\": 902, // optional - priority 1st
\"global_id\": \"99999\", // optional - priority 2nd
\"tribe_slug\": \"fl-demo\", // optional - priority 3rd
\"person_id\": 122177,
\"subject\": \"Gorilla Dash Subject\",
\"body\": \"Gorilla Dash Body\"
}"
headers = {
"GorillaDash-Api-Key": "{{API_KEY}}",
"GorillaDash-Api-Secret": "{{GD_RESTFUL_SECRET}}",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
```
```javascript People_Send Email To Person_example
const url = 'https://api.gorilladash.com/api/v1/people/send-email';
const options = {
method: 'POST',
headers: {
'GorillaDash-Api-Key': '{{API_KEY}}',
'GorillaDash-Api-Secret': '{{GD_RESTFUL_SECRET}}',
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json'
},
body: '"{\n \"tribe_id\": 902, // optional - priority 1st\n \"global_id\": \"99999\", // optional - priority 2nd\n \"tribe_slug\": \"fl-demo\", // optional - priority 3rd\n \"person_id\": 122177,\n \"subject\": \"Gorilla Dash Subject\",\n \"body\": \"Gorilla Dash Body\"\n}"'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go People_Send Email To Person_example
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gorilladash.com/api/v1/people/send-email"
payload := strings.NewReader("\"{\\n \\\"tribe_id\\\": 902, // optional - priority 1st\\n \\\"global_id\\\": \\\"99999\\\", // optional - priority 2nd\\n \\\"tribe_slug\\\": \\\"fl-demo\\\", // optional - priority 3rd\\n \\\"person_id\\\": 122177,\\n \\\"subject\\\": \\\"Gorilla Dash Subject\\\",\\n \\\"body\\\": \\\"Gorilla Dash Body\\\"\\n}\"")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("GorillaDash-Api-Key", "{{API_KEY}}")
req.Header.Add("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}")
req.Header.Add("X-Requested-With", "XMLHttpRequest")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby People_Send Email To Person_example
require 'uri'
require 'net/http'
url = URI("https://api.gorilladash.com/api/v1/people/send-email")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["GorillaDash-Api-Key"] = '{{API_KEY}}'
request["GorillaDash-Api-Secret"] = '{{GD_RESTFUL_SECRET}}'
request["X-Requested-With"] = 'XMLHttpRequest'
request["Content-Type"] = 'application/json'
request.body = "\"{\\n \\\"tribe_id\\\": 902, // optional - priority 1st\\n \\\"global_id\\\": \\\"99999\\\", // optional - priority 2nd\\n \\\"tribe_slug\\\": \\\"fl-demo\\\", // optional - priority 3rd\\n \\\"person_id\\\": 122177,\\n \\\"subject\\\": \\\"Gorilla Dash Subject\\\",\\n \\\"body\\\": \\\"Gorilla Dash Body\\\"\\n}\""
response = http.request(request)
puts response.read_body
```
```java People_Send Email To Person_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.post("https://api.gorilladash.com/api/v1/people/send-email")
.header("GorillaDash-Api-Key", "{{API_KEY}}")
.header("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}")
.header("X-Requested-With", "XMLHttpRequest")
.header("Content-Type", "application/json")
.body("\"{\\n \\\"tribe_id\\\": 902, // optional - priority 1st\\n \\\"global_id\\\": \\\"99999\\\", // optional - priority 2nd\\n \\\"tribe_slug\\\": \\\"fl-demo\\\", // optional - priority 3rd\\n \\\"person_id\\\": 122177,\\n \\\"subject\\\": \\\"Gorilla Dash Subject\\\",\\n \\\"body\\\": \\\"Gorilla Dash Body\\\"\\n}\"")
.asString();
```
```php People_Send Email To Person_example
request('POST', 'https://api.gorilladash.com/api/v1/people/send-email', [
'body' => '"{\\n \\"tribe_id\\": 902, // optional - priority 1st\\n \\"global_id\\": \\"99999\\", // optional - priority 2nd\\n \\"tribe_slug\\": \\"fl-demo\\", // optional - priority 3rd\\n \\"person_id\\": 122177,\\n \\"subject\\": \\"Gorilla Dash Subject\\",\\n \\"body\\": \\"Gorilla Dash Body\\"\\n}"',
'headers' => [
'Content-Type' => 'application/json',
'GorillaDash-Api-Key' => '{{API_KEY}}',
'GorillaDash-Api-Secret' => '{{GD_RESTFUL_SECRET}}',
'X-Requested-With' => 'XMLHttpRequest',
],
]);
echo $response->getBody();
```
```csharp People_Send Email To Person_example
using RestSharp;
var client = new RestClient("https://api.gorilladash.com/api/v1/people/send-email");
var request = new RestRequest(Method.POST);
request.AddHeader("GorillaDash-Api-Key", "{{API_KEY}}");
request.AddHeader("GorillaDash-Api-Secret", "{{GD_RESTFUL_SECRET}}");
request.AddHeader("X-Requested-With", "XMLHttpRequest");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "\"{\\n \\\"tribe_id\\\": 902, // optional - priority 1st\\n \\\"global_id\\\": \\\"99999\\\", // optional - priority 2nd\\n \\\"tribe_slug\\\": \\\"fl-demo\\\", // optional - priority 3rd\\n \\\"person_id\\\": 122177,\\n \\\"subject\\\": \\\"Gorilla Dash Subject\\\",\\n \\\"body\\\": \\\"Gorilla Dash Body\\\"\\n}\"", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```
```swift People_Send Email To Person_example
import Foundation
let headers = [
"GorillaDash-Api-Key": "{{API_KEY}}",
"GorillaDash-Api-Secret": "{{GD_RESTFUL_SECRET}}",
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json"
]
let parameters = "{
\"tribe_id\": 902, // optional - priority 1st
\"global_id\": \"99999\", // optional - priority 2nd
\"tribe_slug\": \"fl-demo\", // optional - priority 3rd
\"person_id\": 122177,
\"subject\": \"Gorilla Dash Subject\",
\"body\": \"Gorilla Dash Body\"
}" as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api.gorilladash.com/api/v1/people/send-email")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```