ProductOSDocs

Entity reference · v1

battle-cards

BTLC-NNNNNNtable battle_cardssoft delete

Battle cards per competitor with criteria + 1-5 ratings.

Endpoints

GET/api/v1/battle-cards
POST/api/v1/battle-cards
GET/api/v1/battle-cards/{id}
PATCH/api/v1/battle-cards/{id}
DELETE/api/v1/battle-cards/{id}
POST/api/v1/battle-cards/{id}/restore

Writable fields

* required on create. PATCH treats every field as optional.

FieldTypeConstraintsNotes
titlestring
competitor_iduuid
overviewtext
our_strengthsjson
their_strengthsjson
key_differentiatorsjson
talk_tracktext
objection_handlingjson
statusstringdraft | active | archived
last_reviewed_attimestamp
is_draftboolean
metadatajson

Listing & filtering

  • Pagination: ?limit=50&offset=0 · max limit 200
  • Default sort: ?sort=created_at&order=desc
  • Sortable fields: created_at · updated_at · last_reviewed_at · id_number
  • Search (?q=): title, overview, talk_track
  • Filters: ?status= ?competitor_id= , repeat any filter to OR multiple values
  • Trash: hidden by default; pass ?include_deleted=true

Examples

curlbash
curl 'https://productos.ca/api/v1/battle-cards?limit=10' \
  -H "Authorization: Bearer $TOKEN"

Try it out

Paste a token and hit a real endpoint. The request goes from your browser straight to /api/v1/battle-cards. The token is held in this page only for the request and is never stored.

Try it out

Issue tokens in Settings → API tokens. Token never leaves this page.

GET/api/v1/battle-cards?limit=3

Generated from the API's entity configuration. This page is rebuilt on every deploy, so it always matches the live API.