miro

package
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AccessPrivate Access = "private"
	AccessView    Access = "view"
	AccessEdit    Access = "edit"
	AccessComment Access = "comment"

	InviteAccessNoAccess  InviteAccess = "no_access"
	InviteAccessViewer    InviteAccess = "viewer"
	InviteAccessCommenter InviteAccess = "commenter"
	InviteAccessEditor    InviteAccess = "editor"
)
View Source
const (
	CollabAccessAllEditors             CollabAccess = "all_editors"
	CollabAccessBoardOwnersAndCoOwners CollabAccess = "board_owners_and_coowners"

	CopyAccessAnyone      CopyAccess = "anyone"
	CopyAccessTeamMembers CopyAccess = "team_members"
	CopyAccessTeamEditors CopyAccess = "team_editors"
	CopyAccessBoardOwner  CopyAccess = "board_owner"

	SharingAccessTeamMemberWithEditingRights SharingAccess = "team_members_with_editing_rights"
	SharingAccessOwnersAndCoOwners           SharingAccess = "owner_and_coowners"
)
View Source
const (
	BorderStyleNormal BorderStyle = "normal"
	BorderStyleDotted BorderStyle = "dotted"
	BorderStyleDashed BorderStyle = "dashed"

	StrokeStyleNormal StrokeStyle = "normal"
	StrokeStyleDotted StrokeStyle = "dotted"
	StrokeStyleDashed StrokeStyle = "dashed"

	TextAlignCenter TextAlign = "center"
	TextAlignLeft   TextAlign = "left"
	TextAlignRight  TextAlign = "right"

	TextAlignVerticalTop    TextAlignVertical = "top"
	TextAlignVerticalMiddle TextAlignVertical = "middle"
	TextAlignVerticalBottom TextAlignVertical = "bottom"

	TextOrientationHorizontal TextOrientation = "horizontal"
	TextOrientationAligned    TextOrientation = "aligned"
)
View Source
const (
	SnapToAuto   SnapTo = "auto"
	SnapToTop    SnapTo = "top"
	SnapToRight  SnapTo = "right"
	SnapToLeft   SnapTo = "left"
	SnapToBottom SnapTo = "bottom"

	ConnectorShapeCurved   ConnectorShape = "curved"
	ConnectorShapeStraight ConnectorShape = "straight"
	ConnectorShapeElbowed  ConnectorShape = "elbowed"

	StrokeCapStealth        StrokeCap = "stealth"
	StrokeCapDiamond        StrokeCap = "diamond"
	StrokeCapDiamondFilled  StrokeCap = "diamond_filled"
	StrokeCapOval           StrokeCap = "oval"
	StrokeCapOvalFilled     StrokeCap = "oval_filled"
	StrokeCapArrow          StrokeCap = "arrow"
	StrokeCapTriangle       StrokeCap = "triangle"
	StrokeCapTriangleFilled StrokeCap = "triangle_filled"
	StrokeCapErdOne         StrokeCap = "erd_one"
	StrokeCapErdMany        StrokeCap = "erd_many"
	StrokeCapErdOnlyOne     StrokeCap = "erd_only_one"
	StrokeCapErdZeroOrOne   StrokeCap = "erd_zero_or_one"
	StrokeCapErdOneOrMany   StrokeCap = "erd_one_or_many"
)
View Source
const (
	FormatCustom Format = "custom"
	TypeFreeform Type   = "freeform"
)

Variables

View Source
var IteratorDone = errors.New("no more boards")

Functions

This section is empty.

Types

type Access added in v1.0.4

type Access string

type AccessToken added in v1.0.4

type AccessToken struct {
	Type         string          `json:"type"`
	Team         BasicEntityInfo `json:"team"`
	CreatedBy    BasicEntityInfo `json:"createdBy"`
	Scopes       []string        `json:"scopes"`
	Organization BasicEntityInfo `json:"organization"`
	User         BasicEntityInfo `json:"user"`
}

type AccessTokenService added in v1.0.4

type AccessTokenService struct {
	// contains filtered or unexported fields
}

func (*AccessTokenService) Get added in v1.0.4

func (a *AccessTokenService) Get() (*AccessToken, error)

Get information about an access token, such as the token type, scopes, team, user, token creation date and time, and the user who created the token.

func (*AccessTokenService) Revoke added in v1.0.4

func (a *AccessTokenService) Revoke(accessToken string) error

Revoke Revoking an access token means that the access token will no longer work. When an access token is revoked, the refresh token is also revoked and no longer valid. This does not uninstall the application for the user.

type AppCardItem added in v1.0.5

type AppCardItem struct {
	ID   string `json:"id"`
	Data struct {
		Description string   `json:"description"`
		Fields      []Fields `json:"fields"`
		Owned       bool     `json:"owned"`
		Status      string   `json:"status"`
		Title       string   `json:"title"`
	} `json:"data"`
	Style      Style           `json:"style"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     *Parent         `json:"parent,omitempty"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type AppCardItemData added in v1.0.5

type AppCardItemData struct {
	// Fields Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.
	Fields []Fields `json:"fields"`
	//Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns disabled.
	Status Status `json:"status"`
	// Title A short text header to identify the app card.
	Title string `json:"title"`
	// Description A short text description to add context about the app card.
	Description string `json:"description"`
}

type AppCardItemSet added in v1.0.6

type AppCardItemSet struct {
	// Data Contains app card item data, such as the title, description, or fields.
	Data AppCardItemData `json:"data"`
	// Style Contains information about the style of an app card item, such as the fill color.
	Style Style `json:"style"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate, and theorigin of the x and y coordinates.
	Position PositionSet `json:"position"`
	// Geometry Contains geometrical information about the item, such as its width or height.
	Geometry Geometry `json:"geometry"`
	// Parent Contains information about the parent this item attached to. Passing null for ID will attach widget to the canvas directly.
	Parent ParentSet `json:"parent"`
}

type AppCardItemsService added in v1.0.5

type AppCardItemsService struct {
	// contains filtered or unexported fields
}

func (*AppCardItemsService) Create added in v1.0.5

func (a *AppCardItemsService) Create(boardID string, payload AppCardItemSet) (*AppCardItem, error)

Create an app card item on a board. Required scope: boards:write | Rate limiting: Level 2

func (*AppCardItemsService) Delete added in v1.0.5

func (a *AppCardItemsService) Delete(boardID, itemID string) error

Delete an app card item from a board. Required scope: boards:write | Rate limiting: Level 3

func (*AppCardItemsService) Get added in v1.0.5

func (a *AppCardItemsService) Get(boardID, itemID string) (*AppCardItem, error)

Get information for a specific app card item on a board. Required scope: boards:read | Rate limiting: Level 1

func (*AppCardItemsService) Update added in v1.0.5

func (a *AppCardItemsService) Update(boardID, itemID string, payload AppCardItemSet) (*AppCardItem, error)

Update an app card item on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type BasicEntityInfo added in v1.0.4

type BasicEntityInfo struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	Type string `json:"type,omitempty"`
}

BasicEntityInfo info type for different entities (i.e. users, teams & organizations)

type Board

type Board struct {
	ID                    string                 `json:"id"`
	Name                  string                 `json:"name"`
	Description           string                 `json:"description"`
	Team                  BasicEntityInfo        `json:"team"`
	Picture               *Picture               `json:"picture,omitempty"`
	Policy                Policy                 `json:"policy"`
	PermissionsPolicy     PermissionsPolicy      `json:"permissionsPolicy,omitempty"`
	SharingPolicy         SharingPolicy          `json:"sharingPolicy"`
	ViewLink              string                 `json:"viewLink"`
	Owner                 BasicEntityInfo        `json:"owner"`
	CurrentUserMembership *CurrentUserMembership `json:"currentUserMembership,omitempty"`
	CreatedAt             time.Time              `json:"createdAt"`
	CreatedBy             BasicEntityInfo        `json:"createdBy"`
	ModifiedAt            time.Time              `json:"modifiedAt"`
	ModifiedBy            BasicEntityInfo        `json:"modifiedBy"`
	Links                 Links                  `json:"links"`
	Type                  string                 `json:"type"`
	Project               *Project               `json:"project,omitempty"`
}

type BoardInvitationResponse added in v1.0.4

type BoardInvitationResponse struct {
	Failed []struct {
		Email  string `json:"email,omitempty"`
		Reason string `json:"reason,omitempty"`
	} `json:"failed,omitempty"`
	Successful string `json:"successful,omitempty"`
}

type BoardMember added in v1.0.4

type BoardMember struct {
	BasicEntityInfo
	Role  Role            `json:"role"`
	Links PaginationLinks `json:"links,omitempty"`
}

type BoardMemberSearchParams added in v1.0.4

type BoardMemberSearchParams struct {
	// Limit The maximum number of board members to retrieve.
	// Default: 20.
	Limit string `query:"limit,omitempty"`
	// Offset The (zero-based) offset of the first item in the collection to return.
	// Default: 0.
	Offset string `query:"offset,omitempty"`
}

type BoardMembersService

type BoardMembersService struct {
	// contains filtered or unexported fields
}

func (*BoardMembersService) Delete added in v1.0.4

func (b *BoardMembersService) Delete(boardID, itemID string) error

Delete Removes a board member from a board. Required scope: boards:write | Rate limiting: Level 2

func (*BoardMembersService) Get added in v1.0.4

func (b *BoardMembersService) Get(boardID, itemID string) (*BoardMember, error)

Get information for a board member. Required scope: boards:read | Rate limiting: Level 1

func (*BoardMembersService) GetAll added in v1.0.4

func (b *BoardMembersService) GetAll(boardID string, queryParams ...BoardMemberSearchParams) (*ListBoardMembers, error)

GetAll retrieves a pageable list of members for a board. Required scope: boards:read | Rate limiting: Level 1 Search query params: BoardMemberSearchParams{}

func (*BoardMembersService) ShareBoard added in v1.0.4

func (b *BoardMembersService) ShareBoard(boardID string, payload ShareBoardInvitation) (*BoardInvitationResponse, error)

ShareBoard shares the board and invites new members to collaborate on a board by sending an invitation email. Depending on the board's Sharing policy, there might be various scenarios where membership in the team is required in order to share the board with a user. Required scope: boards:write | Rate limiting: Level 3

func (*BoardMembersService) Update added in v1.0.4

func (b *BoardMembersService) Update(boardID, itemID string, role Role) (*BoardMember, error)

Update the role of a board member. Required scope: boards:write | Rate limiting: Level 2

type BoardSearchParams added in v1.0.2

type BoardSearchParams struct {
	// TeamID The team ID for which you want to retrieve the list of boards. If this parameter is sent in the request,
	// the query and owner parameters are ignored.
	TeamID string `query:"team_id,omitempty"`
	// ProjectID The project ID for which you want to retrieve the list of boards. If this parameter is sent in the request,
	// the query and owner parameters are ignored.
	ProjectID string `query:"project_id,omitempty"`
	// Query retrieves a list of boards that contain the query string provided in the board content or board name.
	// For example, if you want to retrieve a list of boards that contain the word beta within the board itself (board content),
	// add beta as the query parameter value. You can use the query parameter with the owner parameter to narrow down the board search results.
	Query string `query:"query,omitempty"`
	// Owner retrieves a list of boards that belong to a specific owner ID. You must pass the owner ID (for example,
	// 3074457353169356300), not the owner name. You can use the 'owner' parameter with the query parameter to narrow
	// down the board search results. Note that if you pass the team_id in the same request, the owner parameter is ignored.
	Owner string `query:"owner,omitempty"`
	// Limit the maximum number of boards to retrieve.
	// Default: 20
	Limit string `query:"limit,omitempty"`
	// Offset the (zero-based) offset of the first item in the collection to return.
	// Default: 20. Minimum: 1. Maximum: 50.
	Offset string `query:"offset,omitempty"`
	// Sort The order in which you want to view the result set.
	// Options last_created and alphabetically are applicable only when you search for boards by team.
	Sort Sort `query:"sort,omitempty"`
}

type BoardsService

type BoardsService struct {
	// contains filtered or unexported fields
}

func (*BoardsService) Copy

func (b *BoardsService) Copy(payload SetBoard, copyFrom string) (*Board, error)

Copy Creates a copy of an existing board. You can also update the name, description, sharing policy, and permissions policy for the new board in the request body. Required scope: boards:write | Rate limiting: Level 4

func (*BoardsService) Create

func (b *BoardsService) Create(payload SetBoard) (*Board, error)

Create a board with the specified name and sharing policies. Required scope: boards:write | Rate limiting: Level 3

func (*BoardsService) Delete added in v1.0.3

func (b *BoardsService) Delete(boardID string) error

Delete a board. Required scope: boards:write | Rate limiting: Level 3

func (*BoardsService) Get

func (b *BoardsService) Get(boardID string) (*Board, error)

Get information about a board. Required scope: boards:read | Rate limiting: Level 1

func (*BoardsService) GetAll

func (b *BoardsService) GetAll(queryParams ...BoardSearchParams) (*ListBoards, error)

GetAll boards that match the search criteria provided in the request. Required scope: boards:read | Rate limiting: Level 1 Search query params: BoardSearchParams{}

func (*BoardsService) Update added in v1.0.2

func (b *BoardsService) Update(boardID string, payload SetBoard) (*Board, error)

Update a specific board. Required scope: boards:write | Rate limiting: Level 2

type BorderStyle added in v1.0.6

type BorderStyle string

type Caption added in v1.0.6

type Caption struct {
	// Content The text you want to display on the connector. Supports inline HTML tags. (Required)
	Content string `json:"content"`
	// Position The relative position of the text on the connector, in percentage, minimum 0%, maximum 100%. With 50% value,
	// the text will be placed in the middle of the connector line. Default: 50%
	Position string `json:"position"`
	// TextAlignVertical The vertical position of the text on the connector. Default: middle
	TextAlignVertical TextAlignVertical `json:"textAlignVertical"`
}

type CardItem added in v1.0.5

type CardItem struct {
	ID         string          `json:"id"`
	Data       CardItemData    `json:"data"`
	Style      CardItemStyle   `json:"style"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     *Parent         `json:"parent,omitempty"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type CardItemData added in v1.0.5

type CardItemData struct {
	Title       string    `json:"title"`
	AssigneeId  string    `json:"assigneeId"`
	Description string    `json:"description"`
	DueDate     time.Time `json:"dueDate"`
}

type CardItemStyle added in v1.0.5

type CardItemStyle struct {
	CardTheme string `json:"cardTheme"`
}

type CardItemsService added in v1.0.5

type CardItemsService struct {
	// contains filtered or unexported fields
}

func (*CardItemsService) Create added in v1.0.5

func (c *CardItemsService) Create(boardID string, payload SetCardItem) (*CardItem, error)

Create a card item on a board Required scope: boards:write | Rate limiting: Level 2

func (*CardItemsService) Delete added in v1.0.5

func (c *CardItemsService) Delete(boardID, itemID string) error

Delete a card item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*CardItemsService) Get added in v1.0.5

func (c *CardItemsService) Get(boardID, itemID string) (*CardItem, error)

Get information for a specific card item on a board Required scope: boards:read | Rate limiting: Level 1

func (*CardItemsService) Update added in v1.0.5

func (c *CardItemsService) Update(boardID, itemID string, payload SetCardItem) (*CardItem, error)

Update a card item on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type Client

type Client struct {
	BaseURL string

	// HTTPClient a fine-tuned HTTP client, but you can inject your own if, for example, you wanted to lower the timeouts
	HTTPClient *http.Client

	AccessToken   *AccessTokenService
	Boards        *BoardsService
	BoardMembers  *BoardMembersService
	Items         *ItemsService
	AppCardItems  *AppCardItemsService
	CardItems     *CardItemsService
	ShapeItems    *ShapeItemsService
	Connectors    *ConnectorsService
	DocumentItems *DocumentsService
	EmbedItems    *EmbedItemsService
	Frames        *FramesService
	Images        *ImagesService
	StickyNotes   *StickyNotesService
	TextItems     *TextItemsService
	Tags          *TagsService
	OEmbed        *OEmbedServices
	// contains filtered or unexported fields
}

func NewClient

func NewClient(token string) *Client

func (*Client) Delete added in v1.0.3

func (c *Client) Delete(ctx context.Context, url string, queryParams ...Parameter) error

Delete Native DELETE function

func (*Client) Get

func (c *Client) Get(ctx context.Context, url string, response interface{}, queryParams ...Parameter) error

Get Native GET function

func (*Client) Patch added in v1.0.2

func (c *Client) Patch(ctx context.Context, url string, payload, response interface{}) error

Patch Native PATCH function

func (*Client) PatchMultipart added in v1.0.6

func (c *Client) PatchMultipart(ctx context.Context, url string, parts MultiParts, response interface{}) error

func (*Client) Post

func (c *Client) Post(ctx context.Context, url string, payload, response interface{}) error

Post Native POST function

func (*Client) PostMultipart added in v1.0.6

func (c *Client) PostMultipart(ctx context.Context, url string, parts MultiParts, response interface{}) error

func (*Client) Put

func (c *Client) Put(ctx context.Context, url string, payload, response interface{}, queryParams ...Parameter) error

Put Native PUT function

type CollabAccess added in v1.0.4

type CollabAccess string

type Connector added in v1.0.6

type Connector struct {
	Captions    []Caption       `json:"captions"`
	CreatedAt   time.Time       `json:"createdAt"`
	CreatedBy   BasicEntityInfo `json:"createdBy"`
	EndItem     ConnectorItem   `json:"endItem"`
	ID          string          `json:"id"`
	IsSupported bool            `json:"isSupported"`
	Links       Links           `json:"links"`
	ModifiedAt  time.Time       `json:"modifiedAt"`
	ModifiedBy  BasicEntityInfo `json:"modifiedBy"`
	Shape       ConnectorShape  `json:"shape"`
	StartItem   ConnectorItem   `json:"startItem"`
	Style       ConnectorStyle  `json:"style"`
	Type        string          `json:"type"`
}

type ConnectorItem added in v1.0.6

type ConnectorItem struct {
	ID       string            `json:"id"`
	Links    Links             `json:"links"`
	Position ConnectorPosition `json:"position"`
}

type ConnectorPosition added in v1.0.6

type ConnectorPosition struct {
	X string `json:"x"`
	Y string `json:"y"`
}

type ConnectorSearchParams added in v1.0.6

type ConnectorSearchParams struct {
	// Limit The maximum number of results to return per call. If the number of connectors in the response is greater
	// than the limit specified, the response returns the cursor parameter with a value.
	// Default: 10
	Limit string `query:"limit,omitempty"`
	// Cursor A cursor-paginated method returns a portion of the total set of results based on the limit specified and a
	// cursor that points to the next portion of the results. To retrieve the next portion of the collection, set the
	// cursor parameter equal to the cursor value you received in the response of the previous request.
	Cursor string `query:"cursor,omitempty"`
}

type ConnectorShape added in v1.0.6

type ConnectorShape string

type ConnectorStyle added in v1.0.6

type ConnectorStyle struct {
	// Color Hex value representing the color for the captions on the connector. Default: #1a1a1a
	Color string `json:"color"`
	// EndStrokeCap The decoration cap of the connector end, like an arrow or circle. Default: stealth.
	EndStrokeCap StrokeCap `json:"endStrokeCap"`
	// FontSize Defines the font size, in dp, for the captions on the connector. Default: 14
	FontSize string `json:"fontSize"`
	// StartStrokeCap The decoration cap of the connector end, like an arrow or circle. Default: none.
	StartStrokeCap StrokeCap `json:"startStrokeCap"`
	// strokeColor Hex value of the color of the connector line. Default: #000000.
	StrokeColor string `json:"strokeColor"`
	// strokeStyle The stroke pattern of the connector line. Default: normal.
	StrokeStyle StrokeStyle `json:"strokeStyle"`
	// strokeWidth The thickness of the connector line, in dp. Default: 1.0.
	StrokeWidth string `json:"strokeWidth"`
	// textOrientation The captions orientation relatively to the connector line curvature. Default: aligned.
	TextOrientation TextOrientation `json:"textOrientation"`
}

type ConnectorsService added in v1.0.6

type ConnectorsService struct {
	// contains filtered or unexported fields
}

func (*ConnectorsService) Create added in v1.0.6

func (c *ConnectorsService) Create(boardID string, payload SetConnector) (*Connector, error)

Create a connector on a board. Required scope: boards:write | Rate limiting: Level 2

func (*ConnectorsService) Delete added in v1.0.6

func (c *ConnectorsService) Delete(boardID, itemID string) error

Delete the specified connector from the board. Required scope: boards:write | Rate limiting: Level 3

func (*ConnectorsService) Get added in v1.0.6

func (c *ConnectorsService) Get(boardID, itemID string) (*Connector, error)

Get information for a specific connector on a board. Required scope: boards:read | Rate limiting: Level 1

func (*ConnectorsService) GetAll added in v1.0.6

func (c *ConnectorsService) GetAll(boardID string, queryParams ...ConnectorSearchParams) (*ListConnectors, error)

GetAll connectors for a specific board.

This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the cursor parameter equal to the cursor value you received in the response of the previous request. For example, if you set the limit query parameter to 10 and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is foo. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to foo. Required scope: boards:read | Rate limiting: Level 2 Search query params: ConnectorsSearchParams{}

func (*ConnectorsService) Update added in v1.0.6

func (c *ConnectorsService) Update(boardID, itemID string, payload SetConnector) (*Connector, error)

Update a connector on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type Context added in v1.0.6

type Context struct {
	Fields []Field `json:"fields"`
}

type CopyAccess added in v1.0.4

type CopyAccess string

type CurrentUserMembership

type CurrentUserMembership struct {
	BasicEntityInfo
	Role string `json:"role"`
}

type DocumentItem added in v1.0.6

type DocumentItem struct {
	ID         string           `json:"id"`
	Data       DocumentItemData `json:"data"`
	Position   Position         `json:"position"`
	Geometry   Geometry         `json:"geometry"`
	CreatedAt  time.Time        `json:"createdAt"`
	CreatedBy  BasicEntityInfo  `json:"createdBy"`
	ModifiedAt time.Time        `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo  `json:"modifiedBy"`
	Parent     *Parent          `json:"parent,omitempty"`
	Links      Links            `json:"links"`
	Type       string           `json:"type"`
}

type DocumentItemData added in v1.0.6

type DocumentItemData struct {
	// DocumentURL A short text header to identify the document.
	DocumentURL string `json:"documentUrl"`
	// Title URL where the document is hosted. (required)
	Title string `json:"title,omitempty"`
}

type DocumentItemSet added in v1.0.6

type DocumentItemSet struct {
	// Data Contains information about the document URL. (required)
	Data ItemDataSet `json:"data"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate, and the origin of the x and y coordinates.
	Position PositionSet `json:"position"`
	// Geometry Contains geometrical information about the item, such as its width or height.
	Geometry GeometrySet `json:"geometry"`
	// Parent Contains information about the parent this item attached to. Passing null for ID will attach widget to the canvas directly.
	Parent ParentSet `json:"parent"`
}

type DocumentsService added in v1.0.6

type DocumentsService struct {
	// contains filtered or unexported fields
}

func (*DocumentsService) Create added in v1.0.6

func (c *DocumentsService) Create(boardID string, payload DocumentItemSet) (*DocumentItem, error)

Create a document item on a board by specifying the URL where the document is hosted. Required scope: boards:write | Rate limiting: Level 2

func (*DocumentsService) Delete added in v1.0.6

func (c *DocumentsService) Delete(boardID, itemID string) error

Delete a document item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*DocumentsService) Get added in v1.0.6

func (c *DocumentsService) Get(boardID, itemID string) (*DocumentItem, error)

Get information for a specific document item on a board. Required scope: boards:read | Rate limiting: Level 1

func (*DocumentsService) Update added in v1.0.6

func (c *DocumentsService) Update(boardID, itemID string, payload DocumentItemSet) (*DocumentItem, error)

Update a document item on a board. Required scope: boards:write | Rate limiting: Level 2

func (*DocumentsService) UpdateFromFile added in v1.0.6

func (c *DocumentsService) UpdateFromFile(boardID, itemID, filePath string, payload UploadFileItem) (*DocumentItem, error)

UpdateFromFile update document item using a file from a device. Required scope: boards:write | Rate limiting: Level 2

func (*DocumentsService) Upload added in v1.0.6

func (c *DocumentsService) Upload(boardID, filePath string, payload UploadFileItem) (*DocumentItem, error)

Upload a document item using a file from a device. The maximum file size supported is 28.6 MB. Required scope: boards:write | Rate limiting: Level 2

type EmbedItem added in v1.0.6

type EmbedItem struct {
	ID         string          `json:"id"`
	Data       EmbedItemData   `json:"data"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     Parent          `json:"parent"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type EmbedItemData added in v1.0.6

type EmbedItemData struct {
	ContentType  string `json:"contentType"`
	Description  string `json:"description"`
	Html         string `json:"html"`
	Mode         string `json:"mode"`
	PreviewUrl   string `json:"previewUrl"`
	ProviderName string `json:"providerName"`
	ProviderUrl  string `json:"providerUrl"`
	Title        string `json:"title"`
	Url          string `json:"url"`
}

type EmbedItemsService added in v1.0.6

type EmbedItemsService struct {
	// contains filtered or unexported fields
}

func (*EmbedItemsService) Create added in v1.0.6

func (c *EmbedItemsService) Create(boardID string, payload SetEmbedItem) (*EmbedItem, error)

Create an embed item on a board Required scope: boards:write | Rate limiting: Level 2

func (*EmbedItemsService) Delete added in v1.0.6

func (c *EmbedItemsService) Delete(boardID, itemID string) error

Delete an embed item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*EmbedItemsService) Get added in v1.0.6

func (c *EmbedItemsService) Get(boardID, itemID string) (*EmbedItem, error)

Get information for a specific embed item on a board Required scope: boards:read | Rate limiting: Level 1

func (*EmbedItemsService) Update added in v1.0.6

func (c *EmbedItemsService) Update(boardID, itemID string, payload SetEmbedItem) (*EmbedItem, error)

Update an embed item on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type Field added in v1.0.6

type Field struct {
	Field   string `json:"field"`
	Message string `json:"message"`
}

type Fields added in v1.0.5

type Fields struct {
	// IconShape The shape of the icon on the preview field.
	IconShape string `json:"iconShape"`
	// FillColor Hex value representing the color that fills the background area of the preview field, when it's displayed on the app card.
	FillColor string `json:"fillColor"`
	// IconURL A valid URL pointing to an image available online. The transport protocol must be HTTPS. Possible image file formats: JPG/JPEG, PNG, SVG.
	IconUrl string `json:"iconUrl"`
	// TextColor Hex value representing the color of the text string assigned to value.
	TextColor string `json:"textColor"`
	// Tooltip A short text displayed in a tooltip when clicking or hovering over the preview field.
	Tooltip string `json:"tooltip"`
	// Value The actual data value of the custom field. It can be any type of information that you want to convey.
	Value string `json:"value"`
}

type Format added in v1.0.6

type Format string

type FrameItem added in v1.0.6

type FrameItem struct {
	ID         string          `json:"id"`
	Data       FrameItemData   `json:"data"`
	Style      Style           `json:"style"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
	Parent     *Parent         `json:"parent,omitempty"`
}

type FrameItemData added in v1.0.6

type FrameItemData struct {
	// Format Only custom frames are supported at the moment. (required)
	Format Format `json:"format"`
	// Title of the frame. This title appears at the top of the frame.
	Title string `json:"title"`
	// Only free form frames are supported at the moment. (required)
	Type        Type `json:"type"`
	ShowContent bool `json:"showContent,omitempty"`
}

type FramesService added in v1.0.6

type FramesService struct {
	// contains filtered or unexported fields
}

func (*FramesService) Create added in v1.0.6

func (f *FramesService) Create(boardID string, payload SetFrameItem) (*FrameItem, error)

Create a frame on a board. Required scope: boards:write | Rate limiting: Level 2

func (*FramesService) Delete added in v1.0.6

func (f *FramesService) Delete(boardID, itemID string) error

Delete the specified frame from the board. Required scope: boards:write | Rate limiting: Level 3

func (*FramesService) Get added in v1.0.6

func (f *FramesService) Get(boardID, itemID string) (*FrameItem, error)

Get information for a specific frame on a board. Required scope: boards:read | Rate limiting: Level 1

func (*FramesService) GetItems added in v1.0.6

func (f *FramesService) GetItems(boardID, frameID string, queryParams ...ItemSearchParams) (*ListItems, error)

GetItems Retrieves a list of items within a specific frame. A frame is a parent item and all items within a frame are child items. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the cursor parameter equal to the cursor value you received in the response of the previous request. For example, if you set the limit query parameter to 10 and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is foo. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to foo. Required scope: boards:read | Rate limiting: Level 2 Search query params: ItemSearchParams{}

func (*FramesService) Update added in v1.0.6

func (f *FramesService) Update(boardID, itemID string, payload SetFrameItem) (*FrameItem, error)

Update a frame on a board based on the data, style, or geometry properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type Geometry added in v1.0.5

type Geometry struct {
	Height   float64 `json:"height,omitempty"`
	Rotation float64 `json:"rotation,omitempty"`
	Width    float64 `json:"width,omitempty"`
}

type GeometrySet added in v1.0.6

type GeometrySet struct {
	Height float64 `json:"height,omitempty"`
	Width  float64 `json:"width,omitempty"`
}

type ImageItem added in v1.0.6

type ImageItem struct {
	ID         string          `json:"id"`
	Data       ImageItemData   `json:"data"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     *Parent         `json:"parent,omitempty"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type ImageItemData added in v1.0.6

type ImageItemData struct {
	// ImageURL URL of the image.
	ImageURL string `json:"imageUrl,omitempty"`
	// Title A short text header to identify the image.
	Title string `json:"title,omitempty"`
}

type ImageItemSet added in v1.0.6

type ImageItemSet struct {
	// Data Contains information about the document URL. (required)
	Data ItemDataSet `json:"data"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate, and the origin of the x and y coordinates.
	Position PositionSet `json:"position"`
	// Geometry Contains geometrical information about the item, such as its width or height.
	Geometry GeometrySet `json:"geometry"`
	// Parent Contains information about the parent this item attached to. Passing null for ID will attach widget to the canvas directly.
	Parent ParentSet `json:"parent"`
}

type ImagesService added in v1.0.6

type ImagesService struct {
	// contains filtered or unexported fields
}

func (*ImagesService) Create added in v1.0.6

func (c *ImagesService) Create(boardID string, payload ImageItemSet) (*ImageItem, error)

Create an image item on a board by specifying the URL where the image is hosted. Required scope: boards:write | Rate limiting: Level 2

func (*ImagesService) Delete added in v1.0.6

func (c *ImagesService) Delete(boardID, itemID string) error

Delete an image item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*ImagesService) Get added in v1.0.6

func (c *ImagesService) Get(boardID, itemID string) (*ImageItem, error)

Get information for a specific image item on a board. Required scope: boards:read | Rate limiting: Level 1

func (*ImagesService) Update added in v1.0.6

func (c *ImagesService) Update(boardID, itemID string, payload ImageItemSet) (*ImageItem, error)

Update an image item on a board. Required scope: boards:write | Rate limiting: Level 2

func (*ImagesService) UpdateFromFile added in v1.0.6

func (c *ImagesService) UpdateFromFile(boardID, itemID, filePath string, payload UploadFileItem) (*ImageItem, error)

UpdateFromFile update image item using a file from a device. Required scope: boards:write | Rate limiting: Level 2

func (*ImagesService) Upload added in v1.0.6

func (c *ImagesService) Upload(boardID, filePath string, payload UploadFileItem) (*ImageItem, error)

Upload an image item using a file from a device. The maximum file size supported is 28.6 MB. Required scope: boards:write | Rate limiting: Level 2

type InviteAccess added in v1.0.4

type InviteAccess string

type Item added in v1.0.5

type Item struct {
	CreatedAt  time.Time        `json:"createdAt"`
	CreatedBy  BasicEntityInfo  `json:"createdBy"`
	Data       ItemData         `json:"data"`
	Geometry   Geometry         `json:"geometry"`
	ID         string           `json:"id"`
	Links      Links            `json:"links"`
	ModifiedAt time.Time        `json:"modifiedAt"`
	ModifiedBy *BasicEntityInfo `json:"modifiedBy"`
	Parent     *Parent          `json:"parent,omitempty"`
	Position   Position         `json:"position"`
	Style      Style            `json:"style"`
	Type       string           `json:"type"`
}

type ItemData added in v1.0.5

type ItemData struct {
	Format      string `json:"format,omitempty"`
	ShowContent bool   `json:"showContent,omitempty"`
	Title       string `json:"title,omitempty"`
	Type        string `json:"type,omitempty"`
	Content     string `json:"content,omitempty"`
	Shape       string `json:"shape,omitempty"`
}

type ItemDataSet added in v1.0.6

type ItemDataSet struct {
	// URL of the item.
	URL string `json:"url"`
	// Title A short text header to identify the item.
	Title string `json:"title,omitempty"`
}

type ItemSearchParams added in v1.0.5

type ItemSearchParams struct {
	// Limit The maximum number of results to return per call. If the number of items in the response is greater than
	// the limit specified, the response returns the cursor parameter with a value.
	// Default: 20.
	Limit string `query:"limit,omitempty"`
	// Type If you want to get a list of items of a specific type, specify an item type. For example,
	// if you want to retrieve the list of card items, set type to cards. Possible values: app_card, card, document,
	// embed, frame, image, shape, sticky_note, text
	Type ItemType `query:"type,omitempty"`
	// Cursor A cursor-paginated method returns a portion of the total set of results based on the limit specified and a
	// cursor that points to the next portion of the results. To retrieve the next portion of the collection, set the cursor
	// parameter equal to the cursor value you received in the response of the previous request.
	Cursor string `query:"cursor,omitempty"`
}

type ItemType added in v1.0.5

type ItemType string
const (
	ItemTypeAppCard    ItemType = "app_card"
	ItemTypeCard       ItemType = "card"
	ItemTypeDocument   ItemType = "document"
	ItemTypeEmbed      ItemType = "embed"
	ItemTypeFrame      ItemType = "frame"
	ItemTypeImage      ItemType = "image"
	ItemTypeShape      ItemType = "shape"
	ItemTypeStickyNote ItemType = "sticky_note"
	ItemTypeText       ItemType = "text"
)

type ItemUpdate added in v1.0.5

type ItemUpdate struct {
	// Parent Contains information about the parent this item attached to.
	// Passing null for ID will attach widget to the canvas directly.
	Parent ParentSet `json:"parent"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate,
	// and the origin of the x and y coordinates.
	Position PositionSet `json:"position"`
}

type ItemsService added in v1.0.5

type ItemsService struct {
	// contains filtered or unexported fields
}

func (*ItemsService) Delete added in v1.0.5

func (i *ItemsService) Delete(boardID, itemID string) error

Delete an item from a board. Required scope: boards:write | Rate limiting: Level 3

func (*ItemsService) Get added in v1.0.5

func (i *ItemsService) Get(boardID, itemID string) (*Item, error)

Get information for a specific item on a board. Required scope: boards:read | Rate limiting: Level 1

func (*ItemsService) GetAll added in v1.0.5

func (i *ItemsService) GetAll(boardID string, queryParams ...ItemSearchParams) (*ListItems, error)

GetAll items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values.

This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the cursor parameter equal to the cursor value you received in the response of the previous request. For example, if you set the limit query parameter to 10 and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is foo. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to foo. Required scope: boards:read | Rate limiting: Level 2

func (*ItemsService) Update added in v1.0.5

func (i *ItemsService) Update(boardID, itemID string, payload ItemUpdate) (*Item, error)

Update item position or parent Required scope: boards:write | Rate limiting: Level 2

type Links struct {
	Related string `json:"related,omitempty"`
	Self    string `json:"self,omitempty"`
}

type ListBoardMembers added in v1.0.5

type ListBoardMembers struct {
	Data   []*BoardMember   `json:"data"`
	Total  int              `json:"total"`
	Size   int              `json:"size"`
	Offset int              `json:"offset"`
	Limit  int              `json:"limit"`
	Links  *PaginationLinks `json:"links"`
	Type   string           `json:"type"`
}

type ListBoardTags added in v1.0.6

type ListBoardTags struct {
	Data   []Tag           `json:"data"`
	Total  int             `json:"total"`
	Size   int             `json:"size"`
	Offset int             `json:"offset"`
	Limit  int             `json:"limit"`
	Links  PaginationLinks `json:"links"`
	Type   string          `json:"type"`
}

type ListBoards

type ListBoards struct {
	Data   []*Board         `json:"data"`
	Total  int              `json:"total"`
	Size   int              `json:"size"`
	Offset int              `json:"offset"`
	Limit  int              `json:"limit"`
	Links  *PaginationLinks `json:"links"`
	Type   string           `json:"type"`
	// contains filtered or unexported fields
}

func (*ListBoards) GetNext added in v1.0.6

func (l *ListBoards) GetNext() (*ListBoards, error)

GetNext iterator to get and return a pointer to the next set of search results, starting with the first set returned by the GetAll method

type ListConnectors added in v1.0.6

type ListConnectors struct {
	Cursor string          `json:"cursor"`
	Data   []Connector     `json:"data"`
	Limit  int             `json:"limit"`
	Links  PaginationLinks `json:"links"`
	Size   int             `json:"size"`
	Total  int             `json:"total"`
}

type ListItems added in v1.0.5

type ListItems struct {
	Data   []Item          `json:"data"`
	Total  int             `json:"total"`
	Size   int             `json:"size"`
	Cursor string          `json:"cursor,omitempty"`
	Limit  int             `json:"limit"`
	Links  PaginationLinks `json:"links"`
	Type   string          `json:"type"`
}

type ListTags added in v1.0.6

type ListTags struct {
	Tags []Tag `json:"tags"`
}

type Mode added in v1.0.6

type Mode string
const (
	ModeInline Mode = "inline"
	ModeModal  Mode = "modal"
)

type MultiPart added in v1.0.6

type MultiPart struct {
	Reader      io.Reader
	FileName    string
	ContentType string
}

type MultiParts added in v1.0.6

type MultiParts map[string]MultiPart

type NoteColor added in v1.0.6

type NoteColor string
const (
	NoteColorGray        NoteColor = "gray"
	NoteColorLightYellow NoteColor = "light_yellow"
	NoteColorYellow      NoteColor = "yellow"
	NoteColorOrange      NoteColor = "orange"
	NoteColorLightGreen  NoteColor = "light_green"
	NoteColorGreen       NoteColor = "green"
	NoteColorDarkGreen   NoteColor = "dark_green"
	NoteColorCyan        NoteColor = "cyan"
	NoteColorLightPink   NoteColor = "light_pink"
	NoteColorPink        NoteColor = "pink"
	NoteColorViolet      NoteColor = "violet"
	NoteColorRed         NoteColor = "red"
	NoteColorLightBlue   NoteColor = "light_blue"
	NoteColorBlue        NoteColor = "blue"
	NoteColorDarkBlue    NoteColor = "dark_blue"
	NoteColorBlack       NoteColor = "black"
)

type NoteShape added in v1.0.6

type NoteShape string
const (
	NoteShapeSquare    NoteShape = "square"
	NoteShapeRectangle NoteShape = "rectangle"
)

type OEmbed added in v1.0.6

type OEmbed struct {
	HTML            string `json:"html"`
	Title           string `json:"title"`
	Author          string `json:"author"`
	Version         string `json:"version"`
	Type            string `json:"type"`
	ThumbnailURL    string `json:"thumbnail_url"`
	ThumbnailWidth  int    `json:"thumbnail_width"`
	ThumbnailHeight int    `json:"thumbnail_height"`
	Width           int    `json:"width"`
	Height          int    `json:"height"`
	ProviderName    string `json:"provider_name"`
	ProviderURL     string `json:"provider_url"`
}

type OEmbedFormat added in v1.0.6

type OEmbedFormat string
const (
	OEmbedFormatJSON OEmbedFormat = "json"
	OEmbedFormatXML  OEmbedFormat = "xml"
)

type OEmbedParams added in v1.0.6

type OEmbedParams struct {
	// Format Specifies the return format of the response. It complies with the oEmbed standard.
	// Allowed formats: either "json", or "xml".
	Format OEmbedFormat `query:"format"`
	// Referrer The URL pointing to the source of the request.
	// Service providers such as Embedly use it to forward the initial site that triggered the oEmbed request.
	Referrer string `query:"referrer"`
	// MaxWidth The maximum width available to the embed, in pixels.
	MaxWidth int32 `query:"maxwidth"`
	// MaxHeight The maximum height available to the embed, in pixels.
	MaxHeight int32 `query:"maxheight"`
}

type OEmbedServices added in v1.0.6

type OEmbedServices struct {
	// contains filtered or unexported fields
}

func (*OEmbedServices) Get added in v1.0.6

func (o *OEmbedServices) Get(URL string, queryParams ...OEmbedParams) (*OEmbed, error)

Get information to embed a Miro board as a live embed. The URL is the resource to return as oEmbed data. Currently, it supports only URLs pointing to Miro boards. OEmbed params: OEmbedParams{}

type Origin added in v1.0.5

type Origin string
const Center Origin = "center"
type PaginationLinks struct {
	First string `json:"first,omitempty"`
	Last  string `json:"last,omitempty"`
	Next  string `json:"next,omitempty"`
	Prev  string `json:"prev,omitempty"`
	Self  string `json:"self,omitempty"`
}

type Parameter

type Parameter map[string]string

type Parent added in v1.0.5

type Parent struct {
	ID    string          `json:"id,omitempty"`
	Links PaginationLinks `json:"links,omitempty"`
}

type ParentSet added in v1.0.6

type ParentSet struct {
	ID string `json:"id"`
}

type PermissionsPolicy

type PermissionsPolicy struct {
	// CollaborationToolsStartAccess Defines who can start or stop timer, voting, video chat, screen sharing, attention management.
	// Others will only be able to join. To change the value for the collaborationToolsStartAccess parameter, contact Miro Customer Support.
	// Valid options: all_editors | board_owners_and_coowners
	CollaborationToolsStartAccess CollabAccess `json:"collaborationToolsStartAccess,omitempty"`
	// CopyAccess Defines who can copy the board, copy objects, download images, and save the board as a template or PDF.
	// Valid options: anyone | team_members | team_editors | board_owner
	CopyAccess CopyAccess `json:"copyAccess,omitempty"`
	// CopyAccessLevel ...
	CopyAccessLevel string `json:"copyAccessLevel,omitempty"`
	// SharingAccess Defines who can change access and invite users to this board. To change the value for the sharingAccess
	// parameter, contact Miro Customer Support.
	// Valid options: team_members_with_editing_rights | board_owners_and_coowners
	SharingAccess SharingAccess `json:"sharingAccess,omitempty"`
}

PermissionsPolicy Defines the permissions policies for the board.

type Picture

type Picture struct {
	ID       int64  `json:"id"`
	ImageURL string `json:"imageURL"`
	Type     string `json:"type"`
}

type Policy

type Policy struct {
	// PermissionsPolicy Defines the permissions policies for the board.
	PermissionsPolicy `json:"permissionsPolicy,omitempty"`
	// SharingPolicy Defines the public-level, organization-level, and team-level access for the board. The access level
	// that a user gets depends on the highest level of access that results from considering the public-level, team-level,
	// organization-level, and direct sharing access.
	SharingPolicy `json:"sharingPolicy,omitempty"`
}

type Position added in v1.0.5

type Position struct {
	Origin     string  `json:"origin,omitempty"`
	RelativeTo string  `json:"relativeTo"`
	X          float64 `json:"x,omitempty"`
	Y          float64 `json:"y,omitempty"`
}

type PositionSet added in v1.0.6

type PositionSet struct {
	// Origin Area of the item that is referenced by its x and y coordinates. For example, an item with a center origin will
	// have its x and y coordinates point to its center. The center point of the board has x: 0 and y: 0 coordinates.
	// Currently, only one option is supported: center
	Origin Origin `json:"origin,omitempty"`
	// X-axis coordinate of the location of the item on the board.
	// By default, all items have absolute positioning to the board, not the current viewport.
	// The center point of the board has x: 0 and y: 0 coordinates.
	X float64 `json:"x"`
	// Y-axis coordinate of the location of the item on the board.
	// By default, all items have absolute positioning to the board, not the current viewport.
	// The center point of the board has x: 0 and y: 0 coordinates.
	Y float64 `json:"y"`
}

type Project

type Project struct {
	ID   string `json:"id,omitempty"`
	Type string `json:"type,omitempty"`
}

type ResponseError

type ResponseError struct {
	// Status code of the error
	Status int `json:"status"`
	// Code of the error
	Code string `json:"code"`
	// Context details of the error
	Context Context `json:"context"`
	// Description of the error
	Message string `json:"message"`
	// Type of the error
	Type string `json:"type"`
}

type Role added in v1.0.4

type Role string
const (
	RoleViewer    Role = "viewer"
	RoleCommenter Role = "commenter"
	RoleEditor    Role = "editor"
	RoleCoOwner   Role = "coowner"
	RoleOwner     Role = "owner"
	RoleGuest     Role = "guest"
)

type RoleUpdate added in v1.0.4

type RoleUpdate struct {
	Role Role `json:"role"`
}

type SetBoard added in v1.0.6

type SetBoard struct {
	// Description of the board.
	Description string `json:"description"`
	// Name for the board.
	Name string `json:"name"`
	// Policy Defines the permissions policies and sharing policies for the board.
	Policy Policy `json:"policy"`
	// TeamID Unique identifier (ID) of the team where the board must be placed.
	TeamID string `json:"teamId"`
}

type SetCardItem added in v1.0.6

type SetCardItem struct {
	Data     CardItemData  `json:"data"`
	Style    CardItemStyle `json:"style"`
	Position PositionSet   `json:"position"`
	Geometry Geometry      `json:"geometry"`
	Parent   ParentSet     `json:"parent"`
}

type SetConnector added in v1.0.6

type SetConnector struct {
	// StartItem The end point of the connector. endItem.id must be different from startItem.id
	StartItem SetConnectorItem `json:"startItem"`
	// EndItem The end point of the connector. endItem.id must be different from startItem.id
	EndItem SetConnectorItem `json:"endItem"`
	// Captions Contains information about the style of a connector, such as the color or caption font size
	Captions []Caption `json:"captions"`
	// Style Contains information about the style of a connector, such as the color or caption font size
	Style ConnectorStyle `json:"style"`
	// Shape The path type of the connector line, defines curvature. Default: curved.
	Shape ConnectorShape `json:"shape"`
}

type SetConnectorItem added in v1.0.6

type SetConnectorItem struct {
	// Position The relative position of the point on an item where the connector is attached. Position
	// with x=0% and y=0% correspond to the top-left corner of the item, x=100% and y=100% correspond to the right-bottom corner.
	Position ConnectorPosition `json:"position"`
	// ID Unique identifier (ID) of the item to which you want to attach the connector. Note that Frames are not supported at the moment.
	ID string `json:"id"`
	// SnapTo The side of the item connector should be attached to, the connection point will be placed in the middle of that side.
	// Option auto allows to pick a connection point automatically. Only either position or snapTo parameter is allowed to be set, if neither provided
	// snapTo: auto will be used by default.
	SnapTo SnapTo `json:"snapTo"`
}

type SetEmbedItem added in v1.0.6

type SetEmbedItem struct {
	Data     SetEmbedItemData `json:"data"`
	Position PositionSet      `json:"position"`
	Geometry Geometry         `json:"geometry"`
	Parent   ParentSet        `json:"parent"`
}

type SetEmbedItemData added in v1.0.6

type SetEmbedItemData struct {
	URL        string `json:"url"`
	Mode       Mode   `json:"mode"`
	PreviewUrl string `json:"previewUrl"`
}

type SetFrameItem added in v1.0.6

type SetFrameItem struct {
	// Data Contains frame item data, such as the title, frame type, or frame format.
	Data FrameItemData `json:"data"`
	// Style Contains information about the style of a frame item, such as the fill color.
	Style Style `json:"style"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate, and the origin of the x and y coordinates.
	Position PositionSet `json:"position"`
	// Geometry Contains geometrical information about the item, such as its width or height.
	Geometry GeometrySet `json:"geometry"`
}

type SetShapeItem added in v1.0.6

type SetShapeItem struct {
	// Data Contains shape item data, such as the content or shape type of the shape.
	Data ShapeItemData `json:"data"`
	// Style Contains information about the shape style, such as the border color or opacity.
	Style Style `json:"style"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate, and the origin of the x and y coordinates.
	Position PositionSet `json:"position"`
	// Geometry Contains geometrical information about the item, such as its width or height.
	Geometry Geometry `json:"geometry"`
	// Parent Contains information about the parent this item attached to. Passing null for ID will attach widget to the canvas directly.
	Parent ParentSet `json:"parent"`
}

type Shape added in v1.0.5

type Shape string
const (
	ShapeRectangle                  Shape = "rectangle"
	ShapeRoundRectangle             Shape = "round_rectangle"
	ShapeCircle                     Shape = "circle"
	ShapeTriangle                   Shape = "triangle"
	ShapeRhombus                    Shape = "rhombus"
	ShapeParallelogram              Shape = "parallelogram"
	ShapeTrapezoid                  Shape = "trapezoid"
	ShapePentagon                   Shape = "pentagon"
	ShapeHexagon                    Shape = "hexagon"
	ShapeOctagon                    Shape = "octagon"
	ShapeWedgeRoundRectangleCallout Shape = "wedge_round_rectangle_callout"
	ShapeStar                       Shape = "star"
	ShapeFlowChartPredefinedProcess Shape = "flow_chart_predefined_process"
	ShapeCloud                      Shape = "cloud"
	ShapeCross                      Shape = "cross"
	ShapeCan                        Shape = "can"
	ShapeRightArrow                 Shape = "right_arrow"
	ShapeLeftArrow                  Shape = "left_arrow"
	ShapeLeftRightArrow             Shape = "left_right_arrow"
	ShapeLeftBrace                  Shape = "left_brace"
	ShapeRightBrace                 Shape = "right_brace"
)

type ShapeItem added in v1.0.6

type ShapeItem struct {
	ID         string          `json:"id"`
	Data       ShapeItemData   `json:"data"`
	Style      Style           `json:"style"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     *Parent         `json:"parent,omitempty"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type ShapeItemData added in v1.0.6

type ShapeItemData struct {
	// Shape Defines the geometric shape of the item when it is rendered on the board.
	Shape Shape `json:"shape"`
	// Content The text you want to display on the shape.
	Content string `json:"content"`
}

type ShapeItemsService added in v1.0.6

type ShapeItemsService struct {
	// contains filtered or unexported fields
}

func (*ShapeItemsService) Create added in v1.0.6

func (s *ShapeItemsService) Create(boardID string, payload SetShapeItem) (*ShapeItem, error)

Create a shape item on a board Required scope: boards:write | Rate limiting: Level 2

func (*ShapeItemsService) Delete added in v1.0.6

func (s *ShapeItemsService) Delete(boardID, itemID string) error

Delete a shape item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*ShapeItemsService) Get added in v1.0.6

func (s *ShapeItemsService) Get(boardID, itemID string) (*ShapeItem, error)

Get information for a specific shape item on a board Required scope: boards:read | Rate limiting: Level 1

func (*ShapeItemsService) Update added in v1.0.6

func (s *ShapeItemsService) Update(boardID, itemID string, payload SetShapeItem) (*ShapeItem, error)

Update a shape item on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type ShareBoardInvitation added in v1.0.4

type ShareBoardInvitation struct {
	// Emails Email IDs of the users you want to invite to the board. You can invite up to 20 members per call (required).
	Emails []string `json:"emails"`
	// Role of the board member.
	Role Role `json:"role,omitempty"`
	// Message The message that will be sent in the invitation email.
	Message string `json:"message,omitempty"`
}

type SharingAccess added in v1.0.4

type SharingAccess string

type SharingPolicy

type SharingPolicy struct {
	// Access Defines the public-level access to the board.
	// Valid options: private | view | edit | comment
	Access Access `json:"access,omitempty"`
	// InviteToAccountAndBoardLinkAccess Defines the user role when inviting a user via the invite to team and board link.
	// For Enterprise users, this parameter is always set to no_access regardless of the value that you assign for this parameter.
	// Valid options: viewer | commenter | editor | no_access
	InviteToAccountAndBoardLinkAccess InviteAccess `json:"inviteToAccountAndBoardLinkAccess,omitempty"`
	// OrganizationAccess Defines the organization-level access to the board. If the board is created for a team that does
	// not belong to an organization, the organizationAccess parameter is always set to the default value.
	// Warning: may result in a "One of the requested features is not supported. (4.0408)" error message if you don't have the necessary access level.
	// Valid options: private | view | edit | comment
	OrganizationAccess Access `json:"organizationAccess,omitempty"`
	// TeamAccess Defines the team-level access to the board.
	// Valid options: private | view | edit | comment
	TeamAccess Access `json:"teamAccess,omitempty"`
}

type SnapTo added in v1.0.6

type SnapTo string

type Sort added in v1.0.4

type Sort string
const (
	// SortDefault If team_id is present, last_created. Otherwise, last_opened
	SortDefault Sort = "default"
	// SortLastModified sort by the date and time when the board was last modified
	SortLastModified Sort = "last_modified"
	// SortLastOpened sort by the date and time when the board was last opened
	SortLastOpened Sort = "last_opened"
	// SortLastCreated sort by the date and time when the board was created
	SortLastCreated Sort = "last_created"
	// SortAlphabetically sort by the board name (alphabetically)
	SortAlphabetically Sort = "alphabetically"
)

type Status added in v1.0.5

type Status string
const (
	StatusConnected    Status = "connected"
	StatusDisconnected Status = "disconnected"
	StatusDisabled     Status = "disabled"
)

type StickyNote added in v1.0.5

type StickyNote struct {
	ID         string          `json:"id"`
	Data       StickyNoteData  `json:"data"`
	Style      Style           `json:"style"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     Parent          `json:"parent"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type StickyNoteData added in v1.0.6

type StickyNoteData struct {
	Content   string    `json:"content"`
	NoteShape NoteShape `json:"shape"`
}

type StickyNoteSet added in v1.0.6

type StickyNoteSet struct {
	Data     StickyNoteData  `json:"data"`
	Style    StickyNoteStyle `json:"style"`
	Position PositionSet     `json:"position"`
	Geometry GeometrySet     `json:"geometry"`
	Parent   ParentSet       `json:"parent"`
}

type StickyNoteStyle added in v1.0.6

type StickyNoteStyle struct {
	FillColor         NoteColor         `json:"fillColor"`
	TextAlign         TextAlign         `json:"textAlign"`
	TextAlignVertical TextAlignVertical `json:"textAlignVertical"`
}

type StickyNotesService added in v1.0.6

type StickyNotesService struct {
	// contains filtered or unexported fields
}

func (*StickyNotesService) Create added in v1.0.6

func (c *StickyNotesService) Create(boardID string, payload StickyNoteSet) (*StickyNote, error)

Create a sticky note item on a board Required scope: boards:write | Rate limiting: Level 2

func (*StickyNotesService) Delete added in v1.0.6

func (c *StickyNotesService) Delete(boardID, itemID string) error

Delete a sticky note item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*StickyNotesService) Get added in v1.0.6

func (c *StickyNotesService) Get(boardID, itemID string) (*StickyNote, error)

Get information for a specific sticky note item on a board Required scope: boards:read | Rate limiting: Level 1

func (*StickyNotesService) Update added in v1.0.6

func (c *StickyNotesService) Update(boardID, itemID string, payload StickyNoteSet) (*StickyNote, error)

Update a sticky note item on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type StrokeCap added in v1.0.6

type StrokeCap string

type StrokeStyle added in v1.0.6

type StrokeStyle string

type Style added in v1.0.5

type Style struct {
	BorderColor   string      `json:"borderColor,omitempty"`
	BorderOpacity string      `json:"borderOpacity,omitempty"`
	BorderStyle   BorderStyle `json:"borderStyle,omitempty"`
	BorderWidth   string      `json:"borderWidth,omitempty"`
	Color         string      `json:"color,omitempty"`
	FillColor     string      `json:"fillColor,omitempty"`
	FillOpacity   string      `json:"fillOpacity,omitempty"`
	// FontFamily Defines the font type for the text. Default: arial.
	FontFamily string `json:"fontFamily,omitempty"`
	// FontSize Defines the font size, in dp, for the text. Default: 14, minimum: 10, maximum 288.
	FontSize          string            `json:"fontSize,omitempty"`
	TextAlign         TextAlign         `json:"textAlign,omitempty"`
	TextAlignVertical TextAlignVertical `json:"textAlignVertical,omitempty"`
}

type Tag added in v1.0.6

type Tag struct {
	ID        string `json:"id"`
	Title     string `json:"title"`
	FillColor string `json:"fillColor"`
	Links     Links  `json:"links"`
	Type      string `json:"type"`
}

type TagColor added in v1.0.6

type TagColor string
const (
	TagColorRed        TagColor = "red"
	TagColorLightGreen TagColor = "light_green"
	TagColorCyan       TagColor = "cyan"
	TagColorYellow     TagColor = "yellow"
	TagColorMagenta    TagColor = "magenta"
	TagColorGreen      TagColor = "green"
	TagColorBlue       TagColor = "blue"
	TagColorGray       TagColor = "gray"
	TagColorViolet     TagColor = "violet"
	TagColorDarkGreen  TagColor = "dark_green"
	TagColorDarkBlue   TagColor = "dark_blue"
	TagColorBlack      TagColor = "black"
)

type TagSearchParams added in v1.0.6

type TagSearchParams struct {
	// Limit The maximum number of items that can be returned for a single request.
	// Default: 20. Minimum 1. Maximum 50.
	Limit string `query:"limit,omitempty"`
	// Offset The displacement of the first item in the collection to return.
	// Default: 0.
	Offset string `query:"offset,omitempty"`
}

type TagSet added in v1.0.6

type TagSet struct {
	// Title Text of the tag. Case-sensitive. Must be unique. (required)
	Title string `json:"title"`
	// FillColor Fill color for the tag.
	FillColor TagColor `json:"fillColor"`
}

type TagsService added in v1.0.6

type TagsService struct {
	// contains filtered or unexported fields
}

func (*TagsService) Attach added in v1.0.6

func (t *TagsService) Attach(boardID, itemID, tagID string) error

Attach an existing tag to the specified item. Card and sticky note items can have up to 8 tags. Required scope: boards:write | Rate limiting: Level 1

func (*TagsService) Create added in v1.0.6

func (t *TagsService) Create(boardID string, payload TagSet) (*Tag, error)

Create a tag on a board. Required scope: boards:write | Rate limiting: Level 1

func (*TagsService) Delete added in v1.0.6

func (t *TagsService) Delete(boardID, itemID string) error

Delete a specified tag from the board. The tag is also removed from all cards and sticky notes on the board. Required scope: boards:write | Rate limiting: Level 1

func (*TagsService) Detach added in v1.0.6

func (t *TagsService) Detach(boardID, itemID, tagID string) error

Detach removes the specified tag from the specified item. The tag still exists on the board. Required scope: boards:write | Rate limiting: Level 1

func (*TagsService) Get added in v1.0.6

func (t *TagsService) Get(boardID, itemID string) (*Tag, error)

Get information for a specific tag. Required scope: boards:read | Rate limiting: Level 1

func (*TagsService) GetTags added in v1.0.6

func (t *TagsService) GetTags(boardID, tagID string, queryParams ...TagSearchParams) (*ListItems, error)

GetTags retrieves all the items that have the specified tag. Required scope: boards:read | Rate limiting: Level 1 Search query params: TagSearchParams{}

func (*TagsService) GetTagsFromBoard added in v1.0.6

func (t *TagsService) GetTagsFromBoard(boardID string, queryParams ...TagSearchParams) (*ListBoardTags, error)

func (*TagsService) GetTagsFromItem added in v1.0.6

func (t *TagsService) GetTagsFromItem(boardID, itemID string) (*ListTags, error)

func (*TagsService) Update added in v1.0.6

func (t *TagsService) Update(boardID, itemID string, payload TagSet) (*Tag, error)

Update a tag based on the data properties provided in the request body. Required scope: boards:write | Rate limiting: Level 1

type TextAlign added in v1.0.6

type TextAlign string

type TextAlignVertical added in v1.0.6

type TextAlignVertical string

type TextItem added in v1.0.6

type TextItem struct {
	ID         string          `json:"id"`
	Data       TextItemData    `json:"data"`
	Style      Style           `json:"style"`
	Position   Position        `json:"position"`
	Geometry   Geometry        `json:"geometry"`
	CreatedAt  time.Time       `json:"createdAt"`
	CreatedBy  BasicEntityInfo `json:"createdBy"`
	ModifiedAt time.Time       `json:"modifiedAt"`
	ModifiedBy BasicEntityInfo `json:"modifiedBy"`
	Parent     Parent          `json:"parent"`
	Links      Links           `json:"links"`
	Type       string          `json:"type"`
}

type TextItemData added in v1.0.6

type TextItemData struct {
	Content string `json:"content"`
}

type TextItemGeometry added in v1.0.6

type TextItemGeometry struct {
	Rotation float64 `json:"rotation,omitempty"`
	Width    float64 `json:"width,omitempty"`
}

type TextItemSet added in v1.0.6

type TextItemSet struct {
	Data     TextItemData     `json:"data"`
	Style    Style            `json:"style"`
	Position PositionSet      `json:"position"`
	Geometry TextItemGeometry `json:"geometry"`
	Parent   *ParentSet       `json:"parent"`
}

type TextItemsService added in v1.0.6

type TextItemsService struct {
	// contains filtered or unexported fields
}

func (*TextItemsService) Create added in v1.0.6

func (t *TextItemsService) Create(boardID string, payload TextItemSet) (*TextItem, error)

Create a text item on a board. Required scope: boards:write | Rate limiting: Level 2

func (*TextItemsService) Delete added in v1.0.6

func (t *TextItemsService) Delete(boardID, itemID string) error

Delete a text item from the board. Required scope: boards:write | Rate limiting: Level 3

func (*TextItemsService) Get added in v1.0.6

func (t *TextItemsService) Get(boardID, itemID string) (*TextItem, error)

Get information for a specific text item on a board Required scope: boards:read | Rate limiting: Level 1

func (*TextItemsService) Update added in v1.0.6

func (t *TextItemsService) Update(boardID, itemID string, payload TextItemSet) (*TextItem, error)

Update a text item on a board based on the data and style properties provided in the request body. Required scope: boards:write | Rate limiting: Level 2

type TextOrientation added in v1.0.6

type TextOrientation string

type Type added in v1.0.6

type Type string

type UploadFileItem added in v1.0.6

type UploadFileItem struct {
	// Title URL where the document is hosted. (required)
	Title string `json:"title"`
	// Position Contains location information about the item, such as its x coordinate, y coordinate, and the origin of the x and y coordinates.
	Position PositionSet `json:"position"`
	// Geometry Contains geometrical information about the item, such as its width or height.
	Geometry GeometrySet `json:"geometry"`
	// Parent Contains information about the parent this item attached to. Passing null for ID will attach widget to the canvas directly.
	Parent ParentSet `json:"parent,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL