API REFERENCE

MyParcel API

Allows MyParcel users to query delivery options, pickup & drop off locations with opening hours, register & trace shipments, print labels and more.

api.myparcel.nlv2026-04-1629 endpointsSynced from the live OpenAPI spec

Endpoints

Auto-generated from api.myparcel.nl/openapi.yaml. Click an endpoint to see its parameters and code samples.

GET/Status page

Reports the status of the API.

Responses
StatusDescription
200Status is OK
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /
curl -X GET 'https://api.myparcel.nl/' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.get("https://api.myparcel.nl/", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
Response200
{
  "status": "string"
}
GET/shipmentsGets a list of Shipments, optionally filtered using parameters.

This operation returns a list of Shipments available to this User.

Parameters
NameTypeDescription
barcode
carrier_id
createdstringWhen set, only resources created after this date will be returned. Inclusive.
delayedFilter on whether the current event code means the shipment has been delayed.
delivered
dropoff_todaybooleanUse this parameter to only show Shipments that need to be dropped off today.
filter_hidden_shopsboolean
hidden
link_consumer_portalboolean
orderSpecify whether the results should be sorted in ascending or descending order.
package_typeFilter by Package Type.
pageRequest a specific page of the results, used for paginated results.
qstringIf this parameter is provided results will be filtered by the provided query or keyword.
reference_identifierstringFilter by `reference_identifier`, an optional arbitrary identifier to identify the Shipment.
regionstringThe region, department, state or province of the address.
shipment_type
shop_id
sizeSpecify the number of resources returned per page, used for paginated results.
sortSort Shipment results by a particular resource field.
statusFilter by Shipment status. This filter will return only Shipments with the specified status.
transaction_status
Responses
StatusDescription
200A shipments response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /shipments
curl -X GET 'https://api.myparcel.nl/shipments?barcode=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments?barcode=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments?barcode=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "barcode": "string"
}

response = requests.get("https://api.myparcel.nl/shipments", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments?barcode=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/shipments?barcode=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments?barcode=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/shipments?barcode=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/shipmentsAdd Shipment

Add shipments allows you to create standard and related return shipments.

Parameters
NameTypeDescription
formatThe paper size of the PDF as specified in ISO216. Currently, A4 and A6 are supported. When A4 is chosen you can specify the label positions. When requesting the label for a shipment that contains a custom form, you can only request an A4 format.
positionsThe positions of the label on an A4 sheet. A position is identified by a digit from `1` to `4`. You can specify up to four positions separated by semicolons (`;`). __Note__: This parameter only works when you specify the `A4` __format__ and only applies to the first page when requesting multiple pages worth of labels. Subsequent pages use the default positioning `1;2;3;4`.
collect_date
delivery_options_identifier
Responses
StatusDescription
200Shipment creation was successful.
415This response is given when the request Content-Type is not supported.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /shipments
curl -X POST 'https://api.myparcel.nl/shipments' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/shipments", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/shipments", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/shipments");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
PUT/shipmentsUpdate Shipment

This operation can be used to update certain fields of a shipment. The fields that can be modified depend on the status of the shipment.

Responses
StatusDescription
200Shipment update was successful. Returns full shipments when Accept version 1.2 is used.
204Shipment update was successful.
415This response is given when the request Content-Type is not supported.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPUT /shipments
curl -X PUT 'https://api.myparcel.nl/shipments' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments", {
  method: 'PUT',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.put("https://api.myparcel.nl/shipments", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments')
req = Net::HTTP::Put.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://api.myparcel.nl/shipments", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .PUT(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Put, "https://api.myparcel.nl/shipments");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/shipments/{ids}Get shipments by id.

Get shipments by id.

Parameters
NameTypeDescription
ids (path)REQUIREDOne or more shipment IDs. Separate multiple shipment IDs using `;`.
link_consumer_portalboolean
Responses
StatusDescription
200A shipments response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /shipments/{ids}
curl -X GET 'https://api.myparcel.nl/shipments/123?link_consumer_portal=True' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments/123?link_consumer_portal=True");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments/123?link_consumer_portal=True", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "link_consumer_portal": true
}

response = requests.get("https://api.myparcel.nl/shipments/123", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments/123?link_consumer_portal=True')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/shipments/123?link_consumer_portal=True", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments/123?link_consumer_portal=True"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/shipments/123?link_consumer_portal=True");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
DELETE/shipments/{ids}Delete Shipment

This operation can be used to delete shipments for which a label has not yet been created. However, outside of housekeeping, this is not really necessary since Shipments not handed over to the distributor will not be billed by MyParcel; thus unused shipments which are not deleted have no financial consequences.

Parameters
NameTypeDescription
ids (path)REQUIREDOne or more shipment IDs. Separate multiple shipment IDs using `;`.
Responses
StatusDescription
204Shipment deletion was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestDELETE /shipments/{ids}
curl -X DELETE 'https://api.myparcel.nl/shipments/123' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments/123");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'DELETE',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments/123", {
  method: 'DELETE',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.delete("https://api.myparcel.nl/shipments/123", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments/123')
req = Net::HTTP::Delete.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("DELETE", "https://api.myparcel.nl/shipments/123", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments/123"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .DELETE()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Delete, "https://api.myparcel.nl/shipments/123");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/shipments/capabilitiesList shipment capabilities (Beta)

**This endpoint is currently in beta and the API contract may change.** List shipment capabilities of the carriers for the MyParcel platforms. This endpoint allows you to determine what delivery options, package types, and shipment options are available for specific carriers and destinations.

Responses
StatusDescription
200A capabilities response.
415This response is given when the request Content-Type is not supported.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /shipments/capabilities
curl -X POST 'https://api.myparcel.nl/shipments/capabilities' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments/capabilities");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments/capabilities", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/shipments/capabilities", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments/capabilities')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/shipments/capabilities", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments/capabilities"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/shipments/capabilities");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/shipments/capabilities/contract-definitionsList a superset of available capabilities for the carriers and contracts associated with the logged-in user. (Beta)

**This endpoint is currently in beta and the API contract may change.** List shipment capabilities of the carriers for the MyParcel platforms. This endpoint allows you to determine the complete set of delivery options, package types, and shipment options available to a specific account.

Responses
StatusDescription
200A capabilities contract definitions response.
415This response is given when the request Content-Type is not supported.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /shipments/capabilities/contract-definitions
curl -X POST 'https://api.myparcel.nl/shipments/capabilities/contract-definitions' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments/capabilities/contract-definitions");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments/capabilities/contract-definitions", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/shipments/capabilities/contract-definitions", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments/capabilities/contract-definitions')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/shipments/capabilities/contract-definitions", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments/capabilities/contract-definitions"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/shipments/capabilities/contract-definitions");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/shipments/ratesList shipment rates

This endpoint allows you to determine the rates for a shipment configuration.

Responses
StatusDescription
200A rates response.
204This response is given when the request is successful and the response is empty.
415This response is given when the request Content-Type is not supported.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /shipments/rates
curl -X POST 'https://api.myparcel.nl/shipments/rates' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipments/rates");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipments/rates", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/shipments/rates", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipments/rates')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/shipments/rates", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipments/rates"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/shipments/rates");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/shipment_labels/{ids}Get Shipment labels

#### Get Shipment labels You can specify label format and positions of labels on the first page with the __format__ and __positions__ query parameters. The __positions__ query only works when you specify the A4 format and is only applied on the first page with labels. Accounts with __Post-payment__ payment methods can fetch multiple labels in one call. For accounts with __Pre-payment__ payment method an HTTP 402 Payment Required with a PaymentInstructions object is returned if the label has not been paid for yet.

##### Multi-collo shipments When a label for a multi collo shipment is requested, labels for all shipments parts of the multi collo shipment will be generated. Each shipment within a multi collo shipment MUST be labeled with a specific label containing a unique barcode.

Parameters
NameTypeDescription
ids (path)REQUIREDOne or more shipment IDs. Separate multiple shipment IDs using `;`.
formatThe paper size of the PDF as specified in ISO216. Currently, A4 and A6 are supported. When A4 is chosen you can specify the label positions. When requesting the label for a shipment that contains a custom form, you can only request an A4 format.
positionsThe positions of the label on an A4 sheet. A position is identified by a digit from `1` to `4`. You can specify up to four positions separated by semicolons (`;`). __Note__: This parameter only works when you specify the `A4` __format__ and only applies to the first page when requesting multiple pages worth of labels. Subsequent pages use the default positioning `1;2;3;4`.
collect_date
delivery_options_identifier
Responses
StatusDescription
2XX##### Shipment Label Response Contains one or more shipment labels in the desired media format. ###### Asynchronous retrieval of labels When retrieving multiple pages worth of labels, it is recommended to perform an async request by defining the `Accept` header `application/vnd.shipment_label_link+json`. The response will then contain a promise URL to the desired label(s). These promise URLs will return `HTTP 404 Not Found` until they're ready. Depending on the number of labels, this process will take between 3 seconds and 3 minutes. You can regularly check whether the label is available or you can use the `label_created` webhooks. ##### ZPL labels Currently, our system supports only PostNL and Bpost labels in ZPL format for the following shipment types: - Domestic shipments for both normal packages and mailbox packages. - EU shipments If you request a rest of world label, the system will return a label in PDF format. Additionally, you can request just one label at a time. For Bpost shipments, you can request a label in ZPL format only if you have not requested a PDF label before. After you requested a ZPL label, you can also request a PDF label.
204Direct Printing Response
400The request could not be understood by the server due to malformed syntax. The client should not repeat the request without modifications.
401No credentials have been sent with the request, or the wrong credentials are sent. Tip: check if the API key is properly attached in the header: ```http Authorization: bearer BASE64_ENCODED_API_KEY ```
402Payment Required
406Direct printing requires an active subscription.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /shipment_labels/{ids}
curl -X GET 'https://api.myparcel.nl/shipment_labels/123?format=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/shipment_labels/123?format=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/shipment_labels/123?format=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "format": "string"
}

response = requests.get("https://api.myparcel.nl/shipment_labels/123", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/shipment_labels/123?format=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/shipment_labels/123?format=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/shipment_labels/123?format=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/shipment_labels/123?format=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/delivery_optionsGet Delivery Options

Get the delivery options for a given location and carrier.

If none of the optional parameters are specified then the following default will be used: If a request is made for the delivery options between Friday after the default cutoff_time (15:30) and Monday before the default cutoff_time (15:30) then Tuesday will be shown as the next possible delivery date.

Parameters
NameTypeDescription
ccstringThe country code for which to fetch the delivery options.
postal_codeThe postal code for which to fetch the resources.
numberstringThe street number for which to fetch the resources.
citystringOnly available for carriers Bpost and DPD. This can be used to narrow the search results for locations outside NL.
streetstringThis can be used to narrow the search results for locations outside NL.
platformThe platform where you want the data from.
shop_id
carrier
delivery_dateThe date on which the package has to be delivered.
delivery_timeThe time on which a package has to be delivered. > __Note__: This is only an indication of time the package will be > delivered on the selected date.
cutoff_timeThis option allows the **Merchant** to indicate the latest cutoff time before which a consumer order will still be picked, packed and dispatched on the same/first set drop-off day, taking into account the drop-off delay. Default time is 15:30. For example, if cutoff time is 15:30, Monday is a delivery day and there's no delivery delay; all orders placed Monday before 15:30 will be dropped of at PostNL on that same Monday in time for the Monday collection.
dropoff_daysThis options allows the **Merchant** to set the days she normally goes to PostNL to hand in her parcels. By default Saturday and Sunday are excluded.
monday_deliveryMonday delivery is only possible when the package is delivered before 15.00 on Saturday at the designated PostNL locations. > __Note__: To activate Monday delivery, value 6 must be given with > [dropoff_days], value 1 must be given by [monday_delivery]. And on > Saturday the [cutoff_time] must be before 15:00 (14:30 recommended) > so that Monday will be shown.
dropoff_delayintegerThis options allows the **Merchant** to set the number of days it takes them to pick, pack and hand in their parcels at the carrier when ordered before the cutoff time. The default value is 0.
deliverydays_windowintegerThis options allows the Merchant to set the number of days into the future for which they want to show their consumers delivery options. For example, if set to 3 in their check-out, a consumer ordering on Monday will see possible delivery options for Tuesday, Wednesday and Thursday (provided there is no drop-off delay, it's before the cutoff time, and they go to PostNL on Mondays).
exclude_delivery_typeExclude shipments with a specific delivery type. This parameter can be used multiple times to exclude multiple delivery types.
exclude_parcel_lockersThis option allows to filter out pickup locations that are parcel lockers.
latitudeThis provides the ability to search locations through the coordinates. If only latitude is provided without longitude, it will be ignored.
longitudeThis provides the ability to search locations through the coordinates. If only longitude is provided without latitude, it will be ignored.
Responses
StatusDescription
200A collection of Delivery Options.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /delivery_options
curl -X GET 'https://api.myparcel.nl/delivery_options?cc=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/delivery_options?cc=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/delivery_options?cc=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "cc": "string"
}

response = requests.get("https://api.myparcel.nl/delivery_options", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/delivery_options?cc=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/delivery_options?cc=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/delivery_options?cc=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/delivery_options?cc=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/drop_off_pointsGet drop off points

Use this endpoint to receive a list of nearby drop off points, where shipments can be dropped off upon shipping. Results are ordered by distance from the provided postal code or coordinates.

Parameters
NameTypeDescription
postal_codeThe postal code for which to fetch the resources.
numberstringThe street number for which to fetch the resources.
distanceintegerProvide the radius in kilometers for which you want to find drop off points. The default distance differs by carrier.
ccstringThe country code for which to fetch the delivery options.
limitintegerLimit the number of resources returned.
carrier_id
shop_id
referencestringFilter by `reference`.
location_namestringFilter by location name.
external_identifierstring
citystringOnly available for carriers Bpost and DPD. This can be used to narrow the search results for locations outside NL.
cut_off_time
min_cut_off_time
max_cut_off_time
latitudeThis provides the ability to search locations through the coordinates. If only latitude is provided without longitude, it will be ignored.
longitudeThis provides the ability to search locations through the coordinates. If only longitude is provided without latitude, it will be ignored.
exclude_parcel_lockersThis option allows to filter out pickup locations that are parcel lockers.
Responses
StatusDescription
200A collection of Drop Off Points.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /drop_off_points
curl -X GET 'https://api.myparcel.nl/drop_off_points?postal_code=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/drop_off_points?postal_code=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/drop_off_points?postal_code=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "postal_code": "string"
}

response = requests.get("https://api.myparcel.nl/drop_off_points", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/drop_off_points?postal_code=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/drop_off_points?postal_code=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/drop_off_points?postal_code=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/drop_off_points?postal_code=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/pickup_locationsGet Pickup Locations

Get Pickup Locations

Parameters
NameTypeDescription
ccstringThe country code for which to fetch the delivery options.
postal_codeThe postal code for which to fetch the resources.
numberstringThe street number for which to fetch the resources.
citystringOnly available for carriers Bpost and DPD. This can be used to narrow the search results for locations outside NL.
streetstringThis can be used to narrow the search results for locations outside NL.
platformThe platform where you want the data from.
shop_id
carrier
delivery_dateThe date on which the package has to be delivered.
delivery_timeThe time on which a package has to be delivered. > __Note__: This is only an indication of time the package will be > delivered on the selected date.
cutoff_timeThis option allows the **Merchant** to indicate the latest cutoff time before which a consumer order will still be picked, packed and dispatched on the same/first set drop-off day, taking into account the drop-off delay. Default time is 15:30. For example, if cutoff time is 15:30, Monday is a delivery day and there's no delivery delay; all orders placed Monday before 15:30 will be dropped of at PostNL on that same Monday in time for the Monday collection.
dropoff_daysThis options allows the **Merchant** to set the days she normally goes to PostNL to hand in her parcels. By default Saturday and Sunday are excluded.
monday_deliveryMonday delivery is only possible when the package is delivered before 15.00 on Saturday at the designated PostNL locations. > __Note__: To activate Monday delivery, value 6 must be given with > [dropoff_days], value 1 must be given by [monday_delivery]. And on > Saturday the [cutoff_time] must be before 15:00 (14:30 recommended) > so that Monday will be shown.
dropoff_delayintegerThis options allows the **Merchant** to set the number of days it takes them to pick, pack and hand in their parcels at the carrier when ordered before the cutoff time. The default value is 0.
deliverydays_windowintegerThis options allows the Merchant to set the number of days into the future for which they want to show their consumers delivery options. For example, if set to 3 in their check-out, a consumer ordering on Monday will see possible delivery options for Tuesday, Wednesday and Thursday (provided there is no drop-off delay, it's before the cutoff time, and they go to PostNL on Mondays).
exclude_delivery_typeExclude shipments with a specific delivery type. This parameter can be used multiple times to exclude multiple delivery types.
exclude_parcel_lockersThis option allows to filter out pickup locations that are parcel lockers.
latitudeThis provides the ability to search locations through the coordinates. If only latitude is provided without longitude, it will be ignored.
longitudeThis provides the ability to search locations through the coordinates. If only longitude is provided without latitude, it will be ignored.
Responses
StatusDescription
200A collection of Pickup Locations.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /pickup_locations
curl -X GET 'https://api.myparcel.nl/pickup_locations?cc=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/pickup_locations?cc=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/pickup_locations?cc=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "cc": "string"
}

response = requests.get("https://api.myparcel.nl/pickup_locations", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/pickup_locations?cc=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/pickup_locations?cc=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/pickup_locations?cc=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/pickup_locations?cc=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/tracktracesTrack Shipment

Get detailed Track & Trace information for one or more shipments.

Parameters
NameTypeDescription
barcode
country_code
external_identifier
extra_infoEnables extra info in the response that is not included by default for performance reasons.
postal_codeThe postal code for which to fetch the resources.
sortSort order. Defaults to `desc`.
Values: asc, desc
Responses
StatusDescription
200A Track & Traces response.
404The requested resource could not be found or its existence may not be disclosed. This may be temporary or permanent.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /tracktraces
curl -X GET 'https://api.myparcel.nl/tracktraces?barcode=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/tracktraces?barcode=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/tracktraces?barcode=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "barcode": "string"
}

response = requests.get("https://api.myparcel.nl/tracktraces", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/tracktraces?barcode=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/tracktraces?barcode=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/tracktraces?barcode=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/tracktraces?barcode=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/tracktraces/{ids}Track Shipment

Get detailed Track & Trace information for one or more shipments.

Parameters
NameTypeDescription
ids (path)REQUIREDOne or more shipment IDs. Separate multiple shipment IDs using `;`.
sortSort order. Defaults to `desc`.
Values: asc, desc
extra_infoEnables extra info in the response that is not included by default for performance reasons.
Responses
StatusDescription
200A Track & Traces response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /tracktraces/{ids}
curl -X GET 'https://api.myparcel.nl/tracktraces/123?sort=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/tracktraces/123?sort=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/tracktraces/123?sort=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "sort": "string"
}

response = requests.get("https://api.myparcel.nl/tracktraces/123", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/tracktraces/123?sort=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/tracktraces/123?sort=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/tracktraces/123?sort=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/tracktraces/123?sort=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/return_shipmentsGenerate unrelated return shipment URL

This endpoint is often used by external parties to facilitate return shipments on a dedicated part of their website, mainly when offering reverse logistics e.g. repair services. It will allow the consumer to send packages to the merchant directly from the merchant's website.

Responses
StatusDescription
200This is the download URL object.
404If this option is not enables then `HTTP 404 Not Found` is returned.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /return_shipments
curl -X POST 'https://api.myparcel.nl/return_shipments' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/return_shipments");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/return_shipments", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/return_shipments", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/return_shipments')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/return_shipments", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/return_shipments"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/return_shipments");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/notification_groupsGet notification groups

Retrieve notification groups to see which groups are set up to receive notifications about shipment events.

Parameters
NameTypeDescription
shopId
Responses
StatusDescription
200A notification groups response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /notification_groups
curl -X GET 'https://api.myparcel.nl/notification_groups?shopId=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups?shopId=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups?shopId=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "shopId": "string"
}

response = requests.get("https://api.myparcel.nl/notification_groups", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups?shopId=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/notification_groups?shopId=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups?shopId=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/notification_groups?shopId=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/notification_groupsCreate notification groups

Create notification groups to receive notifications about shipment events.

Responses
StatusDescription
201A notification groups response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /notification_groups
curl -X POST 'https://api.myparcel.nl/notification_groups' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/notification_groups", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/notification_groups", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/notification_groups");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
DELETE/notification_groups/{ids}Delete notification groups

Delete notification groups to stop receiving notifications about shipment events.

Parameters
NameTypeDescription
ids (path)REQUIREDstringOne or more notification group IDs. Separate multiple IDs using `;`.
Responses
StatusDescription
204Notification group deletion was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestDELETE /notification_groups/{ids}
curl -X DELETE 'https://api.myparcel.nl/notification_groups/string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'DELETE',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/string", {
  method: 'DELETE',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.delete("https://api.myparcel.nl/notification_groups/string", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/string')
req = Net::HTTP::Delete.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("DELETE", "https://api.myparcel.nl/notification_groups/string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .DELETE()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Delete, "https://api.myparcel.nl/notification_groups/string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/notification_groups/{notification_group_id}/notification_templatesGet notification templates

Retrieve notification templates associated with a specific notification group.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
Responses
StatusDescription
200A notification templates response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /notification_groups/{notification_group_id}/notification_templates
curl -X GET 'https://api.myparcel.nl/notification_groups/1/notification_templates' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.get("https://api.myparcel.nl/notification_groups/1/notification_templates", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/notification_groups/1/notification_templates", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/notification_groups/1/notification_templates");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
PUT/notification_groups/{notification_group_id}/notification_templates/{notification_template_id}Update notification template

Update a notification template associated with a specific notification group.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
notification_template_id (path)REQUIREDintegerThe ID of the notification template.
Responses
StatusDescription
204Notification template update was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPUT /notification_groups/{notification_group_id}/notification_templates/{notification_template_id}
curl -X PUT 'https://api.myparcel.nl/notification_groups/1/notification_templates/1' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates/1");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates/1", {
  method: 'PUT',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.put("https://api.myparcel.nl/notification_groups/1/notification_templates/1", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates/1')
req = Net::HTTP::Put.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://api.myparcel.nl/notification_groups/1/notification_templates/1", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates/1"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .PUT(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Put, "https://api.myparcel.nl/notification_groups/1/notification_templates/1");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
PUT/notification_groups/{notification_group_id}/notification_templates/disableDisable all notification templates in a notification group

Disable all notification templates associated with a specific notification group.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
Responses
StatusDescription
204Disabling notification templates was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPUT /notification_groups/{notification_group_id}/notification_templates/disable
curl -X PUT 'https://api.myparcel.nl/notification_groups/1/notification_templates/disable' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates/disable");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates/disable", {
  method: 'PUT',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.put("https://api.myparcel.nl/notification_groups/1/notification_templates/disable", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates/disable')
req = Net::HTTP::Put.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://api.myparcel.nl/notification_groups/1/notification_templates/disable", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates/disable"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .PUT(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Put, "https://api.myparcel.nl/notification_groups/1/notification_templates/disable");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
PUT/notification_groups/{notification_group_id}/notification_templates/enableEnable all notification templates in a notification group

Enable all notification templates associated with a specific notification group.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
Responses
StatusDescription
204Enabling notification templates was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPUT /notification_groups/{notification_group_id}/notification_templates/enable
curl -X PUT 'https://api.myparcel.nl/notification_groups/1/notification_templates/enable' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates/enable");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates/enable", {
  method: 'PUT',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.put("https://api.myparcel.nl/notification_groups/1/notification_templates/enable", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates/enable')
req = Net::HTTP::Put.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://api.myparcel.nl/notification_groups/1/notification_templates/enable", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates/enable"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .PUT(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Put, "https://api.myparcel.nl/notification_groups/1/notification_templates/enable");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
PUT/notification_groups/{notification_group_id}/notification_templates/{notification_template_id}/disableDisable notification template

Disable a specific notification template associated with a specific notification group.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
notification_template_id (path)REQUIREDintegerThe ID of the notification template.
Responses
StatusDescription
204Disabling notification template was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPUT /notification_groups/{notification_group_id}/notification_templates/{notification_template_id}/disable
curl -X PUT 'https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable", {
  method: 'PUT',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.put("https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable')
req = Net::HTTP::Put.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .PUT(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Put, "https://api.myparcel.nl/notification_groups/1/notification_templates/1/disable");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
PUT/notification_groups/{notification_group_id}/notification_templates/{notification_template_id}/enableEnable notification template

Enable a specific notification template associated with a specific notification group.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
notification_template_id (path)REQUIREDintegerThe ID of the notification template.
Responses
StatusDescription
204Enabling notification template was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPUT /notification_groups/{notification_group_id}/notification_templates/{notification_template_id}/enable
curl -X PUT 'https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable", {
  method: 'PUT',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.put("https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable')
req = Net::HTTP::Put.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("PUT", "https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .PUT(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Put, "https://api.myparcel.nl/notification_groups/1/notification_templates/1/enable");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/notification_groups/{notification_group_id}/notification_templates/{notification_template_id}/testSend test notification

Send a test notification using a specific notification template associated with a specific notification group. The test notification is sent to the email address of the logged-in user.

Parameters
NameTypeDescription
notification_group_id (path)REQUIREDintegerThe ID of the notification group.
notification_template_id (path)REQUIREDintegerThe ID of the notification template.
Responses
StatusDescription
204Test notification was successfully send.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /notification_groups/{notification_group_id}/notification_templates/{notification_template_id}/test
curl -X POST 'https://api.myparcel.nl/notification_groups/1/notification_templates/1/test' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/notification_groups/1/notification_templates/1/test");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/notification_groups/1/notification_templates/1/test", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/notification_groups/1/notification_templates/1/test", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/notification_groups/1/notification_templates/1/test')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/notification_groups/1/notification_templates/1/test", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/notification_groups/1/notification_templates/1/test"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/notification_groups/1/notification_templates/1/test");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/webhook_subscriptionsGet webhook subscriptions

Retrieve active webhook subscriptions for this account. Returns an array of Subscription objects.

Parameters
NameTypeDescription
hookstringFilter by webhook event type.
Responses
StatusDescription
200A webhook subscriptions response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /webhook_subscriptions
curl -X GET 'https://api.myparcel.nl/webhook_subscriptions?hook=string' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/webhook_subscriptions?hook=string");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/webhook_subscriptions?hook=string", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

params = {
    "hook": "string"
}

response = requests.get("https://api.myparcel.nl/webhook_subscriptions", params=params, headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/webhook_subscriptions?hook=string')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/webhook_subscriptions?hook=string", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/webhook_subscriptions?hook=string"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/webhook_subscriptions?hook=string");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
POST/webhook_subscriptionsCreate webhook subscriptions

Create webhook subscriptions for event notifications.

Responses
StatusDescription
200Webhook subscription creation was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestPOST /webhook_subscriptions
curl -X POST 'https://api.myparcel.nl/webhook_subscriptions' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/webhook_subscriptions");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/webhook_subscriptions", {
  method: 'POST',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.post("https://api.myparcel.nl/webhook_subscriptions", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/webhook_subscriptions')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("POST", "https://api.myparcel.nl/webhook_subscriptions", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/webhook_subscriptions"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .POST(HttpRequest.BodyPublishers.ofString(""))
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.myparcel.nl/webhook_subscriptions");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
GET/webhook_subscriptions/{ids}Get webhook subscriptions by id.

Retrieve specific webhook subscriptions by id. You can specify multiple subscription ids by semicolon separating them on the URI. Returns an array of webhook subscriptions.

Parameters
NameTypeDescription
ids (path)REQUIREDOne or more webhook subscription IDs. Separate multiple IDs using `;`.
Responses
StatusDescription
200A webhook subscriptions response.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestGET /webhook_subscriptions/{ids}
curl -X GET 'https://api.myparcel.nl/webhook_subscriptions/123' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/webhook_subscriptions/123");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/webhook_subscriptions/123", {
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.get("https://api.myparcel.nl/webhook_subscriptions/123", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/webhook_subscriptions/123')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.myparcel.nl/webhook_subscriptions/123", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/webhook_subscriptions/123"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .GET()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://api.myparcel.nl/webhook_subscriptions/123");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();
DELETE/webhook_subscriptions/{ids}Delete webhook subscriptions

Delete webhook subscriptions to stop receiving notifications about events.

Parameters
NameTypeDescription
ids (path)REQUIREDOne or more webhook subscription IDs. Separate multiple IDs using `;`.
Responses
StatusDescription
204Webhook subscription deletion was successful.
4XXThis response is given when the request contains bad syntax or cannot be fulfilled due to a client-side issue.
5XXThis response is given when the server fails to fulfill a valid request due to a server-side issue.
RequestDELETE /webhook_subscriptions/{ids}
curl -X DELETE 'https://api.myparcel.nl/webhook_subscriptions/123' \
  -H 'Authorization: bearer <token>' \
  -H 'User-Agent: my-integration/1.0'
<?php
$ch = curl_init("https://api.myparcel.nl/webhook_subscriptions/123");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'DELETE',
    CURLOPT_HTTPHEADER     => [
        'Authorization: bearer <token>',
        'User-Agent: my-integration/1.0',
    ],
]);

$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://api.myparcel.nl/webhook_subscriptions/123", {
  method: 'DELETE',
  headers: {
    Authorization: 'bearer <token>',
    'User-Agent': 'my-integration/1.0',
  },
});

const data = await response.json();
import requests

headers = {"Authorization": "bearer <token>", "User-Agent": "my-integration/1.0"}

response = requests.delete("https://api.myparcel.nl/webhook_subscriptions/123", headers=headers)

data = response.json()
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.myparcel.nl/webhook_subscriptions/123')
req = Net::HTTP::Delete.new(uri)
req['Authorization'] = 'bearer <token>'
req['User-Agent'] = 'my-integration/1.0'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("DELETE", "https://api.myparcel.nl/webhook_subscriptions/123", nil)
	req.Header.Set("Authorization", "bearer <token>")
	req.Header.Set("User-Agent", "my-integration/1.0")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Example {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest req = HttpRequest.newBuilder()
            .uri(URI.create("https://api.myparcel.nl/webhook_subscriptions/123"))
            .header("Authorization", "bearer <token>")
            .header("User-Agent", "my-integration/1.0")
            .DELETE()
            .build();

        HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
        System.out.println(res.body());
    }
}
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Delete, "https://api.myparcel.nl/webhook_subscriptions/123");
req.Headers.Add("Authorization", "bearer <token>");
req.Headers.Add("User-Agent", "my-integration/1.0");

var response = await client.SendAsync(req);
var data = await response.Content.ReadAsStringAsync();