curl --request POST \
--url https://coreapi.io/api/analytics/finance/snapshots \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"month": "2026-08",
"reason": "Kündigung vom 30.08. nachgetragen"
}
'import requests
url = "https://coreapi.io/api/analytics/finance/snapshots"
payload = {
"month": "2026-08",
"reason": "Kündigung vom 30.08. nachgetragen"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({month: '2026-08', reason: 'Kündigung vom 30.08. nachgetragen'})
};
fetch('https://coreapi.io/api/analytics/finance/snapshots', 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://coreapi.io/api/analytics/finance/snapshots",
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([
'month' => '2026-08',
'reason' => 'Kündigung vom 30.08. nachgetragen'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"id": "<string>",
"month": "2026-08",
"version": 1,
"takenAt": "2023-11-07T05:31:56Z",
"takenBy": "<string>",
"reason": "<string>",
"checksum": "<string>",
"builtAt": "2023-11-07T05:31:56Z",
"alertedAt": "2023-11-07T05:31:56Z",
"latest": true,
"definitionsVersion": "v2"
}{
"status": 409,
"type": "ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED",
"title": "An error occurred",
"detail": "<string>"
}{
"status": 409,
"type": "ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED",
"title": "An error occurred",
"detail": "<string>"
}{
"status": 422,
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"violations": [
{
"propertyPath": "to",
"message": "Der Zeitraum darf höchstens 36 Monate umfassen.",
"code": "analytics.mrr_financials.range_too_long"
}
],
"title": "Validation Failed",
"detail": "<string>"
}Take a month-end MRR snapshot again
Copies the MRR figures of an ended month from the current calculation as a new version (1 more than the latest). Use it when figures of a month were corrected after its automatic snapshot and the snapshot shall follow.
Required permission: analytics:write.
curl --request POST \
--url https://coreapi.io/api/analytics/finance/snapshots \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"month": "2026-08",
"reason": "Kündigung vom 30.08. nachgetragen"
}
'import requests
url = "https://coreapi.io/api/analytics/finance/snapshots"
payload = {
"month": "2026-08",
"reason": "Kündigung vom 30.08. nachgetragen"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({month: '2026-08', reason: 'Kündigung vom 30.08. nachgetragen'})
};
fetch('https://coreapi.io/api/analytics/finance/snapshots', 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://coreapi.io/api/analytics/finance/snapshots",
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([
'month' => '2026-08',
'reason' => 'Kündigung vom 30.08. nachgetragen'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"id": "<string>",
"month": "2026-08",
"version": 1,
"takenAt": "2023-11-07T05:31:56Z",
"takenBy": "<string>",
"reason": "<string>",
"checksum": "<string>",
"builtAt": "2023-11-07T05:31:56Z",
"alertedAt": "2023-11-07T05:31:56Z",
"latest": true,
"definitionsVersion": "v2"
}{
"status": 409,
"type": "ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED",
"title": "An error occurred",
"detail": "<string>"
}{
"status": 409,
"type": "ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED",
"title": "An error occurred",
"detail": "<string>"
}{
"status": 422,
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"violations": [
{
"propertyPath": "to",
"message": "Der Zeitraum darf höchstens 36 Monate umfassen.",
"code": "analytics.mrr_financials.range_too_long"
}
],
"title": "Validation Failed",
"detail": "<string>"
}Autorisierungen
API token of the organisation. Send it as Authorization: Bearer api_... The token is bound to exactly one organisation.
Body
Takes a new version of the month-end MRR snapshot of an ended month.
Antwort
The new version.
One version of a month-end MRR snapshot.
Id.
Month (YYYY-MM).
"2026-08"
Version (1 = the automatic snapshot on the 1st of the following month).
1
When it was taken.
Name of the user who took it; null for the automatic snapshot.
Reason of an explicit re-snapshot.
SHA-256 over the copied rows.
Calculation the snapshot was copied from.
When its restatements first exceeded the alert share.
Whether this is the newest version of the month.
Version of the definitions catalogue the snapshot was taken under (v1 for snapshots taken before 28.09.2026).
"v2"
War diese Seite hilfreich?