ProductOSDocs

Entity reference · v1

accounts

ACCT-NNNNNNtable accountssoft delete

Organisations we deal with (customers, prospects, partners, internal) with lifecycle, health, ARR, churn risk.

Endpoints

GET/api/v1/accounts
POST/api/v1/accounts
GET/api/v1/accounts/{id}
PATCH/api/v1/accounts/{id}
DELETE/api/v1/accounts/{id}
POST/api/v1/accounts/{id}/restore
GET/api/v1/accounts/{id}/links/feedback
POST/api/v1/accounts/{id}/links/feedback
DELETE/api/v1/accounts/{id}/links/feedback/{targetId}
GET/api/v1/accounts/{id}/links/meetings
POST/api/v1/accounts/{id}/links/meetings
DELETE/api/v1/accounts/{id}/links/meetings/{targetId}

Writable fields

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

FieldTypeConstraintsNotes
name*string
relationshipstringcustomer | prospect | partner | internalWhat this account is: customer, prospect, partner or internal. Defaults to customer.
statusstringactive | poc | lapsed | churnedWhere the relationship stands: active, poc, lapsed or churned. Defaults to active.
segmentstringenterprise | mid-market | smb | startup | internalCustomer segment, lowercase. 'Mid-Market' and friends were legal before migration 00081 and are still accepted, stored lowercased.
arrfloat≥ 0
health_scoreinteger≥ 0 · ≤ 100
churn_riskstringlow | medium | high | critical
users_countinteger≥ 0
primary_contactstringThe primary contact's name. It mirrors the account's primary contact (contacts with is_primary): writing it renames that person, or adds them when the account has none.
primary_contact_emailstringThe primary contact's email. Writing an address makes the account's contact with that address its primary contact, adding the person when there is none.
planstringenterprise | growth | starter
tagsstring[]
last_activitytimestamp
is_draftboolean
metadatajson

Listing & filtering

  • Pagination: ?limit=50&offset=0 · max limit 200
  • Default sort: ?sort=arr&order=desc
  • Sortable fields: created_at · updated_at · name · arr · health_score · id_number
  • Search (?q=): name, primary_contact
  • Filters: ?relationship= ?status= ?segment= ?churn_risk= ?plan= ?is_draft= , repeat any filter to OR multiple values
  • Trash: hidden by default; pass ?include_deleted=true
  • Expand: ?expand=feedback,meetings

Examples

curlbash
curl 'https://productos.ca/api/v1/accounts?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/accounts. 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/accounts?limit=3

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