- Longitudinal studies — running the same individuals across multiple campaigns over time to track attitude shifts
- Cross-project consistency — ensuring the same consumer segment is represented identically in different research initiatives
- Faster setup — skipping generation by pulling proven personas directly into a new project
Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
GET | /api/v1/library/personas | Yes | Search and list library personas with optional filters |
GET | /api/v1/library/personas/{id} | Yes | Get a single library persona |
GET | /api/v1/library/personas/{id}/projects | Yes | Find all projects that have used this persona |
POST | /api/v1/library/personas/{id}/retire | Yes | Retire a library persona so it is no longer used in new simulations |
GET /library/personas
Search the persona library with optional filters. Returns a paginated list of library personas matching your criteria.Query parameters
Filter by city or country, e.g.
"Manila, Philippines" or "Jakarta, Indonesia". Partial matches are supported.Filter by gender:
"Male", "Female", or "All".Filter by income bracket:
"Low", "Middle", or "High".Minimum age filter (inclusive).
Maximum age filter (inclusive).
Filter by occupation keyword, e.g.
"marketing" or "freelancer".Maximum number of results to return per page. Maximum value is 100.
Number of results to skip. Use with
limit for pagination.Response
Array of library persona objects.
Total number of library personas matching the filters.
The
limit value used for this response.The
offset value used for this response.Example
Response
GET /library/personas/
Retrieve the full profile of a single library persona, including all demographic and psychographic fields.Path parameters
UUID of the library persona.
Example
GET /library/personas//projects
Find all projects across your company that have used this library persona. Useful for understanding the longitudinal history of a persona and tracing results across campaigns.Path parameters
UUID of the library persona.
Example
POST /library/personas//retire
Mark a library persona as retired. Retired personas are excluded from automatic matching during new persona group generation and cannot be added to new simulations. Existing simulation results that reference a retired persona are not affected.Retiring a persona is useful when a persona has become stale — for example, if its profile reflects consumer attitudes that are no longer current. Retiring does not delete the persona; you can view it and its history but it will not appear in new projects.
Path parameters
UUID of the library persona to retire.
Example
How personas enter the library
Boses evaluates personas for library promotion based on their reliability score — measured by running consistency checks across multiple simulations. Personas that give coherent, non-contradictory responses are promoted automatically. You can also trigger a manual reliability check via the Simulations API. Once in the library, a persona retains its full profile and is available when generating new persona groups. If a new group’s demographic definition closely matches a library persona, Boses reuses that persona instead of generating a new one, ensuring you build up a consistent panel over time.Library personas are automatically matched and reused during generation. You do not need to explicitly select them — Boses handles this in the background. You can confirm which library personas were used by checking the
library_persona_id field on each persona after generation completes.