curl --request POST \
--url https://service.incaseof.law/openapi/customers/{id}/provider-confirmation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirmed_at": "2023-12-25",
"confirmed_by": "<string>",
"clause_version": "<string>"
}
'import requests
url = "https://service.incaseof.law/openapi/customers/{id}/provider-confirmation"
payload = {
"confirmed_at": "2023-12-25",
"confirmed_by": "<string>",
"clause_version": "<string>"
}
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({
confirmed_at: '2023-12-25',
confirmed_by: '<string>',
clause_version: '<string>'
})
};
fetch('https://service.incaseof.law/openapi/customers/{id}/provider-confirmation', 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://service.incaseof.law/openapi/customers/{id}/provider-confirmation",
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([
'confirmed_at' => '2023-12-25',
'confirmed_by' => '<string>',
'clause_version' => '<string>'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://service.incaseof.law/openapi/customers/{id}/provider-confirmation"
payload := strings.NewReader("{\n \"confirmed_at\": \"2023-12-25\",\n \"confirmed_by\": \"<string>\",\n \"clause_version\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://service.incaseof.law/openapi/customers/{id}/provider-confirmation")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirmed_at\": \"2023-12-25\",\n \"confirmed_by\": \"<string>\",\n \"clause_version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.incaseof.law/openapi/customers/{id}/provider-confirmation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirmed_at\": \"2023-12-25\",\n \"confirmed_by\": \"<string>\",\n \"clause_version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyForward a provider confirmation
Forward the provider’s one-time confirmation under § 1.5 lit. b of the cooperation agreement / GTC I.2c: the provider confirms that it hands over claims only where the patient’s consent under the Annex 2 clause exists. Send the day the provider gave it, the person who confirmed it and the version of the consent clause the provider uses. ICO stores only this confirmation, never the consent itself.
For a partner whose agreement requires it, nothing is sent to the debtors of this customer — no letter, SMS or e-mail, no court filing — until the confirmation is on file and the customer has accepted ICO’s GTC and DPA. Each call stores a new record (a renewed confirmation is a new record); one is enough.
Partner keys only (403 for an organisation key); your own customers only (404 otherwise).
confirmed_at may not lie in the future (400).
curl --request POST \
--url https://service.incaseof.law/openapi/customers/{id}/provider-confirmation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirmed_at": "2023-12-25",
"confirmed_by": "<string>",
"clause_version": "<string>"
}
'import requests
url = "https://service.incaseof.law/openapi/customers/{id}/provider-confirmation"
payload = {
"confirmed_at": "2023-12-25",
"confirmed_by": "<string>",
"clause_version": "<string>"
}
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({
confirmed_at: '2023-12-25',
confirmed_by: '<string>',
clause_version: '<string>'
})
};
fetch('https://service.incaseof.law/openapi/customers/{id}/provider-confirmation', 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://service.incaseof.law/openapi/customers/{id}/provider-confirmation",
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([
'confirmed_at' => '2023-12-25',
'confirmed_by' => '<string>',
'clause_version' => '<string>'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://service.incaseof.law/openapi/customers/{id}/provider-confirmation"
payload := strings.NewReader("{\n \"confirmed_at\": \"2023-12-25\",\n \"confirmed_by\": \"<string>\",\n \"clause_version\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://service.incaseof.law/openapi/customers/{id}/provider-confirmation")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirmed_at\": \"2023-12-25\",\n \"confirmed_by\": \"<string>\",\n \"clause_version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.incaseof.law/openapi/customers/{id}/provider-confirmation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirmed_at\": \"2023-12-25\",\n \"confirmed_by\": \"<string>\",\n \"clause_version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
An API key (ico_live_…), sent as Authorization: Bearer <key>. Not a JWT.
Path Parameters
Body
The day the provider gave the confirmation (YYYY-MM-DD), not in the future
Name of the person who confirmed it for the provider
1 - 200Version of the Annex 2 consent clause the provider uses, e.g. "Anlage 2, Stand 13.10.2026"
1 - 100