> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.sigmacomputing.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.sigmacomputing.com/_mcp/server.

# Export a report

POST https://api.sigmacomputing.com/v2/reports/{reportId}/send
Content-Type: application/json

Export a report to one or more specified destinations or recipients. Supported destinations include Slack channels, Google Drive, cloud storage, and webhooks. Supported recipients include an organization member, team, or email address.

If you want to download a report PDF instead, see the [/v2/reports/\{reportId}/export](https://help.sigmacomputing.com/reference/export-report) endpoint.

### Usage notes

* Retrieve the **reportId** by calling the [/v2/reports](https://help.sigmacomputing.com/reference/list-reports) endpoint.
* Only PDF exports are supported for reports.
* This endpoint is rate limited to 100 requests per minute.

Reference: https://help.sigmacomputing.com/reference/send-report

## Authentication

- OAuth2 — send the obtained token as `Authorization: Bearer <token>`

## Servers

- `https://api.sigmacomputing.com` (Server for GCP (US) hosted organizations, default)
- `https://api.sa.gcp.sigmacomputing.com` (Server for GCP (KSA) hosted organizations)
- `https://aws-api.sigmacomputing.com` (Server for AWS US (West) hosted organizations)
- `https://api.us-a.aws.sigmacomputing.com` (Server for AWS US (East) hosted organizations)
- `https://api.ca.aws.sigmacomputing.com` (Server for AWS Canada hosted organizations)
- `https://api.eu.aws.sigmacomputing.com` (Server for AWS Europe hosted organizations)
- `https://api.au.aws.sigmacomputing.com` (Server for AWS Australia and APAC hosted organizations)
- `https://api.uk.aws.sigmacomputing.com` (Server for AWS UK hosted organizations)
- `https://api.us.azure.sigmacomputing.com` (Server for Azure US hosted organizations)
- `https://api.eu.azure.sigmacomputing.com` (Server for Azure Europe hosted organizations)
- `https://api.ca.azure.sigmacomputing.com` (Server for Azure Canada hosted organizations)
- `https://api.uk.azure.sigmacomputing.com` (Server for Azure United Kingdom hosted organizations)
- `https://api.au.azure.sigmacomputing.com` (Server for Azure Australia hosted organizations)

## Request

### Path parameters

- `reportId` (string, required)

### Body (application/json)

- `targets` (list of object or object or object or object or object or object or object, required)
  - User
    - `type` (enum, required)
      - Allowed values: `member`
    - `userId` (string, required)
  - Team
    - `type` (enum, required)
      - Allowed values: `team`
    - `teamId` (string, required)
  - Email
    - `type` (enum, required)
      - Allowed values: `email`
    - `email` (string, required)
  - Slack channel
    - `type` (enum, required)
      - Allowed values: `slackChannel`
    - `slackConversationId` (string, required)
  - Google Drive
    - `type` (enum, required)
      - Allowed values: `gdrive`
    - `googleDriveFolderUrl` (string, required)
  - Cloud Storage
    - `type` (enum, required)
      - Allowed values: `cloud-export`
    - `cloudExport` (object or object or object, required)
      - object
        - `bq` (object, required)
          - `bqDestination` (string, required)
      - object
        - `sf` (object, required)
          - `sfDestination` (string, required)
          - `authorization` (string, required)
      - object
        - `rs` (object, required)
          - `rsDestination` (string, required)
          - `authorization` (string, required)
  - Webhook
    - `type` (enum, required)
      - Allowed values: `webhook`
    - `webhookUrl` (string, required)
- `config` (object, required)
  - `title` (string, required)
  - `messageBody` (string, required)
  - `includeLink` (boolean, optional)
  - `runAsRecipient` (boolean, optional)
- `attachments` (list of object, required)
  - `formatOptions` (object, required)
    - `type` (enum, required)
      - Allowed values: `PDF`
    - `layout` (enum, optional)
      - Allowed values: `portrait`, `landscape`
    - `scaleFactor` (double, optional)
- `parameters` (map from string to string, optional)
- `timeout` (double, optional)

## Response

### 200

The response body.

## Examples

**Request**

```json
{
  "targets": [
    {
      "email": "test@example.com",
      "type": "email"
    }
  ],
  "config": {
    "title": "My report",
    "messageBody": "Please find the report attached.",
    "includeLink": true
  },
  "attachments": [
    {
      "formatOptions": {
        "type": "PDF"
      }
    }
  ]
}
```

**Response**

```json
{}
```

**SDK Code**

```python Export a report as PDF via email
import requests

url = "https://api.sigmacomputing.com/v2/reports/reportId/send"

payload = {
    "targets": [
        {
            "email": "test@example.com",
            "type": "email"
        }
    ],
    "config": {
        "title": "My report",
        "messageBody": "Please find the report attached.",
        "includeLink": True
    },
    "attachments": [{ "formatOptions": { "type": "PDF" } }]
}
headers = {
    "Authorization": "<token>.",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript Export a report as PDF via email
const url = 'https://api.sigmacomputing.com/v2/reports/reportId/send';
const options = {
  method: 'POST',
  headers: {Authorization: '<token>.', 'Content-Type': 'application/json'},
  body: '{"targets":[{"email":"test@example.com","type":"email"}],"config":{"title":"My report","messageBody":"Please find the report attached.","includeLink":true},"attachments":[{"formatOptions":{"type":"PDF"}}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Export a report as PDF via email
package main

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

func main() {

	url := "https://api.sigmacomputing.com/v2/reports/reportId/send"

	payload := strings.NewReader("{\n  \"targets\": [\n    {\n      \"email\": \"test@example.com\",\n      \"type\": \"email\"\n    }\n  ],\n  \"config\": {\n    \"title\": \"My report\",\n    \"messageBody\": \"Please find the report attached.\",\n    \"includeLink\": true\n  },\n  \"attachments\": [\n    {\n      \"formatOptions\": {\n        \"type\": \"PDF\"\n      }\n    }\n  ]\n}")

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

	req.Header.Add("Authorization", "<token>.")
	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 Export a report as PDF via email
require 'uri'
require 'net/http'

url = URI("https://api.sigmacomputing.com/v2/reports/reportId/send")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<token>.'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"targets\": [\n    {\n      \"email\": \"test@example.com\",\n      \"type\": \"email\"\n    }\n  ],\n  \"config\": {\n    \"title\": \"My report\",\n    \"messageBody\": \"Please find the report attached.\",\n    \"includeLink\": true\n  },\n  \"attachments\": [\n    {\n      \"formatOptions\": {\n        \"type\": \"PDF\"\n      }\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
```

```java Export a report as PDF via email
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.sigmacomputing.com/v2/reports/reportId/send")
  .header("Authorization", "<token>.")
  .header("Content-Type", "application/json")
  .body("{\n  \"targets\": [\n    {\n      \"email\": \"test@example.com\",\n      \"type\": \"email\"\n    }\n  ],\n  \"config\": {\n    \"title\": \"My report\",\n    \"messageBody\": \"Please find the report attached.\",\n    \"includeLink\": true\n  },\n  \"attachments\": [\n    {\n      \"formatOptions\": {\n        \"type\": \"PDF\"\n      }\n    }\n  ]\n}")
  .asString();
```

```php Export a report as PDF via email
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.sigmacomputing.com/v2/reports/reportId/send', [
  'body' => '{
  "targets": [
    {
      "email": "test@example.com",
      "type": "email"
    }
  ],
  "config": {
    "title": "My report",
    "messageBody": "Please find the report attached.",
    "includeLink": true
  },
  "attachments": [
    {
      "formatOptions": {
        "type": "PDF"
      }
    }
  ]
}',
  'headers' => [
    'Authorization' => '<token>.',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Export a report as PDF via email
using RestSharp;

var client = new RestClient("https://api.sigmacomputing.com/v2/reports/reportId/send");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<token>.");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"targets\": [\n    {\n      \"email\": \"test@example.com\",\n      \"type\": \"email\"\n    }\n  ],\n  \"config\": {\n    \"title\": \"My report\",\n    \"messageBody\": \"Please find the report attached.\",\n    \"includeLink\": true\n  },\n  \"attachments\": [\n    {\n      \"formatOptions\": {\n        \"type\": \"PDF\"\n      }\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Export a report as PDF via email
import Foundation

let headers = [
  "Authorization": "<token>.",
  "Content-Type": "application/json"
]
let parameters = [
  "targets": [
    [
      "email": "test@example.com",
      "type": "email"
    ]
  ],
  "config": [
    "title": "My report",
    "messageBody": "Please find the report attached.",
    "includeLink": true
  ],
  "attachments": [["formatOptions": ["type": "PDF"]]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.sigmacomputing.com/v2/reports/reportId/send")! 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()
```