Create a new ExpenseClaim
curl --request POST \
--url https://{host}/api/v3/expenseClaims/creation \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
[
{
"title": "<string>",
"expenseTempItems": [
{
"id": 123
}
]
}
]
'import requests
url = "https://{host}/api/v3/expenseClaims/creation"
payload = [
{
"title": "<string>",
"expenseTempItems": [{ "id": 123 }]
}
]
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify([{title: '<string>', expenseTempItems: [{id: 123}]}])
};
fetch('https://{host}/api/v3/expenseClaims/creation', 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://{host}/api/v3/expenseClaims/creation",
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([
[
'title' => '<string>',
'expenseTempItems' => [
[
'id' => 123
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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://{host}/api/v3/expenseClaims/creation"
payload := strings.NewReader("[\n {\n \"title\": \"<string>\",\n \"expenseTempItems\": [\n {\n \"id\": 123\n }\n ]\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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://{host}/api/v3/expenseClaims/creation")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("[\n {\n \"title\": \"<string>\",\n \"expenseTempItems\": [\n {\n \"id\": 123\n }\n ]\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/v3/expenseClaims/creation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"title\": \"<string>\",\n \"expenseTempItems\": [\n {\n \"id\": 123\n }\n ]\n }\n]"
response = http.request(request)
puts response.read_body{
"data": [
{
"createdExpenseClaim": {
"id": 123,
"nextApprover": {
"firstName": "<string>",
"lastName": "<string>"
}
}
}
]
}{
"Status": 401,
"Message": "Unauthorized"
}{
"Status": 401,
"Message": "Unauthorized"
}{
"Status": 401,
"Message": "Unauthorized"
}{
"Status": 401,
"Message": "Unauthorized"
}Expense-claims
Create a new ExpenseClaim
When a user wants to declare his expenses, he creates an ExpenseClaim.
An ExpenseClaim is created by regrouping one or more ExpenseTempItems and converting them into ExpenseClaimItems.
Once created, an ExpenseClaim has to be approved by his manager.
Multiple ExpenseClaims can be created through a single request.
POST
/
api
/
v3
/
expenseClaims
/
creation
Create a new ExpenseClaim
curl --request POST \
--url https://{host}/api/v3/expenseClaims/creation \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
[
{
"title": "<string>",
"expenseTempItems": [
{
"id": 123
}
]
}
]
'import requests
url = "https://{host}/api/v3/expenseClaims/creation"
payload = [
{
"title": "<string>",
"expenseTempItems": [{ "id": 123 }]
}
]
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify([{title: '<string>', expenseTempItems: [{id: 123}]}])
};
fetch('https://{host}/api/v3/expenseClaims/creation', 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://{host}/api/v3/expenseClaims/creation",
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([
[
'title' => '<string>',
'expenseTempItems' => [
[
'id' => 123
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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://{host}/api/v3/expenseClaims/creation"
payload := strings.NewReader("[\n {\n \"title\": \"<string>\",\n \"expenseTempItems\": [\n {\n \"id\": 123\n }\n ]\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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://{host}/api/v3/expenseClaims/creation")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("[\n {\n \"title\": \"<string>\",\n \"expenseTempItems\": [\n {\n \"id\": 123\n }\n ]\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/v3/expenseClaims/creation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"title\": \"<string>\",\n \"expenseTempItems\": [\n {\n \"id\": 123\n }\n ]\n }\n]"
response = http.request(request)
puts response.read_body{
"data": [
{
"createdExpenseClaim": {
"id": 123,
"nextApprover": {
"firstName": "<string>",
"lastName": "<string>"
}
}
}
]
}{
"Status": 401,
"Message": "Unauthorized"
}{
"Status": 401,
"Message": "Unauthorized"
}{
"Status": 401,
"Message": "Unauthorized"
}{
"Status": 401,
"Message": "Unauthorized"
}Headers
API key. Value must be formatted like so: lucca application={api_key}.
Body
application/json
Response
OK
Show child attributes
Show child attributes
Was this page helpful?
⌘I