List webhook endpoints
curl --request GET \
--url https://api.mareaalcalina.com/v1/webhook_endpoints \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mareaalcalina.com/v1/webhook_endpoints"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mareaalcalina.com/v1/webhook_endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mareaalcalina.com/v1/webhook_endpoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mareaalcalina.com/v1/webhook_endpoints"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mareaalcalina.com/v1/webhook_endpoints")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mareaalcalina.com/v1/webhook_endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"endpoints": [
{
"endpointId": "mk_we_0123456789abcdef",
"url": "<string>",
"description": "<string>",
"enabled": true,
"subscribedEvents": [],
"signingSecretVersion": 2,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"lastDeliveryAt": "2023-11-07T05:31:56Z",
"consecutiveFailures": 1
}
]
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}Webhooks
List webhook endpoints
Use this when you want to list every webhook endpoint owned by the caller (developer scope).
Returns up to 16 endpoints (cap per account). Never returns the signing secret — use POST /v1/webhook_endpoints/{endpointId}/rotate-secret if you need a new one.
GET
/
v1
/
webhook_endpoints
List webhook endpoints
curl --request GET \
--url https://api.mareaalcalina.com/v1/webhook_endpoints \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mareaalcalina.com/v1/webhook_endpoints"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mareaalcalina.com/v1/webhook_endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mareaalcalina.com/v1/webhook_endpoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mareaalcalina.com/v1/webhook_endpoints"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mareaalcalina.com/v1/webhook_endpoints")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mareaalcalina.com/v1/webhook_endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"endpoints": [
{
"endpointId": "mk_we_0123456789abcdef",
"url": "<string>",
"description": "<string>",
"enabled": true,
"subscribedEvents": [],
"signingSecretVersion": 2,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"lastDeliveryAt": "2023-11-07T05:31:56Z",
"consecutiveFailures": 1
}
]
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}{
"error": {
"type": "auth",
"code": "missing_authorization",
"message": "<string>",
"doc": "<string>",
"param": "<string>",
"requestId": "req_30a9358b-70bd-44f3-aa5d-8983b558ad84",
"requestLogUrl": "<string>",
"recoverable": true,
"retryAfterMs": 123,
"nextActions": [
{
"label": "Validate the JSON before retrying.",
"method": null,
"url": null
}
],
"upgrade": {
"currentPlan": "free",
"requiredPlan": "pro",
"upgradeUrl": "https://mareaalcalina.com/upgrade?planSource=api",
"previewUrl": "<string>"
},
"requiredScopes": [
"<string>"
],
"heldScopes": [
"<string>"
]
}
}Authorizations
BearerAuthBearerAuth
Marea API key. mk_dev_* keys are developer-scoped (bootstrap, list users, register webhook). mk_user_* keys are user-scoped (manage that one user's storefronts/products). Scopes: catalog:read, catalog:write, storefront:publish, me:verify, me:resendVerification, developer:bootstrap, developer:read, developer:issueUserKey, developer:webhooks.
Headers
BCP-47 locale tag for localized error messages (es, en, pt). Defaults to es.
Example:
"es-MX"
Response
Success.
Show child attributes
Show child attributes
⌘I