Merge plan metadata
curl --request PATCH \
--url https://core.nozle.app/api/v1/plans/{code}/metadata \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": null
}
}
'import requests
url = "https://core.nozle.app/api/v1/plans/{code}/metadata"
payload = { "metadata": {
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": None
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({metadata: {external_id: 'ext-123', synced_at: '2024-01-15', source: null}})
};
fetch('https://core.nozle.app/api/v1/plans/{code}/metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://core.nozle.app/api/v1/plans/{code}/metadata"
payload := strings.NewReader("{\n \"metadata\": {\n \"external_id\": \"ext-123\",\n \"synced_at\": \"2024-01-15\",\n \"source\": null\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://core.nozle.app/api/v1/plans/{code}/metadata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"external_id\": \"ext-123\",\n \"synced_at\": \"2024-01-15\",\n \"source\": null\n }\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://core.nozle.app/api/v1/plans/{code}/metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'external_id' => 'ext-123',
'synced_at' => '2024-01-15',
'source' => null
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.patch("https://core.nozle.app/api/v1/plans/{code}/metadata")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"external_id\": \"ext-123\",\n \"synced_at\": \"2024-01-15\",\n \"source\": null\n }\n}")
.asString();{
"metadata": {
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": null
}
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 404,
"error": "Not Found",
"code": "object_not_found"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}Plans
Merge plan metadata
This endpoint merges the provided metadata with existing metadata on the plan. Existing keys not in the request are preserved. New keys are added, existing keys are updated.
PATCH
/
plans
/
{code}
/
metadata
Merge plan metadata
curl --request PATCH \
--url https://core.nozle.app/api/v1/plans/{code}/metadata \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": null
}
}
'import requests
url = "https://core.nozle.app/api/v1/plans/{code}/metadata"
payload = { "metadata": {
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": None
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({metadata: {external_id: 'ext-123', synced_at: '2024-01-15', source: null}})
};
fetch('https://core.nozle.app/api/v1/plans/{code}/metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://core.nozle.app/api/v1/plans/{code}/metadata"
payload := strings.NewReader("{\n \"metadata\": {\n \"external_id\": \"ext-123\",\n \"synced_at\": \"2024-01-15\",\n \"source\": null\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://core.nozle.app/api/v1/plans/{code}/metadata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"external_id\": \"ext-123\",\n \"synced_at\": \"2024-01-15\",\n \"source\": null\n }\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://core.nozle.app/api/v1/plans/{code}/metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'external_id' => 'ext-123',
'synced_at' => '2024-01-15',
'source' => null
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.patch("https://core.nozle.app/api/v1/plans/{code}/metadata")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"external_id\": \"ext-123\",\n \"synced_at\": \"2024-01-15\",\n \"source\": null\n }\n}")
.asString();{
"metadata": {
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": null
}
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 404,
"error": "Not Found",
"code": "object_not_found"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The code of the plan.
Example:
"startup"
Body
application/json
Custom metadata stored as key-value pairs. Keys are strings (max 100 characters), values can be strings (max 255 characters) or null.
Show child attributes
Show child attributes
Example:
{
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": null
}
Response
Plan metadata merged
Custom metadata stored as key-value pairs. Keys are strings (max 100 characters), values can be strings (max 255 characters) or null.
Show child attributes
Show child attributes
Example:
{
"external_id": "ext-123",
"synced_at": "2024-01-15",
"source": null
}