Skip to main content
GET
/
v1
/
portfolios
/
{id}
/
deadlines.ics
Portfolio Deadlines (iCal)
curl --request GET \
  --url https://api.example.com/v1/portfolios/{id}/deadlines.ics

Overview

Returns a subscribable iCalendar (text/calendar) feed containing every upcoming deadline for marks in a portfolio. Subscribe in Google Calendar, Outlook, Apple Calendar, or any iCal-compatible client to keep deadlines visible alongside the rest of your schedule. Each deadline produces one VEVENT, with a VALARM for each reminder_days offset. Requires the portfolios:manage scope.

Path Parameters

id
string
required
Portfolio ID (ptf_...).

Query Parameters

reminder_days
string
Comma-separated reminder offsets in days (1-3650). Each value produces a VALARM that many days before the deadline. Defaults to 90,30,7.

Response

text/calendar; charset=utf-8 body containing an iCalendar feed. The Content-Disposition header sets a filename based on the portfolio name.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Signa//Trademark Deadlines//EN
BEGIN:VEVENT
UID:tm_abc123-renewal-2027-06-15@signa.so
DTSTAMP:20260410T031842Z
DTSTART;VALUE=DATE:20270615
SUMMARY:Renewal due -- AURORA (uspto)
DESCRIPTION:Trademark tm_abc123 renewal due 2027-06-15
BEGIN:VALARM
TRIGGER:-P90D
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VCALENDAR

Code Examples

curl "https://api.signa.so/v1/portfolios/ptf_abc123/deadlines.ics?reminder_days=90,30,7" \
  -H "Authorization: Bearer sig_live_YOUR_KEY_HERE" \
  -o portfolio.ics
Most calendar clients require an HTTPS URL with credentials embedded in the request. Use a Signa API key with portfolios:manage and serve the URL through a proxy if your client cannot send custom headers.

Errors

StatusTypeDescription
400validation_errorInvalid portfolio ID or reminder_days out of range
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks portfolios:manage
404not_foundPortfolio does not exist or belongs to another org