cURL
curl --request GET \
--url 'https://app.floral.so/api/v1/workspaces/acme-nordic/people?limit=20&status=active' \
--header 'Authorization: Bearer $FLORAL_TOKEN'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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));{
"items": [
{
"archivedAt": null,
"company": {
"id": 42,
"name": "Acme Nordic"
},
"department": "Operations",
"email": "ada@acme-nordic.example",
"id": 84,
"lastActivityAt": "2026-08-15T09:30:00.000Z",
"lifecycleStage": "PROSPECT",
"linkedinUrl": "https://www.linkedin.com/in/ada-jensen",
"mobile": "+45 20 11 22 33",
"name": "Ada Jensen",
"phone": "+45 33 12 34 56",
"title": "Operations director",
"updatedAt": "2026-08-15T09:30:00.000Z",
"version": "v1.eyJpZCI6ODQsInJlc291cmNlIjoicGVyc29uIiwidmVyc2lvbiI6IjIwMjYtMDgtMTVUMDk6MzA6MDAuMDAwWiJ9"
}
],
"nextCursor": null
}{
"error": {
"code": "INVALID_INPUT",
"message": "The request contains invalid values.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "A valid bearer credential is required.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "The credential does not grant this operation.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The resource was not found.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Retry shortly.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}People
List people
List a cursor-paginated, data-minimized person collection in one workspace.
GET
https://app.floral.so
/
api
/
v1
/
workspaces
/
{workspaceSlug}
/
people
cURL
curl --request GET \
--url 'https://app.floral.so/api/v1/workspaces/acme-nordic/people?limit=20&status=active' \
--header 'Authorization: Bearer $FLORAL_TOKEN'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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));{
"items": [
{
"archivedAt": null,
"company": {
"id": 42,
"name": "Acme Nordic"
},
"department": "Operations",
"email": "ada@acme-nordic.example",
"id": 84,
"lastActivityAt": "2026-08-15T09:30:00.000Z",
"lifecycleStage": "PROSPECT",
"linkedinUrl": "https://www.linkedin.com/in/ada-jensen",
"mobile": "+45 20 11 22 33",
"name": "Ada Jensen",
"phone": "+45 33 12 34 56",
"title": "Operations director",
"updatedAt": "2026-08-15T09:30:00.000Z",
"version": "v1.eyJpZCI6ODQsInJlc291cmNlIjoicGVyc29uIiwidmVyc2lvbiI6IjIwMjYtMDgtMTVUMDk6MzA6MDAuMDAwWiJ9"
}
],
"nextCursor": null
}{
"error": {
"code": "INVALID_INPUT",
"message": "The request contains invalid values.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "A valid bearer credential is required.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "The credential does not grant this operation.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The resource was not found.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Retry shortly.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred.",
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}
}Authorizations
Authenticate with a workspace-pinned Floral personal access token.
Headers
Optional caller-generated correlation ID. Floral returns the effective value in X-Request-ID.
Required string length:
1 - 128Path Parameters
Slug of the workspace pinned to the credential.
Required string length:
1 - 100Pattern:
^[a-z0-9]+(?:-[a-z0-9]+)*$Query Parameters
Restrict results to people linked to one company ID.
Required range:
x >= 1Opaque cursor returned as nextCursor by the previous page. Do not inspect or construct it.
Maximum string length:
512Restrict results to one lifecycle stage.
Available options:
LEAD, PROSPECT, CUSTOMER, CHURNED Number of items to return.
Required range:
1 <= x <= 50Stable collection ordering used by the cursor.
Available options:
updated-desc, name-asc Lifecycle state to include in the collection.
Available options:
active, archived, all 