curl --location 'https://integrations.projectcor.com/v2/integrations/user-position' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"metadata": {
"source": "GLOBANT"
},
"id": "external-user-position-1",
"name": "Software Developer",
"category_id": "external-category-1",
"rate": 1,
"seniority": "Sr."
}'
import requests
url = "https://integrations.projectcor.com/v2/integrations/user-position"
payload = {
"metadata": {
"source": "GLOBANT"
},
"id": "external-user-position-1",
"name": "Software Developer",
"category_id": "external-category-1",
"rate": 1,
"seniority": "Sr."
}
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch(
'https://integrations.projectcor.com/v2/integrations/user-position',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
metadata: {
source: 'GLOBANT'
},
id: 'external-user-position-1',
name: 'Software Developer',
category_id: 'external-category-1',
rate: 1,
seniority: 'Sr.'
})
}
);
const data = await response.json();
console.log(data);
{
"statusCode": 200,
"status": "success",
"data": {
"name": "Software Developer",
"rate": 1,
"seniority": "Sr.",
"company_id": 2336,
"created_at": "2025-11-19 17:39:33",
"updated_at": "2025-11-19 17:39:33",
"id": "external-user-position-1",
"category_id": "external-category-1"
}
}
{
"error": "CategoryNotFoundError",
"message": "Category with external ID 'external-category-1' not found",
"code": "ZC004"
}
Positions
Create Position
Creates a new user position in your COR instance with external ID mapping
POST
/
v2
/
integrations
/
user-position
curl --location 'https://integrations.projectcor.com/v2/integrations/user-position' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"metadata": {
"source": "GLOBANT"
},
"id": "external-user-position-1",
"name": "Software Developer",
"category_id": "external-category-1",
"rate": 1,
"seniority": "Sr."
}'
import requests
url = "https://integrations.projectcor.com/v2/integrations/user-position"
payload = {
"metadata": {
"source": "GLOBANT"
},
"id": "external-user-position-1",
"name": "Software Developer",
"category_id": "external-category-1",
"rate": 1,
"seniority": "Sr."
}
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch(
'https://integrations.projectcor.com/v2/integrations/user-position',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
metadata: {
source: 'GLOBANT'
},
id: 'external-user-position-1',
name: 'Software Developer',
category_id: 'external-category-1',
rate: 1,
seniority: 'Sr.'
})
}
);
const data = await response.json();
console.log(data);
{
"statusCode": 200,
"status": "success",
"data": {
"name": "Software Developer",
"rate": 1,
"seniority": "Sr.",
"company_id": 2336,
"created_at": "2025-11-19 17:39:33",
"updated_at": "2025-11-19 17:39:33",
"id": "external-user-position-1",
"category_id": "external-category-1"
}
}
{
"error": "CategoryNotFoundError",
"message": "Category with external ID 'external-category-1' not found",
"code": "ZC004"
}
Creates a new user position in your COR instance through the integrations service. Positions can be associated with a category that was previously created through the integrations API.
Request Body Requirements
string
required
External position ID from your source system
string
required
Position name
string
External category ID. The category must have been previously created through the integrations API. Positions without a category_id will not be displayed in the frontend.
number
Hourly rate for the position
string
Seniority level (e.g., “Jr.”, “Sr.”, “Lead”)
Known Errors
ValidationError— Missing required fieldsCategoryNotFoundError— The specified category does not exist in the integration mappingsDuplicateExternalIdError— A position with this external ID already exists for this source
curl --location 'https://integrations.projectcor.com/v2/integrations/user-position' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"metadata": {
"source": "GLOBANT"
},
"id": "external-user-position-1",
"name": "Software Developer",
"category_id": "external-category-1",
"rate": 1,
"seniority": "Sr."
}'
import requests
url = "https://integrations.projectcor.com/v2/integrations/user-position"
payload = {
"metadata": {
"source": "GLOBANT"
},
"id": "external-user-position-1",
"name": "Software Developer",
"category_id": "external-category-1",
"rate": 1,
"seniority": "Sr."
}
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch(
'https://integrations.projectcor.com/v2/integrations/user-position',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
metadata: {
source: 'GLOBANT'
},
id: 'external-user-position-1',
name: 'Software Developer',
category_id: 'external-category-1',
rate: 1,
seniority: 'Sr.'
})
}
);
const data = await response.json();
console.log(data);
{
"statusCode": 200,
"status": "success",
"data": {
"name": "Software Developer",
"rate": 1,
"seniority": "Sr.",
"company_id": 2336,
"created_at": "2025-11-19 17:39:33",
"updated_at": "2025-11-19 17:39:33",
"id": "external-user-position-1",
"category_id": "external-category-1"
}
}
{
"error": "CategoryNotFoundError",
"message": "Category with external ID 'external-category-1' not found",
"code": "ZC004"
}
Was this page helpful?
⌘I

