curl --request POST \
--url https://external.pleo.io/v2/export-jobs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data '
{
"accountingEntryIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"employeeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isInteractive": true,
"options": {
"vendorBasedBookkeeping": false
}
}
'import requests
url = "https://external.pleo.io/v2/export-jobs"
payload = {
"accountingEntryIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"employeeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isInteractive": True,
"options": { "vendorBasedBookkeeping": False }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json;charset=UTF-8"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json;charset=UTF-8'
},
body: JSON.stringify({
accountingEntryIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
companyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
employeeId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
isInteractive: true,
options: {vendorBasedBookkeeping: false}
})
};
fetch('https://external.pleo.io/v2/export-jobs', 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://external.pleo.io/v2/export-jobs",
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([
'accountingEntryIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'companyId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'employeeId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'isInteractive' => true,
'options' => [
'vendorBasedBookkeeping' => false
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json;charset=UTF-8"
],
]);
$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://external.pleo.io/v2/export-jobs"
payload := strings.NewReader("{\n \"accountingEntryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"companyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"employeeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isInteractive\": true,\n \"options\": {\n \"vendorBasedBookkeeping\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json;charset=UTF-8")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://external.pleo.io/v2/export-jobs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json;charset=UTF-8")
.body("{\n \"accountingEntryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"companyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"employeeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isInteractive\": true,\n \"options\": {\n \"vendorBasedBookkeeping\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://external.pleo.io/v2/export-jobs")
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;charset=UTF-8'
request.body = "{\n \"accountingEntryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"companyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"employeeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isInteractive\": true,\n \"options\": {\n \"vendorBasedBookkeeping\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"expiresIn": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isInteractive": true,
"numberOfItems": 123,
"vendorBasedBookkeeping": true,
"completedAt": "2023-11-07T05:31:56Z",
"createdBy": null,
"expiredAt": "2023-11-07T05:31:56Z",
"failureReason": "<string>",
"lastUpdatedAt": "2023-11-07T05:31:56Z",
"startedAt": "2023-11-07T05:31:56Z"
}
}{
"type": "EXPORT_ALREADY_IN_PROGRESS",
"message": "Export Job already in progress for this company."
}Create a new export job
Use this endpoint to create a new export job that would transfer a list of specific accounting entries from Pleo to the target ERP/accounting system.
curl --request POST \
--url https://external.pleo.io/v2/export-jobs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data '
{
"accountingEntryIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"employeeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isInteractive": true,
"options": {
"vendorBasedBookkeeping": false
}
}
'import requests
url = "https://external.pleo.io/v2/export-jobs"
payload = {
"accountingEntryIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"employeeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isInteractive": True,
"options": { "vendorBasedBookkeeping": False }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json;charset=UTF-8"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json;charset=UTF-8'
},
body: JSON.stringify({
accountingEntryIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
companyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
employeeId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
isInteractive: true,
options: {vendorBasedBookkeeping: false}
})
};
fetch('https://external.pleo.io/v2/export-jobs', 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://external.pleo.io/v2/export-jobs",
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([
'accountingEntryIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'companyId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'employeeId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'isInteractive' => true,
'options' => [
'vendorBasedBookkeeping' => false
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json;charset=UTF-8"
],
]);
$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://external.pleo.io/v2/export-jobs"
payload := strings.NewReader("{\n \"accountingEntryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"companyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"employeeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isInteractive\": true,\n \"options\": {\n \"vendorBasedBookkeeping\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json;charset=UTF-8")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://external.pleo.io/v2/export-jobs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json;charset=UTF-8")
.body("{\n \"accountingEntryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"companyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"employeeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isInteractive\": true,\n \"options\": {\n \"vendorBasedBookkeeping\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://external.pleo.io/v2/export-jobs")
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;charset=UTF-8'
request.body = "{\n \"accountingEntryIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"companyId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"employeeId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"isInteractive\": true,\n \"options\": {\n \"vendorBasedBookkeeping\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"expiresIn": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isInteractive": true,
"numberOfItems": 123,
"vendorBasedBookkeeping": true,
"completedAt": "2023-11-07T05:31:56Z",
"createdBy": null,
"expiredAt": "2023-11-07T05:31:56Z",
"failureReason": "<string>",
"lastUpdatedAt": "2023-11-07T05:31:56Z",
"startedAt": "2023-11-07T05:31:56Z"
}
}{
"type": "EXPORT_ALREADY_IN_PROGRESS",
"message": "Export Job already in progress for this company."
}Authorizations
JWT Bearer token authentication. Include the token in the Authorization header as: Bearer <token>
Body
The IDs of accounting entries that you want to include in the export job for transmission.
The IDs of accounting entries that you want to include in the export job for transmission.
The unique company ID for which you want to create the export job.
This is the Pleo unique identifier of the user that initiated the export job.
Non-interactive jobs are jobs that are not initiated by a user. These jobs are usually triggered in the background and require no user interaction. Interactive jobs are the opposite. Set this flag to true if the export job is to be initiated by a user. By default, this is set to true.
Provides additional configurations for the export job.
Show child attributes
Show child attributes
Response
Export job created successfully.
Show child attributes
Show child attributes
Was this page helpful?