List migrations
curl --request GET \
--url https://api.invopop.com/apps/gov-fr/v1/migrations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.invopop.com/apps/gov-fr/v1/migrations"
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/migrations', 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/migrations",
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/migrations"
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/migrations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.invopop.com/apps/gov-fr/v1/migrations")
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{
"migrations": [
{
"id": "019a2b3c-4d5e-7f60-9a1b-2c3d4e5f6a7b",
"role": "incoming",
"status": "accepted",
"siren": "552100554",
"name": "Exemple Services SAS",
"new_platform": {
"identifier": "0998",
"name": "Nouvelle Plateforme SAS"
},
"old_platform": {
"identifier": "0999",
"name": "Plateforme Actuelle SAS"
},
"effective_date": "2026-11-25",
"identifier": "552100554_ACHATS",
"silo_entry_id": "5b45453c-cdd0-11ed-afa1-0242ac120002",
"decisions": [
{
"status": "ACWC",
"effective_date": "2026-11-25",
"migration_code": "A8F5D2K9L7",
"at": "2026-11-02T09:00:00Z"
}
],
"created_at": "2026-10-28T10:15:00Z",
"updated_at": "2026-11-02T09:01:00Z"
},
{
"id": "019a0f3e-1b2c-7d40-9e5f-6a7b8c9d0e1f",
"role": "outgoing",
"status": "accepted",
"siren": "123456789",
"name": "Exemple Conseil SARL",
"new_platform": {
"identifier": "0999",
"name": "Plateforme Actuelle SAS"
},
"old_platform": {
"identifier": "0997",
"name": "Ancienne Plateforme SA"
},
"effective_date": "2026-11-03",
"identifier": "123456789",
"silo_entry_id": "7c1d2e3f-4a5b-11f0-8c6d-0242ac120003",
"decisions": [
{
"status": "ACCP",
"effective_date": "2026-11-03",
"migration_code": "none"
}
],
"created_at": "2026-10-20T14:02:00Z",
"updated_at": "2026-10-24T08:45:00Z"
}
],
"next_offset": 25
}France
List migrations
List the workspace’s takeover requests with other Plateformes Agréées, newest first.
GET
/
apps
/
gov-fr
/
v1
/
migrations
List migrations
curl --request GET \
--url https://api.invopop.com/apps/gov-fr/v1/migrations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.invopop.com/apps/gov-fr/v1/migrations"
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/migrations', 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/migrations",
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/migrations"
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/migrations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.invopop.com/apps/gov-fr/v1/migrations")
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{
"migrations": [
{
"id": "019a2b3c-4d5e-7f60-9a1b-2c3d4e5f6a7b",
"role": "incoming",
"status": "accepted",
"siren": "552100554",
"name": "Exemple Services SAS",
"new_platform": {
"identifier": "0998",
"name": "Nouvelle Plateforme SAS"
},
"old_platform": {
"identifier": "0999",
"name": "Plateforme Actuelle SAS"
},
"effective_date": "2026-11-25",
"identifier": "552100554_ACHATS",
"silo_entry_id": "5b45453c-cdd0-11ed-afa1-0242ac120002",
"decisions": [
{
"status": "ACWC",
"effective_date": "2026-11-25",
"migration_code": "A8F5D2K9L7",
"at": "2026-11-02T09:00:00Z"
}
],
"created_at": "2026-10-28T10:15:00Z",
"updated_at": "2026-11-02T09:01:00Z"
},
{
"id": "019a0f3e-1b2c-7d40-9e5f-6a7b8c9d0e1f",
"role": "outgoing",
"status": "accepted",
"siren": "123456789",
"name": "Exemple Conseil SARL",
"new_platform": {
"identifier": "0999",
"name": "Plateforme Actuelle SAS"
},
"old_platform": {
"identifier": "0997",
"name": "Ancienne Plateforme SA"
},
"effective_date": "2026-11-03",
"identifier": "123456789",
"silo_entry_id": "7c1d2e3f-4a5b-11f0-8c6d-0242ac120003",
"decisions": [
{
"status": "ACCP",
"effective_date": "2026-11-03",
"migration_code": "none"
}
],
"created_at": "2026-10-20T14:02:00Z",
"updated_at": "2026-10-24T08:45:00Z"
}
],
"next_offset": 25
}Returns one item per address in every migration involving the workspace, newest first, in both roles:
outgoing when Invopop takes over an address from another PA, and incoming when another PA asks to take over one registered through Invopop.
Each item’s status gives the outcome for that address: pending, accepted, rejected or failed. Its decisions list the answers given so far: yours on an incoming item, the old PA’s on an outgoing one.
Paginate with offset and limit, which count items rather than requests, (default 25, 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>
Query Parameters
Number of results to skip, for pagination. Must be non-negative.
Required range:
x >= 0Example:
0
Maximum number of migration items to return. Values outside the
1–200 range fall back to the default of 25.
Required range:
1 <= x <= 200Example:
25
Response
One page of migration items.
Was this page helpful?