Create a startup record

This recipe creates a startup object instance with realistic Primicornis fields. Replace IDs with values from your workspace.

Preconditions

  • WORKSPACE_ID — UUID or slug.
  • STARTUP_OBJECT_DEFINITION_ID — UUID from metadata.
  • Bearer token with member+ permissions inside the workspace.

Endpoint

http
POST /workspaces/{workspaceId}/object-definitions/{objectDefinitionId}/records
Content-Type: application/json
Authorization: Bearer prim_...

Payload

json
{
  "properties": {
    "name": "Lumen Analytics",
    "description": "Edge AI observability for industrial sensors.",
    "website": "https://lumenanalytics.example",
    "founded_year": 2022,
    "team_size": 18,
    "hq_city": "Munich"
  }
}

Keys must match property keys configured in workspace settings — not display labels.

Bash

bash
curl -sS -X POST \
  "$API_BASE/workspaces/$WS/object-definitions/$STARTUP_OD/records" \
  -H "Authorization: Bearer $PRIM_TOKEN" \
  -H "Content-Type: application/json" \
  -d @payload.json

TypeScript

typescript
const res = await fetch(
  `${api}/workspaces/${ws}/object-definitions/${startupOd}/records`,
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${token}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      properties: {
        name: "Lumen Analytics",
        description: "Edge AI observability for industrial sensors.",
        website: "https://lumenanalytics.example",
        founded_year: 2022,
        team_size: 18,
        hq_city: "Munich"
      }
    })
  }
);
if (!res.ok) throw new Error(await res.text());
const { data } = await res.json();
console.log(data.record.id);

Python

python
payload = {
    "properties": {
        "name": "Lumen Analytics",
        "description": "Edge AI observability for industrial sensors.",
        "website": "https://lumenanalytics.example",
        "founded_year": 2022,
        "team_size": 18,
        "hq_city": "Munich",
    }
}
r = requests.post(
    f"{api}/workspaces/{ws}/object-definitions/{startup_od}/records",
    headers={"Authorization": f"Bearer {token}"},
    json=payload,
    timeout=30,
)
r.raise_for_status()
print(r.json()["data"]["record"]["id"])

Next steps

  • Link founders (person records) via relation properties.
  • Attach opportunity rows for active rounds.
  • Pipe creation events into analytics for funnel dashboards.