curl \
-X POST 'MEILISEARCH_URL/export' \
-H 'Content-Type: application/json' \
--data-binary '{
"url": "TARGET_INSTANCE_URL",
"indexes": {
"*": {
"overrideSettings": true
}
}
}'import requests
url = "http://localhost:7700/export"
payload = {
"url": "https://ms-1234.heaven.meilisearch.com",
"apiKey": "1234abcd",
"payloadSize": "24MiB",
"indexes": { "*": { "filter": None } }
}
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({
url: 'https://ms-1234.heaven.meilisearch.com',
apiKey: '1234abcd',
payloadSize: '24MiB',
indexes: {'*': {filter: null}}
})
};
fetch('http://localhost:7700/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "7700",
CURLOPT_URL => "http://localhost:7700/export",
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([
'url' => 'https://ms-1234.heaven.meilisearch.com',
'apiKey' => '1234abcd',
'payloadSize' => '24MiB',
'indexes' => [
'*' => [
'filter' => null
]
]
]),
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 := "http://localhost:7700/export"
payload := strings.NewReader("{\n \"url\": \"https://ms-1234.heaven.meilisearch.com\",\n \"apiKey\": \"1234abcd\",\n \"payloadSize\": \"24MiB\",\n \"indexes\": {\n \"*\": {\n \"filter\": null\n }\n }\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("http://localhost:7700/export")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://ms-1234.heaven.meilisearch.com\",\n \"apiKey\": \"1234abcd\",\n \"payloadSize\": \"24MiB\",\n \"indexes\": {\n \"*\": {\n \"filter\": null\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:7700/export")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://ms-1234.heaven.meilisearch.com\",\n \"apiKey\": \"1234abcd\",\n \"payloadSize\": \"24MiB\",\n \"indexes\": {\n \"*\": {\n \"filter\": null\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"taskUid": 1,
"status": "enqueued",
"type": "export",
"enqueuedAt": "2021-08-11T09:25:53.000000Z"
}{
"message": "The Authorization header is missing. It must use the bearer authorization method.",
"code": "missing_authorization_header",
"type": "auth",
"link": "https://docs.meilisearch.com/errors#missing_authorization_header"
}Export to a remote Meilisearch
Trigger an export that sends documents and settings from this instance to a remote Meilisearch server. Configure the remote URL and optional API key in the request body.
curl \
-X POST 'MEILISEARCH_URL/export' \
-H 'Content-Type: application/json' \
--data-binary '{
"url": "TARGET_INSTANCE_URL",
"indexes": {
"*": {
"overrideSettings": true
}
}
}'import requests
url = "http://localhost:7700/export"
payload = {
"url": "https://ms-1234.heaven.meilisearch.com",
"apiKey": "1234abcd",
"payloadSize": "24MiB",
"indexes": { "*": { "filter": None } }
}
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({
url: 'https://ms-1234.heaven.meilisearch.com',
apiKey: '1234abcd',
payloadSize: '24MiB',
indexes: {'*': {filter: null}}
})
};
fetch('http://localhost:7700/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "7700",
CURLOPT_URL => "http://localhost:7700/export",
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([
'url' => 'https://ms-1234.heaven.meilisearch.com',
'apiKey' => '1234abcd',
'payloadSize' => '24MiB',
'indexes' => [
'*' => [
'filter' => null
]
]
]),
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 := "http://localhost:7700/export"
payload := strings.NewReader("{\n \"url\": \"https://ms-1234.heaven.meilisearch.com\",\n \"apiKey\": \"1234abcd\",\n \"payloadSize\": \"24MiB\",\n \"indexes\": {\n \"*\": {\n \"filter\": null\n }\n }\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("http://localhost:7700/export")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://ms-1234.heaven.meilisearch.com\",\n \"apiKey\": \"1234abcd\",\n \"payloadSize\": \"24MiB\",\n \"indexes\": {\n \"*\": {\n \"filter\": null\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:7700/export")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://ms-1234.heaven.meilisearch.com\",\n \"apiKey\": \"1234abcd\",\n \"payloadSize\": \"24MiB\",\n \"indexes\": {\n \"*\": {\n \"filter\": null\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"taskUid": 1,
"status": "enqueued",
"type": "export",
"enqueuedAt": "2021-08-11T09:25:53.000000Z"
}{
"message": "The Authorization header is missing. It must use the bearer authorization method.",
"code": "missing_authorization_header",
"type": "auth",
"link": "https://docs.meilisearch.com/errors#missing_authorization_header"
}Authorizations
An API key is a token that you provide when making API calls. Read more about how to secure your project.
Include the API key to the Authorization header, for instance:
-H 'Authorization: Bearer 6436fc5237b0d6e0d64253fbaac21d135012ecf1'
If you use a SDK, ensure you instantiate the client with the API key, for instance with JS SDK:
const client = new MeiliSearch({ host: 'MEILISEARCH_URL', apiKey: '6436fc5237b0d6e0d64253fbaac21d135012ecf1' });
Body
Request body for exporting data to a remote Meilisearch instance
URL of the destination Meilisearch instance
"https://ms-1234.heaven.meilisearch.com"
API key for authenticating with the destination instance
"1234abcd"
Maximum payload size per request
"24MiB"
Index patterns to export with their settings
Show child attributes
Show child attributes
{ "*": { "filter": null } }
Response
Export successfully enqueued.
A summarized view of a task, returned when a task is enqueued
Unique sequential identifier of the task.
x >= 0Status of the task. Possible values are enqueued, processing,
succeeded, failed, and canceled.
enqueued, processing, succeeded, failed, canceled "processing"
Type of operation performed by the task.
documentAdditionOrUpdate, documentEdition, documentDeletion, settingsUpdate, indexCreation, indexDeletion, indexUpdate, indexSwap, taskCancelation, taskDeletion, dumpCreation, snapshotCreation, export, upgradeDatabase, indexCompaction, networkTopologyChange, dsrUpdate, dsrClear "documentAdditionOrUpdate"
Date and time when the task was enqueued.
Unique identifier of the targeted index. Null for global tasks.
Custom metadata attached to this task at creation. Use it to associate tasks with external systems or add application-specific information.
Was this page helpful?