/people
People
Pessoas são o core do CRM — leads, contatos e clientes. Cada pessoa pode estar vinculada a uma Company, ter um Owner (User responsável) e um lifecycleStage que rastreia onde ela está no funil.
- E-mail é único por workspace — POST com e-mail duplicado retorna 409.
- Aceita tags livres no body de POST/PATCH.
- customFields aparecem em GET; escrita via API ainda não disponível na v1 pública.
- DELETE remove o registro do workspace.
- Webhooks: person.created, person.updated, person.tag_added.
Endpoints
Clique em qualquer linha pra ir direto à reference detalhada.
Reference
GET
/peopleListar pessoas
Retorna pessoas do workspace com paginação. A v1 atual aceita apenas `page` e `pageSize` — filtros (lifecycleStage, ownerId, email, etc.) ainda não estão disponíveis na API pública.
Query parameters
pageinteger
Número da página (1-indexado).
pageSizeinteger
Itens por página. Máximo 100.
Responses
200Lista paginada de pessoas.401Token inválido.429Rate limit.
Resposta 200
pageintegerrequired
—
pageSizeintegerrequired
—
totalintegerrequired
—
hasMorebooleanrequired
—
dataarray<Person>required
—
curl https://api.usemix.app/api/v1/people \
-H "Authorization: Bearer manu_seu_token_aqui"GET
/people/{id}Buscar pessoa
Path parameters
idstring<uuid>required
Identificador único do recurso.
Responses
200OK.404Não encontrada.
Resposta 200
idstring<uuid>required
—
tenantIdstring<uuid>required
—
fullNamestringrequired
—
primaryEmailstring<email>
—
primaryPhonestring
—
companyIdstring<uuid>
—
ownerIdstring<uuid>
User responsável dentro do workspace.
lifecycleStageenum<"lead" | "marketing_qualified" | "sales_qualified" | …>
—
leadmarketing_qualifiedsales_qualifiedopportunitycustomerevangelistleadSourcestring
—
tagsarray<string>
—
customFieldsobject
Campos customizados do workspace, expostos como leitura. Definição e escrita feitas pelo app web — a v1 pública não escreve em customFields.
createdAtstring<date-time>required
—
updatedAtstring<date-time>required
—
curl https://api.usemix.app/api/v1/people/<id> \
-H "Authorization: Bearer manu_seu_token_aqui"POST
/peopleCriar pessoa
Cria uma nova pessoa no workspace.
Request body
fullNamestringrequired
—
primaryEmailstring<email>
—
primaryPhonestring
—
companyIdstring<uuid>
—
ownerIdstring<uuid>
—
lifecycleStageenum<"lead" | "marketing_qualified" | "sales_qualified" | …>
—
leadmarketing_qualifiedsales_qualifiedopportunitycustomerevangelistleadSourcestring
—
Responses
201Criada com sucesso.400Validação.409Conflito (ex.: e-mail duplicado).422Validação semântica.
Resposta 201
idstring<uuid>required
—
tenantIdstring<uuid>required
—
fullNamestringrequired
—
primaryEmailstring<email>
—
primaryPhonestring
—
companyIdstring<uuid>
—
ownerIdstring<uuid>
User responsável dentro do workspace.
lifecycleStageenum<"lead" | "marketing_qualified" | "sales_qualified" | …>
—
leadmarketing_qualifiedsales_qualifiedopportunitycustomerevangelistleadSourcestring
—
tagsarray<string>
—
customFieldsobject
Campos customizados do workspace, expostos como leitura. Definição e escrita feitas pelo app web — a v1 pública não escreve em customFields.
createdAtstring<date-time>required
—
updatedAtstring<date-time>required
—
curl -X POST https://api.usemix.app/api/v1/people \
-H "Authorization: Bearer manu_seu_token_aqui" \
-H "Content-Type: application/json" \
-d '{
"fullName": "string",
"primaryEmail": "exemplo@dominio.com",
"primaryPhone": "string",
"companyId": "00000000-0000-0000-0000-000000000000",
"ownerId": "00000000-0000-0000-0000-000000000000",
"lifecycleStage": "lead",
"leadSource": "string"
}'PATCH
/people/{id}Atualizar pessoa
Update parcial. Campos não enviados permanecem inalterados.
Path parameters
idstring<uuid>required
Identificador único do recurso.
Request body
fullNamestring
—
primaryEmailstring<email>
—
primaryPhonestring
—
companyIdstring<uuid>
—
ownerIdstring<uuid>
—
lifecycleStageenum<"lead" | "marketing_qualified" | "sales_qualified" | …>
—
leadmarketing_qualifiedsales_qualifiedopportunitycustomerevangelistleadSourcestring
—
Responses
200OK.404Não encontrada.
Resposta 200
idstring<uuid>required
—
tenantIdstring<uuid>required
—
fullNamestringrequired
—
primaryEmailstring<email>
—
primaryPhonestring
—
companyIdstring<uuid>
—
ownerIdstring<uuid>
User responsável dentro do workspace.
lifecycleStageenum<"lead" | "marketing_qualified" | "sales_qualified" | …>
—
leadmarketing_qualifiedsales_qualifiedopportunitycustomerevangelistleadSourcestring
—
tagsarray<string>
—
customFieldsobject
Campos customizados do workspace, expostos como leitura. Definição e escrita feitas pelo app web — a v1 pública não escreve em customFields.
createdAtstring<date-time>required
—
updatedAtstring<date-time>required
—
curl -X PATCH https://api.usemix.app/api/v1/people/<id> \
-H "Authorization: Bearer manu_seu_token_aqui" \
-H "Content-Type: application/json" \
-d '{
"fullName": "string",
"primaryEmail": "exemplo@dominio.com",
"primaryPhone": "string",
"companyId": "00000000-0000-0000-0000-000000000000",
"ownerId": "00000000-0000-0000-0000-000000000000",
"lifecycleStage": "lead",
"leadSource": "string"
}'DELETE
/people/{id}Apagar pessoa
Path parameters
idstring<uuid>required
Identificador único do recurso.
Responses
204Apagada.404Não encontrada.
curl -X DELETE https://api.usemix.app/api/v1/people/<id> \
-H "Authorization: Bearer manu_seu_token_aqui"