List entities Updated the type query parameter to support array notation, allowing filtering by multiple entity types in a single request (e.g. type[]=feature&type[]=initiative)
We've migrated all member-related fields across the API to a new, more reliable set of member identifiers. The previous UUIDs were based on an internal scheme that wasn't designed for long-term external use. The new membership UUIDs are stable, consistent across all endpoints, and built to stay future-proof as the platform evolves.
What changed:
Entities API - The owner field and custom member fields now return and accept membership UUIDs instead of legacy identifiers
Notes API - The owner and createdBy fields now return and accept membership UUIDs instead of legacy identifiers
Analytics API - The member id in query parameter now uses membership UUIDs for member-based filtering
If your integration reads or writes member-related fields, you will need to update your code to use the new membership UUIDs. You can look up the correct UUID for any member using the new Members API (see below).
New: Members API is now publicly available
You can now use the Members API to list and look up workspace members, including searching by email address. This makes it straightforward to find the correct membership UUID for any user in your workspace.
List members - Search members by name or email, filter by role
This is especially useful for automations that assign owners or set member fields: search for a member by email, get their UUID, and use it directly in your entity or note updates.
Company Fields Documentation: Clarified that company custom fields can be assigned to other item types (features, components, etc.) through the Productboard UI. Updated documentation to explain that changes to field properties propagate across all item types, and deletion removes the field from all item types permanently.
Company Custom Field Values: The value field for number custom fields on PUT /companies/{companyId}/custom-fields/{customFieldId}/value now enforces a range of -9999999999.99 to 9999999999.99. Decimal values are rounded to 2 decimal points.
Company Custom Field Values: The type field in the request body for PUT /companies/{companyId}/custom-fields/{customFieldId}/value must now match the company custom field definition type. If the provided type does not match, a 400 Bad Request error is returned with error code validation.request.body.schema.typeMismatch.