cURL
curl --request POST \
--url 'https://app.floral.so/api/v1/workspaces/acme-nordic/people' \
--header 'Authorization: Bearer $FLORAL_TOKEN' \
--header 'Idempotency-Key: createPersonV1-20260816-001' \
--header 'Content-Type: application/json' \
--data '{
"companyId": 42,
"department": "Drift",
"email": "ada@acme-nordic.example",
"lifecycleStage": "PROSPECT",
"name": "Ada Jensen",
"title": "Driftsdirektør"
}'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: 'ada@acme-nordic.example', name: 'Ada Jensen'})
};
fetch('https://app.floral.so/api/v1/workspaces/{workspaceSlug}/people', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"person": {
"archivedAt": null,
"company": {
"id": 42,
"name": "Acme Nordic"
},
"customFields": {
"preferred_language": "da"
},
"department": "Drift",
"description": "Har ansvar for driftsplanlægning i Norden.",
"email": "ada@acme-nordic.example",
"id": 84,
"lastActivityAt": "2026-08-15T09:30:00.000Z",
"lifecycleStage": "PROSPECT",
"linkedinUrl": "https://www.linkedin.com/in/ada-jensen",
"metadata": {
"source": "event-registration"
},
"mobile": "+45 20 11 22 33",
"name": "Ada Jensen",
"ownerUserIds": [
"user_01J5N9CF9QY8T4M2A7W3R6K1P0"
],
"phone": "+45 33 12 34 56",
"title": "Driftsdirektør",
"updatedAt": "2026-08-15T09:30:00.000Z",
"version": "v1.eyJpZCI6ODQsInJlc291cmNlIjoicGVyc29uIiwidmVyc2lvbiI6IjIwMjYtMDgtMTVUMDk6MzA6MDAuMDAwWiJ9"
}
}{
"error": {
"code": "INVALID_INPUT",
"message": "Kaldet indeholder ugyldige værdier.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "En gyldig bearer-adgangsoplysning er påkrævet.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Adgangsoplysningen giver ikke adgang til denne handling.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Ressourcen blev ikke fundet.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "CONFLICT",
"message": "Den ønskede ændring er i konflikt med ressourcens aktuelle tilstand.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "For mange kald. Prøv igen om lidt.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Der opstod en uventet fejl.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}Personer
Opret en person
Opret en person, og tilknyt eventuelt en aktiv virksomhed i samme arbejdsområde. Metadata og brugerdefinerede felter kræver også Work.
POST
https://app.floral.so
/
api
/
v1
/
workspaces
/
{workspaceSlug}
/
people
cURL
curl --request POST \
--url 'https://app.floral.so/api/v1/workspaces/acme-nordic/people' \
--header 'Authorization: Bearer $FLORAL_TOKEN' \
--header 'Idempotency-Key: createPersonV1-20260816-001' \
--header 'Content-Type: application/json' \
--data '{
"companyId": 42,
"department": "Drift",
"email": "ada@acme-nordic.example",
"lifecycleStage": "PROSPECT",
"name": "Ada Jensen",
"title": "Driftsdirektør"
}'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({email: 'ada@acme-nordic.example', name: 'Ada Jensen'})
};
fetch('https://app.floral.so/api/v1/workspaces/{workspaceSlug}/people', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"person": {
"archivedAt": null,
"company": {
"id": 42,
"name": "Acme Nordic"
},
"customFields": {
"preferred_language": "da"
},
"department": "Drift",
"description": "Har ansvar for driftsplanlægning i Norden.",
"email": "ada@acme-nordic.example",
"id": 84,
"lastActivityAt": "2026-08-15T09:30:00.000Z",
"lifecycleStage": "PROSPECT",
"linkedinUrl": "https://www.linkedin.com/in/ada-jensen",
"metadata": {
"source": "event-registration"
},
"mobile": "+45 20 11 22 33",
"name": "Ada Jensen",
"ownerUserIds": [
"user_01J5N9CF9QY8T4M2A7W3R6K1P0"
],
"phone": "+45 33 12 34 56",
"title": "Driftsdirektør",
"updatedAt": "2026-08-15T09:30:00.000Z",
"version": "v1.eyJpZCI6ODQsInJlc291cmNlIjoicGVyc29uIiwidmVyc2lvbiI6IjIwMjYtMDgtMTVUMDk6MzA6MDAuMDAwWiJ9"
}
}{
"error": {
"code": "INVALID_INPUT",
"message": "Kaldet indeholder ugyldige værdier.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "En gyldig bearer-adgangsoplysning er påkrævet.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Adgangsoplysningen giver ikke adgang til denne handling.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Ressourcen blev ikke fundet.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "CONFLICT",
"message": "Den ønskede ændring er i konflikt med ressourcens aktuelle tilstand.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "For mange kald. Prøv igen om lidt.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Der opstod en uventet fejl.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}Autorisationer
Godkend med en personlig Floral-adgangsnøgle, der er bundet til ét arbejdsområde.
Overskrifter
Valgfrit korrelations-id fra kalderen. Floral returnerer den anvendte værdi i X-Request-ID.
Required string length:
1 - 128Påkrævet idempotensnøgle. Identiske nye forsøg på samme kanoniske kald gentager oprindelig status, body, ETag, Location og request-id i 24 timer.
Required string length:
1 - 255Sti-parametre
Slug for det arbejdsområde, adgangsoplysningen er bundet til.
Required string length:
1 - 100Pattern:
^[a-z0-9]+(?:-[a-z0-9]+)*$Krop
application/json
Stabile offentlige profilfelter. Ejer, adresse, taksonomi, import, berigelse og relationsnoter accepteres ikke. Højst 65536 byte.
Maximum string length:
320Pattern:
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Required string length:
1 - 255Nødvendigt interval:
x <= 2147483647Show child attributes
Show child attributes
Required string length:
1 - 128Required string length:
1 - 5000Tilgængelige muligheder:
LEAD, PROSPECT, CUSTOMER, CHURNED Maximum string length:
255Show child attributes
Show child attributes
Required string length:
1 - 32Required string length:
1 - 32Required string length:
1 - 128Svar
Person oprettet
Show child attributes
Show child attributes
