Versions in this module Expand all Collapse all v0 v0.1.0 Aug 23, 2026 Changes in this version + const SDKName + const SDKVersion + var ErrMissingAPIToken = errors.New("productboard: api token is required") + func IsNotFound(err error) bool + func IsRateLimited(err error) bool + func IsUnauthorized(err error) bool + type APIError struct + Message string + StatusCode int + func (e *APIError) Error() string + type Client struct + func NewClient(opts ...Option) (*Client, error) + func (c *Client) API() *api.Client + func (c *Client) BaseURL() string + func (c *Client) GetFeature(ctx context.Context, id string) (*Feature, error) + func (c *Client) GetObjective(ctx context.Context, id string) (*Objective, error) + func (c *Client) GetRelease(ctx context.Context, id string) (*Release, error) + func (c *Client) ListFeatures(ctx context.Context, opts ...ListOption) (*FeatureList, error) + func (c *Client) ListObjectives(ctx context.Context, opts ...ListOption) (*ObjectiveList, error) + func (c *Client) ListReleases(ctx context.Context, opts ...ListOption) (*ReleaseList, error) + type Config struct + APIToken string + BaseURL string + HTTPClient *http.Client + Timeout time.Duration + type Feature struct + Archived bool + CreatedAt *time.Time + Description string + ID string + Name string + Owner *Member + ParentID string + Status *Status + Tags []SelectOption + Timeframe *Timeframe + Type string + UpdatedAt *time.Time + type FeatureList struct + Features []Feature + NextCursor string + type ListOption func(*ListOptions) + func WithNameFilter(name string) ListOption + func WithPageCursor(cursor string) ListOption + type ListOptions struct + Name string + PageCursor string + type Member struct + Email string + ID string + type Objective struct + Archived bool + CreatedAt *time.Time + Description string + ID string + Name string + Owner *Member + Status *Status + Timeframe *Timeframe + UpdatedAt *time.Time + type ObjectiveList struct + NextCursor string + Objectives []Objective + type Option func(*Config) + func WithAPIToken(token string) Option + func WithBaseURL(baseURL string) Option + func WithHTTPClient(client *http.Client) Option + func WithTimeout(timeout time.Duration) Option + type Release struct + Archived bool + CreatedAt *time.Time + ID string + Name string + Status *Status + Timeframe *Timeframe + UpdatedAt *time.Time + type ReleaseList struct + NextCursor string + Releases []Release + type SelectOption struct + Color string + ID string + Name string + type Status struct + ID string + Name string + type Timeframe struct + EndDate *time.Time + Granularity string + StartDate *time.Time