All requests require an API key via the
X-API-Key header.
See Authentication for details.Overview
POST /v1/streams/points creates a point asset for the organization associated with the API key.
Points are used as reward assets for point-based streams. Creating a point lets your organization define a symbol, display name, precision, and optional logo for those rewards.
You only need this endpoint if you plan to create point-based streams. It is not required for streams that use rewardToken.
The API key must belong to an organization and that organization must have the
organization:incentivize:streams:create permission.Endpoint
Request Body
Point symbol.
Point name.
Decimal precision for the point asset. If omitted, it uses the default configured precision of
18.Optional logo URL for the point asset.
Response Example
Response Fields
The newly created point asset.
Point
Unique point identifier.
Organization that owns the point.
Normalized uppercase point symbol.
Point name.
Decimal precision assigned to the point asset.
Optional logo URL associated with the point asset.
Creation timestamp of the point.
Last update timestamp of the point.
Important Notes
Symbol normalization is automatic
Symbol normalization is automatic
The backend trims whitespace and uppercases
symbol before persisting the point.Decimals default to 18
Decimals default to 18
If
decimals is omitted, Turtle uses the configured default point precision, currently 18.Creating points is optional for token-based programs
Creating points is optional for token-based programs
Organizations using ERC-20 rewards through
rewardToken do not need to create points. Points are only used with pointId in point-based stream creation.Error Handling
Missing or invalid API key
Missing or invalid API key
Status Code: 401 UnauthorizedSolution: Pass a valid
X-API-Key header belonging to an organization-scoped API key.Invalid payload
Invalid payload
Status Code: 400 Bad RequestCommon causes:
symbolis missing or blanknameis missing or blank
Permission denied
Permission denied
Status Code: 403 ForbiddenSolution: Use an API key associated with an organization that has the
organization:incentivize:streams:create permission.Unexpected internal error
Unexpected internal error
Status Code: 500 Internal Server ErrorSolution: Retry the request and contact Turtle if the issue persists.

