List Event Types
curl --request GET \
--url https://api.signa.so/v1/event-types \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.signa.so/v1/event-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signa.so/v1/event-types', 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.signa.so/v1/event-types",
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.signa.so/v1/event-types"
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.signa.so/v1/event-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.signa.so/v1/event-types")
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{
"object": "list",
"data": [
{
"object": "event_type_mapping",
"office_code": "WO",
"raw_code": "AMDN",
"raw_label": "Amendment notification",
"event_type": "correction",
"event_scope": null,
"notes": "Amendment notification"
},
{
"object": "event_type_mapping",
"office_code": "WO",
"raw_code": "CBN1",
"raw_label": "Confirmation of protection granted (total)",
"event_type": "registration",
"event_scope": "designation",
"notes": "Confirmation of protection granted (total)"
}
],
"has_more": true,
"pagination": {
"cursor": "WO|CBN1"
}
}
Rules & types
List Event Types
List per-office event type code mappings
GET
/
v1
/
event-types
List Event Types
curl --request GET \
--url https://api.signa.so/v1/event-types \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.signa.so/v1/event-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signa.so/v1/event-types', 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.signa.so/v1/event-types",
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.signa.so/v1/event-types"
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.signa.so/v1/event-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.signa.so/v1/event-types")
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{
"object": "list",
"data": [
{
"object": "event_type_mapping",
"office_code": "WO",
"raw_code": "AMDN",
"raw_label": "Amendment notification",
"event_type": "correction",
"event_scope": null,
"notes": "Amendment notification"
},
{
"object": "event_type_mapping",
"office_code": "WO",
"raw_code": "CBN1",
"raw_label": "Confirmation of protection granted (total)",
"event_type": "registration",
"event_scope": "designation",
"notes": "Confirmation of protection granted (total)"
}
],
"has_more": true,
"pagination": {
"cursor": "WO|CBN1"
}
}
Overview
Returns per-office event type code mappings. Each entry maps a raw office-specific event code to a canonical event type. Use this to populate filter dropdowns, validate event data, or build event-type legend displays.Query Parameters
string
Filter mappings by office code (e.g.
WO). Omit to return all offices.integer
default:"100"
Max results per page (max 500).
string
Pagination cursor from
pagination.cursor of the previous page.Response
This endpoint is publicly cacheable, so the response never includesrequest_id.
string
Always
list.object[]
Show Event type mapping object
Show Event type mapping object
string
Always
event_type_mappingstring
Uppercase ST.3 office code (e.g.
WO)string
Office-specific raw event code
string | null
Office-specific human-readable label
string
Canonical event type (e.g.
registration, renewal, correction)string | null
Scope of the event (e.g.
designation for events that apply to a single Madrid designation)string | null
Additional notes about this mapping
boolean
Whether more pages are available.
{
"object": "list",
"data": [
{
"object": "event_type_mapping",
"office_code": "WO",
"raw_code": "AMDN",
"raw_label": "Amendment notification",
"event_type": "correction",
"event_scope": null,
"notes": "Amendment notification"
},
{
"object": "event_type_mapping",
"office_code": "WO",
"raw_code": "CBN1",
"raw_label": "Confirmation of protection granted (total)",
"event_type": "registration",
"event_scope": "designation",
"notes": "Confirmation of protection granted (total)"
}
],
"has_more": true,
"pagination": {
"cursor": "WO|CBN1"
}
}
Code Examples
curl "https://api.signa.so/v1/event-types?office=WO" \
-H "Authorization: Bearer sig_YOUR_KEY"
import { Signa } from "@signa-so/sdk";
const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });
const eventTypes = await signa.references.eventTypes();
for (const mapping of eventTypes.data) {
console.log(mapping.raw_code, "->", mapping.event_type);
}
Errors
| Status | Type | Description |
|---|---|---|
| 401 | unauthorized | Missing or invalid API key |
| 403 | forbidden | API key lacks trademarks:read scope |
| 429 | rate_limited | Too many requests |
Related Endpoints
- Trademark Events, event timeline for a mark
- Trademarks & lifecycle guide, canonical status stages