curl --request POST \
--url https://api.finsync.ar/api/mesas/{id}/periods \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"opening_local": 1000000,
"opening_fx": 1200,
"opened_at": "2026-03-01T08:00:00.000Z"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
opening_local: 1000000,
opening_fx: 1200,
opened_at: '2026-03-01T08:00:00.000Z'
})
};
fetch('https://api.finsync.ar/api/mesas/{id}/periods', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
opening_local: 1000000,
opening_fx: 1200,
opened_at: '2026-03-01T08:00:00.000Z'
})
};
fetch('https://api.finsync.ar/api/mesas/{id}/periods', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.finsync.ar/api/mesas/{id}/periods"
payload = {
"opening_local": 1000000,
"opening_fx": 1200,
"opened_at": "2026-03-01T08:00:00.000Z"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": 5,
"mesa_id": 1,
"status": "open",
"opened_at": "2026-03-01T00:00:00.000Z",
"closed_at": null,
"opening_local": 1000000,
"opening_fx": 1200,
"closing_local": null,
"closing_avg_fx": null,
"pnl_local": null,
"pnl_quote": null,
"closing_report": null,
"opened_by": null,
"closed_by": null,
"created_at": "2026-03-01T00:00:00.000Z",
"updated_at": "2026-03-01T00:00:00.000Z"
}{
"error": "Mesas module not enabled for this company",
"code": "MESAS_DISABLED"
}Open a mesa period
Opens a period. At most one open period per mesa. opening_quote / opening_local are signed blotter inventory (negative = carried long/short, not physical cash). opening_fx is required when opening stock is not zero. opened_by is null for API-key opens. opened_at defaults to 05:00 ART (America/Argentina/Buenos_Aires) of today, not now and not midnight.
curl --request POST \
--url https://api.finsync.ar/api/mesas/{id}/periods \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"opening_local": 1000000,
"opening_fx": 1200,
"opened_at": "2026-03-01T08:00:00.000Z"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
opening_local: 1000000,
opening_fx: 1200,
opened_at: '2026-03-01T08:00:00.000Z'
})
};
fetch('https://api.finsync.ar/api/mesas/{id}/periods', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
opening_local: 1000000,
opening_fx: 1200,
opened_at: '2026-03-01T08:00:00.000Z'
})
};
fetch('https://api.finsync.ar/api/mesas/{id}/periods', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.finsync.ar/api/mesas/{id}/periods"
payload = {
"opening_local": 1000000,
"opening_fx": 1200,
"opened_at": "2026-03-01T08:00:00.000Z"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": 5,
"mesa_id": 1,
"status": "open",
"opened_at": "2026-03-01T00:00:00.000Z",
"closed_at": null,
"opening_local": 1000000,
"opening_fx": 1200,
"closing_local": null,
"closing_avg_fx": null,
"pnl_local": null,
"pnl_quote": null,
"closing_report": null,
"opened_by": null,
"closed_by": null,
"created_at": "2026-03-01T00:00:00.000Z",
"updated_at": "2026-03-01T00:00:00.000Z"
}{
"error": "Mesas module not enabled for this company",
"code": "MESAS_DISABLED"
}Authorizations
API Key for authentication
Path Parameters
Mesa ID
Body
Signed quote inventory carry. Negative = net long quote leftover.
-7016
1000000
Required when opening stock is not zero (local per 1 quote)
1200
ISO instant. Defaults to 05:00 ART of today (08:00Z). Avoid 00:00 UTC/ART — those midnights cross the Argentine day boundary.
"2026-03-01T08:00:00.000Z"
Response
Period opened
Trading session. opened_by / closed_by are null for x-api-key callers.
5
1
open, closed 1000000
1200
null
null