curl --request PUT \
--url https://{host}/v1/process/nachversand/belege/{key} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"reason": "<string>",
"stream": "beide"
}
'import requests
url = "https://{host}/v1/process/nachversand/belege/{key}"
payload = {
"reason": "<string>",
"stream": "beide"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>', stream: 'beide'})
};
fetch('https://{host}/v1/process/nachversand/belege/{key}', 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://{host}/v1/process/nachversand/belege/{key}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'reason' => '<string>',
'stream' => 'beide'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://{host}/v1/process/nachversand/belege/{key}"
payload := strings.NewReader("{\n \"reason\": \"<string>\",\n \"stream\": \"beide\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.put("https://{host}/v1/process/nachversand/belege/{key}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\",\n \"stream\": \"beide\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/v1/process/nachversand/belege/{key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\",\n \"stream\": \"beide\"\n}"
response = http.request(request)
puts response.read_body{
"mp_id": "<string>",
"stream": "<string>",
"reason": "<string>",
"noted_at": "<string>",
"name": ""
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Record that a partner confirmed our registration in writing
The Nachversand waits for AS4 evidence that a partner accepts us before re-delivering a registration-class rejection. A partner who fixed their master data and says so by mail sends no such message - record their statement here and the sweep treats it as the evidence it stands in for. Idempotent: setting it again updates stream and reason.
curl --request PUT \
--url https://{host}/v1/process/nachversand/belege/{key} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"reason": "<string>",
"stream": "beide"
}
'import requests
url = "https://{host}/v1/process/nachversand/belege/{key}"
payload = {
"reason": "<string>",
"stream": "beide"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>', stream: 'beide'})
};
fetch('https://{host}/v1/process/nachversand/belege/{key}', 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://{host}/v1/process/nachversand/belege/{key}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'reason' => '<string>',
'stream' => 'beide'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://{host}/v1/process/nachversand/belege/{key}"
payload := strings.NewReader("{\n \"reason\": \"<string>\",\n \"stream\": \"beide\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.put("https://{host}/v1/process/nachversand/belege/{key}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\",\n \"stream\": \"beide\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/v1/process/nachversand/belege/{key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\",\n \"stream\": \"beide\"\n}"
response = http.request(request)
puts response.read_body{
"mp_id": "<string>",
"stream": "<string>",
"reason": "<string>",
"noted_at": "<string>",
"name": ""
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Path Parameters
The partner's MP-ID, or one of its MGA EICs
Body
Record in writing that a partner has registered our MP-ID.
The Nachversand re-delivers a registration-class rejection (CONTRL 23 / APERAK Z29) only once newer AS4 evidence shows the partner accepts us - their own PARTIN, or a positive acknowledgment. A partner who fixes their master data and says so by mail sends no such message, so the sweep would skip them forever. This records their statement as the evidence it stands in for, dated now.