List e-reporting periods for a party
curl --request GET \
--url https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods', 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://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"periods": [
{
"id": "018f9e2a-7c31-7a10-9b44-2f9d1e6c8a01",
"siren": "123456789",
"flux_kind": "tx",
"role": "seller",
"period_start": "2026-06-11",
"period_end": "2026-06-20",
"sequence": 1,
"status": "filed",
"flux_code": "PPF206_1025_000123",
"ack_ref": "300",
"submitted_at": "2026-06-21T08:15:00Z",
"created_at": "2026-06-21T08:00:00Z",
"updated_at": "2026-06-21T08:20:00Z"
}
],
"next_offset": 50
}{
"error": "missing siren parameter"
}{
"error": "missing enrollment"
}{
"error": "silo entry not found"
}{
"error": "internal server error"
}France
List e-reporting periods
Returns the party’s Flux 10 report periods, most recent first
(created_at descending).
GET
/
apps
/
gov-fr
/
v1
/
reports
/
{silo_entry_id}
/
periods
List e-reporting periods for a party
curl --request GET \
--url https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods', 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://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.invopop.com/apps/gov-fr/v1/reports/{silo_entry_id}/periods")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"periods": [
{
"id": "018f9e2a-7c31-7a10-9b44-2f9d1e6c8a01",
"siren": "123456789",
"flux_kind": "tx",
"role": "seller",
"period_start": "2026-06-11",
"period_end": "2026-06-20",
"sequence": 1,
"status": "filed",
"flux_code": "PPF206_1025_000123",
"ack_ref": "300",
"submitted_at": "2026-06-21T08:15:00Z",
"created_at": "2026-06-21T08:00:00Z",
"updated_at": "2026-06-21T08:20:00Z"
}
],
"next_offset": 50
}{
"error": "missing siren parameter"
}{
"error": "missing enrollment"
}{
"error": "silo entry not found"
}{
"error": "internal server error"
}Each period is one submission window for a
(kind, role) tuple; corrective re-submissions of the same window appear as separate periods with an incrementing sequence.
Filter by report kind with kind. Paginate with offset and limit (default 50, maximum 200). When more results remain, the response carries a next_offset to pass on the next call; it is omitted on the last page.Authorizations
Authenticate using a valid Invopop enrollment token in the Bearer
scheme.
Example: Authorization: Bearer <token>
Path Parameters
ID of the org.Party silo entry being onboarded.
Example:
"5b45453c-cdd0-11ed-afa1-0242ac120002"
Query Parameters
Restrict the results to a single report kind:
tx- Transactions (invoice data).py- Payments.
Omit to return both kinds.
Available options:
tx, py Example:
"tx"
Number of results to skip, for pagination. Must be non-negative.
Required range:
x >= 0Example:
0
Maximum number of results to return. Values outside the 1–200
range fall back to the default of 50.
Required range:
1 <= x <= 200Example:
50
Was this page helpful?