curl --request POST \
--url https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"projectId": "713a8005-e54d-4ee3-b6a4-89b27167dde6",
"name": "Dev JAVA - IDF",
"externalId": "123456",
"isMadeForRecruitment": true,
"isMadeForSales": true,
"createdAt": "2024-01-01T00:00:00.000Z",
"assignees": "Sarah Le Roué, Johan Barri, Quentin DECRE",
"statusId": "dbab8773-8b59-4597-af75-b31333dd5409",
"companyId": "df587e25-03e6-4b9a-aaa4-c9c20a913f4d",
"colorId": "#d81b60",
"customFieldsValues": {
"00da911c-e3e1-46c1-86cc-0c1ec53e3213": "<p>Custom field content</p>",
"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1": "true",
"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4": "Angular, React, Vue"
}
}
'import requests
url = "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects"
payload = {
"projectId": "713a8005-e54d-4ee3-b6a4-89b27167dde6",
"name": "Dev JAVA - IDF",
"externalId": "123456",
"isMadeForRecruitment": True,
"isMadeForSales": True,
"createdAt": "2024-01-01T00:00:00.000Z",
"assignees": "Sarah Le Roué, Johan Barri, Quentin DECRE",
"statusId": "dbab8773-8b59-4597-af75-b31333dd5409",
"companyId": "df587e25-03e6-4b9a-aaa4-c9c20a913f4d",
"colorId": "#d81b60",
"customFieldsValues": {
"00da911c-e3e1-46c1-86cc-0c1ec53e3213": "<p>Custom field content</p>",
"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1": "true",
"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4": "Angular, React, Vue"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
projectId: '713a8005-e54d-4ee3-b6a4-89b27167dde6',
name: 'Dev JAVA - IDF',
externalId: '123456',
isMadeForRecruitment: true,
isMadeForSales: true,
createdAt: '2024-01-01T00:00:00.000Z',
assignees: 'Sarah Le Roué, Johan Barri, Quentin DECRE',
statusId: 'dbab8773-8b59-4597-af75-b31333dd5409',
companyId: 'df587e25-03e6-4b9a-aaa4-c9c20a913f4d',
colorId: '#d81b60',
customFieldsValues: {
'00da911c-e3e1-46c1-86cc-0c1ec53e3213': '<p>Custom field content</p>',
'de7fae4a-5f73-43a4-a92f-e19c4ecd81f1': 'true',
'8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4': 'Angular, React, Vue'
}
})
};
fetch('https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects', 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://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects",
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([
'projectId' => '713a8005-e54d-4ee3-b6a4-89b27167dde6',
'name' => 'Dev JAVA - IDF',
'externalId' => '123456',
'isMadeForRecruitment' => true,
'isMadeForSales' => true,
'createdAt' => '2024-01-01T00:00:00.000Z',
'assignees' => 'Sarah Le Roué, Johan Barri, Quentin DECRE',
'statusId' => 'dbab8773-8b59-4597-af75-b31333dd5409',
'companyId' => 'df587e25-03e6-4b9a-aaa4-c9c20a913f4d',
'colorId' => '#d81b60',
'customFieldsValues' => [
'00da911c-e3e1-46c1-86cc-0c1ec53e3213' => '<p>Custom field content</p>',
'de7fae4a-5f73-43a4-a92f-e19c4ecd81f1' => 'true',
'8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4' => 'Angular, React, Vue'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects"
payload := strings.NewReader("{\n \"projectId\": \"713a8005-e54d-4ee3-b6a4-89b27167dde6\",\n \"name\": \"Dev JAVA - IDF\",\n \"externalId\": \"123456\",\n \"isMadeForRecruitment\": true,\n \"isMadeForSales\": true,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"assignees\": \"Sarah Le Roué, Johan Barri, Quentin DECRE\",\n \"statusId\": \"dbab8773-8b59-4597-af75-b31333dd5409\",\n \"companyId\": \"df587e25-03e6-4b9a-aaa4-c9c20a913f4d\",\n \"colorId\": \"#d81b60\",\n \"customFieldsValues\": {\n \"00da911c-e3e1-46c1-86cc-0c1ec53e3213\": \"<p>Custom field content</p>\",\n \"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1\": \"true\",\n \"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4\": \"Angular, React, Vue\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"projectId\": \"713a8005-e54d-4ee3-b6a4-89b27167dde6\",\n \"name\": \"Dev JAVA - IDF\",\n \"externalId\": \"123456\",\n \"isMadeForRecruitment\": true,\n \"isMadeForSales\": true,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"assignees\": \"Sarah Le Roué, Johan Barri, Quentin DECRE\",\n \"statusId\": \"dbab8773-8b59-4597-af75-b31333dd5409\",\n \"companyId\": \"df587e25-03e6-4b9a-aaa4-c9c20a913f4d\",\n \"colorId\": \"#d81b60\",\n \"customFieldsValues\": {\n \"00da911c-e3e1-46c1-86cc-0c1ec53e3213\": \"<p>Custom field content</p>\",\n \"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1\": \"true\",\n \"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4\": \"Angular, React, Vue\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"projectId\": \"713a8005-e54d-4ee3-b6a4-89b27167dde6\",\n \"name\": \"Dev JAVA - IDF\",\n \"externalId\": \"123456\",\n \"isMadeForRecruitment\": true,\n \"isMadeForSales\": true,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"assignees\": \"Sarah Le Roué, Johan Barri, Quentin DECRE\",\n \"statusId\": \"dbab8773-8b59-4597-af75-b31333dd5409\",\n \"companyId\": \"df587e25-03e6-4b9a-aaa4-c9c20a913f4d\",\n \"colorId\": \"#d81b60\",\n \"customFieldsValues\": {\n \"00da911c-e3e1-46c1-86cc-0c1ec53e3213\": \"<p>Custom field content</p>\",\n \"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1\": \"true\",\n \"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4\": \"Angular, React, Vue\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Project saved successfully",
"taskId": "0b538428-7652-4243-baaf-3867803d7007",
"projectId": "d730cca9-d8b0-49e7-b2e0-c58c1bb7af9f"
}{
"message": "Error details",
"taskId": "0b538428-7652-4243-baaf-3867803d7007"
}{
"message": "An error occured",
"taskId": "0b538428-7652-4243-baaf-3867803d7007"
}[Projets] Créer ou mettre à jour
Save a project in Jarvi. It creates the project if it does not exist, updates it if it does.
curl --request POST \
--url https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"projectId": "713a8005-e54d-4ee3-b6a4-89b27167dde6",
"name": "Dev JAVA - IDF",
"externalId": "123456",
"isMadeForRecruitment": true,
"isMadeForSales": true,
"createdAt": "2024-01-01T00:00:00.000Z",
"assignees": "Sarah Le Roué, Johan Barri, Quentin DECRE",
"statusId": "dbab8773-8b59-4597-af75-b31333dd5409",
"companyId": "df587e25-03e6-4b9a-aaa4-c9c20a913f4d",
"colorId": "#d81b60",
"customFieldsValues": {
"00da911c-e3e1-46c1-86cc-0c1ec53e3213": "<p>Custom field content</p>",
"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1": "true",
"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4": "Angular, React, Vue"
}
}
'import requests
url = "https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects"
payload = {
"projectId": "713a8005-e54d-4ee3-b6a4-89b27167dde6",
"name": "Dev JAVA - IDF",
"externalId": "123456",
"isMadeForRecruitment": True,
"isMadeForSales": True,
"createdAt": "2024-01-01T00:00:00.000Z",
"assignees": "Sarah Le Roué, Johan Barri, Quentin DECRE",
"statusId": "dbab8773-8b59-4597-af75-b31333dd5409",
"companyId": "df587e25-03e6-4b9a-aaa4-c9c20a913f4d",
"colorId": "#d81b60",
"customFieldsValues": {
"00da911c-e3e1-46c1-86cc-0c1ec53e3213": "<p>Custom field content</p>",
"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1": "true",
"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4": "Angular, React, Vue"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
projectId: '713a8005-e54d-4ee3-b6a4-89b27167dde6',
name: 'Dev JAVA - IDF',
externalId: '123456',
isMadeForRecruitment: true,
isMadeForSales: true,
createdAt: '2024-01-01T00:00:00.000Z',
assignees: 'Sarah Le Roué, Johan Barri, Quentin DECRE',
statusId: 'dbab8773-8b59-4597-af75-b31333dd5409',
companyId: 'df587e25-03e6-4b9a-aaa4-c9c20a913f4d',
colorId: '#d81b60',
customFieldsValues: {
'00da911c-e3e1-46c1-86cc-0c1ec53e3213': '<p>Custom field content</p>',
'de7fae4a-5f73-43a4-a92f-e19c4ecd81f1': 'true',
'8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4': 'Angular, React, Vue'
}
})
};
fetch('https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects', 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://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects",
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([
'projectId' => '713a8005-e54d-4ee3-b6a4-89b27167dde6',
'name' => 'Dev JAVA - IDF',
'externalId' => '123456',
'isMadeForRecruitment' => true,
'isMadeForSales' => true,
'createdAt' => '2024-01-01T00:00:00.000Z',
'assignees' => 'Sarah Le Roué, Johan Barri, Quentin DECRE',
'statusId' => 'dbab8773-8b59-4597-af75-b31333dd5409',
'companyId' => 'df587e25-03e6-4b9a-aaa4-c9c20a913f4d',
'colorId' => '#d81b60',
'customFieldsValues' => [
'00da911c-e3e1-46c1-86cc-0c1ec53e3213' => '<p>Custom field content</p>',
'de7fae4a-5f73-43a4-a92f-e19c4ecd81f1' => 'true',
'8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4' => 'Angular, React, Vue'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects"
payload := strings.NewReader("{\n \"projectId\": \"713a8005-e54d-4ee3-b6a4-89b27167dde6\",\n \"name\": \"Dev JAVA - IDF\",\n \"externalId\": \"123456\",\n \"isMadeForRecruitment\": true,\n \"isMadeForSales\": true,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"assignees\": \"Sarah Le Roué, Johan Barri, Quentin DECRE\",\n \"statusId\": \"dbab8773-8b59-4597-af75-b31333dd5409\",\n \"companyId\": \"df587e25-03e6-4b9a-aaa4-c9c20a913f4d\",\n \"colorId\": \"#d81b60\",\n \"customFieldsValues\": {\n \"00da911c-e3e1-46c1-86cc-0c1ec53e3213\": \"<p>Custom field content</p>\",\n \"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1\": \"true\",\n \"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4\": \"Angular, React, Vue\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"projectId\": \"713a8005-e54d-4ee3-b6a4-89b27167dde6\",\n \"name\": \"Dev JAVA - IDF\",\n \"externalId\": \"123456\",\n \"isMadeForRecruitment\": true,\n \"isMadeForSales\": true,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"assignees\": \"Sarah Le Roué, Johan Barri, Quentin DECRE\",\n \"statusId\": \"dbab8773-8b59-4597-af75-b31333dd5409\",\n \"companyId\": \"df587e25-03e6-4b9a-aaa4-c9c20a913f4d\",\n \"colorId\": \"#d81b60\",\n \"customFieldsValues\": {\n \"00da911c-e3e1-46c1-86cc-0c1ec53e3213\": \"<p>Custom field content</p>\",\n \"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1\": \"true\",\n \"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4\": \"Angular, React, Vue\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://functions.prod.jarvi.tech/v1/public-api/rest/v2/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"projectId\": \"713a8005-e54d-4ee3-b6a4-89b27167dde6\",\n \"name\": \"Dev JAVA - IDF\",\n \"externalId\": \"123456\",\n \"isMadeForRecruitment\": true,\n \"isMadeForSales\": true,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"assignees\": \"Sarah Le Roué, Johan Barri, Quentin DECRE\",\n \"statusId\": \"dbab8773-8b59-4597-af75-b31333dd5409\",\n \"companyId\": \"df587e25-03e6-4b9a-aaa4-c9c20a913f4d\",\n \"colorId\": \"#d81b60\",\n \"customFieldsValues\": {\n \"00da911c-e3e1-46c1-86cc-0c1ec53e3213\": \"<p>Custom field content</p>\",\n \"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1\": \"true\",\n \"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4\": \"Angular, React, Vue\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Project saved successfully",
"taskId": "0b538428-7652-4243-baaf-3867803d7007",
"projectId": "d730cca9-d8b0-49e7-b2e0-c58c1bb7af9f"
}{
"message": "Error details",
"taskId": "0b538428-7652-4243-baaf-3867803d7007"
}{
"message": "An error occured",
"taskId": "0b538428-7652-4243-baaf-3867803d7007"
}Authorizations
Body
The id of the project you want to update.
"713a8005-e54d-4ee3-b6a4-89b27167dde6"
The name of the project you want to update/create.
"Dev JAVA - IDF"
The id of the project you want to update in your system.
"123456"
Whether the project is made for recruitment, and should be displayed in the ATS
true
Whether the project is made for sales, and should be displayed in the CRM
true
The date of creation of the project
"2024-01-01T00:00:00.000Z"
The assignees of the project
"Sarah Le Roué, Johan Barri, Quentin DECRE"
The status of the project
"dbab8773-8b59-4597-af75-b31333dd5409"
The company of the project
"df587e25-03e6-4b9a-aaa4-c9c20a913f4d"
The color of the project
"#d81b60"
Custom fields values for the project. The key should be the field ID and the value can be any text value.
{
"00da911c-e3e1-46c1-86cc-0c1ec53e3213": "<p>Custom field content</p>",
"de7fae4a-5f73-43a4-a92f-e19c4ecd81f1": "true",
"8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4": "Angular, React, Vue"
}