Skip to main content
POST
/
v1
/
portfolios
/
{id}
/
marks
/
remove
Remove Portfolio Marks
curl --request POST \
  --url https://api.example.com/v1/portfolios/{id}/marks/remove \
  --header 'Content-Type: application/json' \
  --data '
{
  "trademark_ids": [
    "<string>"
  ]
}
'
{
  "object": "portfolio_marks_result",
  "removed": 12,
  "livemode": true,
  "request_id": "req_xyz"
}

Overview

Removes trademarks from a portfolio. Uses POST instead of DELETE so the request body is preserved across proxies and CDNs that strip bodies from DELETE requests. Requires the portfolios:manage scope.

Path Parameters

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

Request Body

trademark_ids
string[]
required
Trademark IDs to remove (1-100 entries).

Response

object
string
Always portfolio_marks_result.
removed
integer
Number of trademarks actually removed from the portfolio.
{
  "object": "portfolio_marks_result",
  "removed": 12,
  "livemode": true,
  "request_id": "req_xyz"
}

Code Examples

curl -X POST "https://api.signa.so/v1/portfolios/ptf_abc123/marks/remove" \
  -H "Authorization: Bearer sig_live_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{ "trademark_ids": ["tm_abc123", "tm_def456"] }'

Errors

StatusTypeDescription
400validation_errorEmpty trademark_ids, more than 100 IDs, or invalid ID format
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks portfolios:manage
404not_foundPortfolio does not exist or belongs to another org