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", "label": null },
"event_type": "correction",
"event_scope": null,
"notes": "Amendment notification"
},
{
"object": "event_type_mapping",
"office_code": "WO",
"raw": { "code": "CBN1", "label": null },
"event_type": "registration",
"event_scope": "designation",
"notes": "Confirmation of protection granted (total)"
}
],
"has_more": true,
"pagination": {
"cursor": "WO|CBN1"
}
}
Codes & 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", "label": null },
"event_type": "correction",
"event_scope": null,
"notes": "Amendment notification"
},
{
"object": "event_type_mapping",
"office_code": "WO",
"raw": { "code": "CBN1", "label": null },
"event_type": "registration",
"event_scope": "designation",
"notes": "Confirmation of protection granted (total)"
}
],
"has_more": true,
"pagination": {
"cursor": "WO|CBN1"
}
}
Credits: 0.
Overview
Returns per-office event type code mappings. Each entry maps an office’s event code to a canonical event type.raw carries the office’s code and label exactly as a trademark event’s raw does, so you can decode raw.code on an event from a catalogued office with this list. Use it to populate filter dropdowns, validate event data, or build event-type legend displays.
The catalogue covers the USPTO (
US), IP Australia (AU) and WIPO (WO) today. Any other office, including EM, CA and GB, returns an empty list. Events from those offices still carry the office’s code and label in their own raw, and event_type is always Signa’s canonical type.The USPTO rows come from the USPTO’s published prosecution history code list, one row per four-character code. A USPTO code can carry several labels over time (for example written and mailed forms of one action); raw.label is the USPTO’s generic description for the code, so it can differ from the label on a particular event. notes names the codes whose event_type depends on which label an event carries.Query Parameters
string
Filter by office code, the rows’
office_code (WIPO ST.3, e.g. WO). Omit to return all offices. Unknown query parameters, including the retired office, are rejected with 400.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)object
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. For a USPTO code whose labels map to different event types, lists each label with its type.
boolean
Whether more pages are available.
{
"object": "list",
"data": [
{
"object": "event_type_mapping",
"office_code": "WO",
"raw": { "code": "AMDN", "label": null },
"event_type": "correction",
"event_scope": null,
"notes": "Amendment notification"
},
{
"object": "event_type_mapping",
"office_code": "WO",
"raw": { "code": "CBN1", "label": null },
"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_code=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({ office_code: "WO" });
for await (const mapping of eventTypes) {
console.log(mapping.raw.code, "->", mapping.event_type);
}
Related Endpoints
- Trademark Events, event timeline for a mark
- Trademarks & lifecycle guide, canonical status stages