Skip to main content
POST
/
v1
/
orgs
/
{org_id}
/
reps
Create (or upsert) a rep
curl --request POST \
  --url http://localhost:3000/v1/orgs/{org_id}/reps \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "rep_id": "<string>",
  "name": "<string>",
  "email": "jsmith@example.com",
  "metadata": {}
}
'

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

org_id
string
required

Body

application/json
rep_id
string
required

Opaque identifier from your system. Treat this like a foreign key — pass a stable ID (Salesforce User ID, HubSpot Owner ID, your internal UUID), not a display name. Display names ("alex", "brooke") work but cause real problems: collisions between people with the same first name, history loss on rename, no clean migration if employment changes. Once you set this for a rep or org, treat it as immutable. Charset: [A-Za-z0-9._:-], 1-256 chars.

Required string length: 1 - 256
Pattern: ^[A-Za-z0-9._:-]+$
name
string
Maximum string length: 200
email
string<email>
metadata
object

Response

200

Default Response