All requests require an API key via the
X-API-Key header.
See Authentication for details.Overview
POST /v2/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
string
required
Point symbol.
string
required
Point name.
integer
default:18
Decimal precision for the point asset. If omitted, it uses the default configured precision of
18.string
Optional logo URL for the point asset.
Response Example
Response Fields
Point
The newly created point asset.
Point
uuid
Unique point identifier.
uuid
Organization that owns the point.
string
Normalized uppercase point symbol.
string
Point name.
integer
Decimal precision assigned to the point asset.
string | null
Optional logo URL associated with the point asset.
datetime
Creation timestamp of the point.
datetime
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.

