gotypeform

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2021 License: MIT Imports: 7 Imported by: 0

README

typeform

This package provides a Go interface for the Typeform API.

Installation

go get github.com/roopeshvs/typeform

Getting Started

The first thing is to request an API key from Typeform here. Once you have it, you can create a client to use Typeform programatically.

c := tf.TypeformClient(os.Getenv("TYPEFORM_TOKEN"))

Export the API key as an environment variable and use it to create the client.

Usage

Here are a few examples demonstrating how to create and access resources and data on Typeform.

Create a Form

package main

import (
	"fmt"
	"os"

	tf "github.com/roopeshvs/typeform"
)

func main() {
	c := tf.TypeformClient(os.Getenv("TYPEFORM_TOKEN"))
	newForm := tf.Form{
		Title: "Sample Form",
		Type:  "quiz",
	}
	form, err := c.CreateForm(newForm)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(form.Title)
}

Create an Image

func main() {
	c := tf.TypeformClient(os.Getenv("TYPEFORM_TOKEN"))
	image := tf.CreateImageRequestBody{
		FileName: "pattern.png",
		Image:    "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAACaUlEQVR42uzVMRGAAAzAwLSHf8tgAAf95QVkyVNvNRN50FWBl10V6ABa0AFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIB6ADqEAHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdAA6gBZ0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIBSAcgHYB0ANIB6AAq0AFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgHQA0gFIByAdgA6gAh2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADSAUgHIB2AdADyxy8AAP//YSoDD5pLB7MAAAAASUVORK5CYII=",
	}
	i, err := c.CreateImage(image)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(i.Src)
}

Create a Theme

func main() {
	c := tf.TypeformClient(os.Getenv("TYPEFORM_TOKEN"))
	theme := tf.Theme{
		Name: "Go Theme Go",
		Font: "Bangers",
		Background: &tf.Background{
			Brightness: -1,
			Href:       "<USE THE IMAGE SRC OUTPUT FROM THE LAST EXAMPLE HERE>",
			Layout:     "fullscreen",
		},
		Colors: &tf.Colors{
			Answer:     "#0142AC",
			Background: "#FFFFFF",
			Button:     "#0142AC",
			Question:   "#000000",
		},
	}
	t, err := c.CreateTheme(theme)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(t.Name)
}

Contribution

Feel free to create a Github Issue regarding any bugs, feature request, or request to include an API method not supported by this package. Also, you are more than welcome to submit a pull request for the same.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Actions

type Actions struct {
	Action    string    `json:"action"`
	Condition Condition `json:"condition"`
	Details   Details   `json:"details,omitempty"`
}

type Attachment

type Attachment struct {
	Href       string               `json:"href,omitempty"`
	Type       string               `json:"type,omitempty"`
	Scale      int                  `json:"scale,omitempty"`
	Properties AttachmentProperties `json:"properties,omitempty"`
}

type AttachmentProperties

type AttachmentProperties struct {
	Description string `json:"description,omitempty"`
}

type Background

type Background struct {
	Brightness float64 `json:"brightness"`
	Href       string  `json:"href"`
	Layout     string  `json:"layout"`
}

type Choices

type Choices struct {
	Label      string            `json:"label,omitempty"`
	Ref        string            `json:"ref,omitempty"`
	Attachment ChoicesAttachment `json:"attachment,omitempty"`
}

type ChoicesAttachment

type ChoicesAttachment struct {
	Href string `json:"href,omitempty"`
	Type string `json:"type,omitempty"`
}

type Colors

type Colors struct {
	Answer     string `json:"answer"`
	Background string `json:"background"`
	Button     string `json:"button"`
	Question   string `json:"question"`
}

type Condition

type Condition struct {
	Op   string `json:"op"`
	Vars []Vars `json:"vars"`
}

type CreateImageRequestBody

type CreateImageRequestBody struct {
	FileName string `json:"file_name"`
	Image    string `json:"image,omitempty"`
	Url      string `json:"url,omitempty"`
}

type CuiSettings

type CuiSettings struct {
	Avatar                    string `json:"avatar,omitempty"`
	IsTypingEmulationDisabled bool   `json:"is_typing_emulation_disabled,omitempty"`
	TypingEmulationSpeed      string `json:"typing_emulation_speed,omitempty"`
}

ToDo : Fields in Form

type CustomFormMessages

type CustomFormMessages struct {
	LabelButtonHintDefault           string `json:"label.buttonHint.default,omitempty"`
	LabelButtonHintLongtext          string `json:"label.buttonHint.longtext,omitempty"`
	LabelWarningConnection           string `json:"label.warning.connection,omitempty"`
	LabelButtonNoAnswerDefault       string `json:"label.buttonNoAnswer.default,omitempty"`
	LabelWarningCorrection           string `json:"label.warning.correction,omitempty"`
	BlockPaymentCardNameTitle        string `json:"block.payment.cardNameTitle,omitempty"`
	BlockPaymentCardNumberTitle      string `json:"block.payment.cardNumberTitle,omitempty"`
	BlockPaymentCvcDescription       string `json:"block.payment.cvcDescription,omitempty"`
	BlockPaymentCvcNumberTitle       string `json:"block.payment.cvcNumberTitle,omitempty"`
	BlockShortTextPlaceholder        string `json:"block.shortText.placeholder,omitempty"`
	LabelErrorEmailAddress           string `json:"label.error.emailAddress,omitempty"`
	LabelErrorExpiryMonthTitle       string `json:"label.error.expiryMonthTitle,omitempty"`
	LabelErrorExpiryYearTitle        string `json:"label.error.expiryYearTitle,omitempty"`
	LabelWarningFallbackAlert        string `json:"label.warning.fallbackAlert,omitempty"`
	BlockFileUploadChoose            string `json:"block.fileUpload.choose,omitempty"`
	BlockFileUploadDrag              string `json:"block.fileUpload.drag,omitempty"`
	BlockFileUploadUploadingProgress string `json:"block.fileUpload.uploadingProgress,omitempty"`
	LabelErrorSizeLimit              string `json:"label.error.sizeLimit,omitempty"`
	LabelWarningFormUnavailable      string `json:"label.warning.formUnavailable,omitempty"`
	LabelErrorIncompleteForm         string `json:"label.error.incompleteForm,omitempty"`
	LabelHintKey                     string `json:"label.hint.key,omitempty"`
	BlockLegalReject                 string `json:"block.legal.reject,omitempty"`
	BlockLegalAccept                 string `json:"block.legal.accept,omitempty"`
	LabelErrorMaxValue               string `json:"label.error.maxValue,omitempty"`
	LabelErrorMaxLength              string `json:"label.error.maxLength,omitempty"`
	LabelErrorMinValue               string `json:"label.error.minValue,omitempty"`
	LabelErrorRange                  string `json:"label.error.range,omitempty"`
	BlockMultipleChoiceHint          string `json:"block.multipleChoice.hint,omitempty"`
	LabelErrorMustEnter              string `json:"label.error.mustEnter,omitempty"`
	LabelErrorMustSelect             string `json:"label.error.mustSelect,omitempty"`
	LabelNoShortcut                  string `json:"label.no.shortcut,omitempty"`
	LabelNoDefault                   string `json:"label.no.default,omitempty"`
	BlockDropdownHint                string `json:"block.dropdown.hint,omitempty"`
	BlockMultipleChoiceOther         string `json:"block.multipleChoice.other,omitempty"`
	LabelProgressPercent             string `json:"label.progress.percent,omitempty"`
	LabelProgressProportion          string `json:"label.progress.proportion,omitempty"`
	LabelErrorRequired               string `json:"label.error.required,omitempty"`
	LabelPreview                     string `json:"label.preview,omitempty"`
	LabelButtonReview                string `json:"label.button.review,omitempty"`
	LabelErrorServer                 string `json:"label.error.server,omitempty"`
	LabelActionShare                 string `json:"label.action.share,omitempty"`
	LabelButtonSubmit                string `json:"label.button.submit,omitempty"`
	LabelWarningSuccess              string `json:"label.warning.success,omitempty"`
	LabelButtonOk                    string `json:"label.button.ok,omitempty"`
	LabelErrorMustAccept             string `json:"label.error.mustAccept,omitempty"`
	BlockLongtextHint                string `json:"block.longtext.hint,omitempty"`
	BlockDropdownPlaceholder         string `json:"block.dropdown.placeholder,omitempty"`
	BlockDropdownPlaceholderTouch    string `json:"block.dropdown.placeholderTouch,omitempty"`
	LabelErrorURL                    string `json:"label.error.url,omitempty"`
	LabelYesShortcut                 string `json:"label.yes.shortcut,omitempty"`
	LabelYesDefault                  string `json:"label.yes.default,omitempty"`
}

type Details

type Details struct {
	To     To     `json:"to"`
	Target Target `json:"target"`
	Value  Value  `json:"value"`
}

type Fields

type Fields struct {
	Attachment  Attachment       `json:"attachment,omitempty"`
	FieldType   string           `json:"field_type,omitempty"`
	ID          string           `json:"id,omitempty"`
	Layout      Layout           `json:"layout,omitempty"`
	Name        string           `json:"name,omitempty"`
	Options     Options          `json:"options,omitempty"`
	Properties  FieldsProperties `json:"properties,omitempty"`
	Ref         string           `json:"ref,omitempty"`
	Required    bool             `json:"required,omitempty"`
	Title       string           `json:"title"`
	Type        string           `json:"type"`
	Validations Validations      `json:"validations,omitempty"`
}

type FieldsProperties

type FieldsProperties struct {
	AllowMultipleSelection bool    `json:"allow_multiple_selection"`
	AllowOtherChoice       bool    `json:"allow_other_choice"`
	AlphabeticalOrder      bool    `json:"alphabetical_order"`
	ButtonText             string  `json:"button_text"`
	Choices                Choices `json:"choices"`
	Currency               string  `json:"currency"`
	DefaultCountryCode     string  `json:"default_country_code"`
	Description            string  `json:"description"`
	Fields                 *Fields `json:"fields"`
	HideMarks              bool    `json:"hide_marks"`
	Labels                 Labels  `json:"labels"`
	Price                  Price   `json:"price"`
	Randomize              bool    `json:"randomize"`
	Separator              string  `json:"separator"`
	Shape                  string  `json:"shape"`
	ShowButton             bool    `json:"show_button"`
	ShowLabels             bool    `json:"show_labels"`
	StartAtOne             bool    `json:"start_at_one"`
	Steps                  int     `json:"steps"`
	Structure              string  `json:"structure"`
	Supersized             bool    `json:"supersized"`
	VerticalAlignment      bool    `json:"vertical_alignment"`
}

type Form

type Form struct {
	CuiSettings     *CuiSettings      `json:"cui_settings,omitempty"`
	Fields          *Fields           `json:"fields,omitempty"`
	Hidden          *[]string         `json:"hidden,omitempty"`
	Logic           *[]Logic          `json:"logic,omitempty"`
	Settings        *Settings         `json:"settings,omitempty"`
	ThankyouScreens *[]ThankyouScreen `json:"thankyou_screens,omitempty"`
	Theme           *ThemeHref        `json:"theme,omitempty"`
	Title           string            `json:"title"`
	Type            string            `json:"type"`
	Variables       *Variables        `json:"variables,omitempty"`
	WelcomeScreens  *[]WelcomeScreen  `json:"welcome_screens,omitempty"`
	Workspace       *WorkspaceHref    `json:"workspace,omitempty"`
}

type FormItems

type FormItems struct {
	Links         FormLinks `json:"_links"`
	ID            string    `json:"id"`
	LastUpdatedAt string    `json:"last_updated_at"`
	Self          Self      `json:"self"`
	Theme         ThemeHref `json:"theme"`
	Title         string    `json:"title"`
}
type FormLinks struct {
	Display string `json:"display"`
}

type FormQueryParams

type FormQueryParams struct {
	Search      string `url:"search,omitempty"`
	Page        int    `url:"page,omitempty"`
	PageSize    int    `url:"page_size,omitempty"`
	WorkspaceID string `url:"workspace_id,omitempty"`
}

type Forms

type Forms struct {
	TotalItems int         `json:"total_items"`
	PageCount  int         `json:"page_count"`
	Items      []FormItems `json:"items"`
}

type Image

type Image struct {
	ID        string `json:"id"`
	Src       string `json:"src"`
	FileName  string `json:"file_name"`
	Width     int    `json:"width"`
	Height    int    `json:"height"`
	MediaType string `json:"media_type"`
	HasAlpha  bool   `json:"has_alpha"`
	AvgColor  string `json:"avg_color"`
}

type ImageHref

type ImageHref struct {
	Href string `json:"href"`
}

type Images

type Images struct {
	FileName string `json:"file_name"`
	ID       string `json:"id"`
	Src      string `json:"src"`
}

type Labels

type Labels struct {
	Center string `json:"center,omitempty"`
	Left   string `json:"left,omitempty"`
	Right  string `json:"right,omitempty"`
}

type Layout

type Layout struct {
	Attachment Attachment `json:"attachment,omitempty"`
	Placement  string     `json:"placement,omitempty"`
	Type       string     `json:"type,omitempty"`
}

type Logic

type Logic struct {
	Actions []Actions `json:"actions"`
	Ref     string    `json:"ref,omitempty"`
	Type    string    `json:"type"`
}

type Members

type Members struct {
	Email           string `json:"email"`
	Name            string `json:"name"`
	Role            string `json:"role"`
	AccountMemberID string `json:"account_member_id"`
}

type Meta

type Meta struct {
	AllowIndexing bool      `json:"allow_indexing,omitempty"`
	Description   string    `json:"description,omitempty"`
	Image         ImageHref `json:"image,omitempty"`
	Title         string    `json:"title,omitempty"`
}

type Notifications

type Notifications struct {
	Respondent Respondent        `json:"respondent,omitempty"`
	Self       NotificationsSelf `json:"self,omitempty"`
}

type NotificationsSelf

type NotificationsSelf struct {
	Enabled    bool     `json:"enabled,omitempty"`
	Message    string   `json:"message,omitempty"`
	Recipients []string `json:"recipients,omitempty"`
	ReplyTo    string   `json:"reply_to,omitempty"`
	Subject    string   `json:"subject,omitempty"`
}

type Options

type Options struct {
	Label string `json:"label,omitempty"`
}

type Price

type Price struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type Respondent

type Respondent struct {
	Enabled   bool     `json:"enabled,omitempty"`
	Message   string   `json:"message,omitempty"`
	Recipient string   `json:"recipient,omitempty"`
	ReplyTo   []string `json:"reply_to,omitempty"`
	Subject   string   `json:"subject,omitempty"`
}

type Screens

type Screens struct {
	Alignment string `json:"alignment"`
	FontSize  string `json:"font_size"`
}

type Self

type Self struct {
	Href string `json:"href"`
}

type Settings

type Settings struct {
	FacebookPixel          string        `json:"facebook_pixel,omitempty"`
	GoogleAnalytics        string        `json:"google_analytics,omitempty"`
	GoogleTagManager       string        `json:"google_tag_manager,omitempty"`
	HideNavigation         bool          `json:"hide_navigation,omitempty"`
	IsPublic               bool          `json:"is_public,omitempty"`
	Language               string        `json:"language,omitempty"`
	Meta                   Meta          `json:"meta,omitempty"`
	Notifications          Notifications `json:"notifications,omitempty"`
	ProgressBar            string        `json:"progress_bar,omitempty"`
	RedirectAfterSubmitURL string        `json:"redirect_after_submit_url,omitempty"`
	ShowProgressBar        bool          `json:"show_progress_bar,omitempty"`
	ShowTimeToComplete     bool          `json:"show_time_to_complete,omitempty"`
	ShowTypeformBranding   bool          `json:"show_typeform_branding,omitempty"`
}

type Target

type Target struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type ThankYouScreenProperties

type ThankYouScreenProperties struct {
	ButtonMode  string `json:"button_mode,omitempty"`
	ButtonText  string `json:"button_text,omitempty"`
	RedirectURL string `json:"redirect_url,omitempty"`
	ShareIcons  bool   `json:"share_icons,omitempty"`
	ShowButton  bool   `json:"show_button,omitempty"`
}

type ThankyouScreen

type ThankyouScreen struct {
	Attachment Attachment               `json:"attachment,omitempty"`
	Properties ThankYouScreenProperties `json:"properties,omitempty"`
	Ref        string                   `json:"ref,omitempty"`
	Title      string                   `json:"title"`
	Layout     Layout                   `json:"layout,omitempty"`
}

type Theme

type Theme struct {
	Background           *Background  `json:"background,omitempty"`
	Colors               *Colors      `json:"colors,omitempty"`
	Fields               *ThemeFields `json:"fields,omitempty"`
	Font                 string       `json:"font,omitempty"`
	HasTransparentButton bool         `json:"has_transparent_button"`
	ID                   string       `json:"id,omitempty"`
	Name                 string       `json:"name"`
	Screens              *Screens     `json:"screens,omitempty"`
	Visibility           string       `json:"visibility,omitempty"`
}

type ThemeFields

type ThemeFields struct {
	Alignment string `json:"alignment"`
	FontSize  string `json:"font_size"`
}

type ThemeHref

type ThemeHref struct {
	Href string `json:"href,omitempty"`
}

type ThemeQueryParams

type ThemeQueryParams struct {
	Page     int `url:"page,omitempty"`
	PageSize int `url:"page_size,omitempty"`
}

type Themes

type Themes struct {
	TotalItems int     `json:"total_items"`
	PageCount  int     `json:"page_count"`
	Items      []Theme `json:"items"`
}

type To

type To struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type Typeform

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

func TypeformClient

func TypeformClient(token string) *Typeform

func (*Typeform) CreateForm

func (t *Typeform) CreateForm(formdata Form) (*Form, error)

func (*Typeform) CreateImage

func (t *Typeform) CreateImage(img CreateImageRequestBody) (*Image, error)

func (*Typeform) CreateTheme

func (t *Typeform) CreateTheme(themedata Theme) (*Theme, error)

func (*Typeform) CreateWorkspace

func (t *Typeform) CreateWorkspace(name string) (*Workspace, error)

func (*Typeform) DeleteForm

func (t *Typeform) DeleteForm(id string) error

func (*Typeform) DeleteImage

func (t *Typeform) DeleteImage(id string) error

func (*Typeform) DeleteTheme

func (t *Typeform) DeleteTheme(id string) error

func (*Typeform) DeleteWorkspace

func (t *Typeform) DeleteWorkspace(id string) error

func (*Typeform) GetAllForms

func (t *Typeform) GetAllForms(params FormQueryParams) (*Forms, error)

func (*Typeform) GetAllImages

func (t *Typeform) GetAllImages() (*[]Images, error)

func (*Typeform) GetAllThemes

func (t *Typeform) GetAllThemes(params ThemeQueryParams) (*Themes, error)

func (*Typeform) GetAllWorkspaces

func (t *Typeform) GetAllWorkspaces(params WorkspaceQueryParams) (*Workspaces, error)

func (*Typeform) GetAllWorkspacesInAccount

func (t *Typeform) GetAllWorkspacesInAccount(id string, params WorkspaceQueryParams) (*Workspaces, error)

func (*Typeform) GetCustomFormMessages

func (t *Typeform) GetCustomFormMessages(id string) (*CustomFormMessages, error)

func (*Typeform) GetForm

func (t *Typeform) GetForm(id string) (*Form, error)

func (*Typeform) GetImage

func (t *Typeform) GetImage(id string) (*Image, error)

func (*Typeform) GetTheme

func (t *Typeform) GetTheme(id string) (*Theme, error)

func (*Typeform) GetUser

func (t *Typeform) GetUser() (*User, error)

func (*Typeform) GetWorkspace

func (t *Typeform) GetWorkspace(id string) (*Workspace, error)

func (*Typeform) UpdateCustomFormMessages

func (t *Typeform) UpdateCustomFormMessages(id string, messages CustomFormMessages) error

func (*Typeform) UpdateForm

func (t *Typeform) UpdateForm(id string, updates []UpdateRequestBody) error

func (*Typeform) UpdateTheme

func (t *Typeform) UpdateTheme(id string, theme Theme) error

func (*Typeform) UpdateWorkspace

func (t *Typeform) UpdateWorkspace(id string, updates []UpdateRequestBody) error

type UpdateRequestBody

type UpdateRequestBody struct {
	Op    string `json:"op"`
	Path  string `json:"path"`
	Value string `json:"value"`
}

type User

type User struct {
	Alias    string `json:"alias"`
	Email    string `json:"email"`
	Language string `json:"language"`
	UserID   string `json:"user_id"`
}

type Validations

type Validations struct {
	MaxLength    int  `json:"max_length"`
	MaxSelection int  `json:"max_selection"`
	MaxValue     int  `json:"max_value"`
	MinSelection int  `json:"min_selection"`
	MinValue     int  `json:"min_value"`
	Required     bool `json:"required"`
}

type Value

type Value struct {
	Type  string `json:"type"`
	Value int    `json:"value"`
}

type Variables

type Variables struct {
	Age   int     `json:"age,omitempty"`
	Name  string  `json:"name,omitempty"`
	Price float64 `json:"price,omitempty"`
	Score int     `json:"score,omitempty"`
}

type Vars

type Vars struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type WelcomeScreen

type WelcomeScreen struct {
	Layout     Layout                  `json:"layout,omitempty"`
	Properties WelcomeScreenProperties `json:"properties,omitempty"`
	Ref        string                  `json:"ref,omitempty"`
	Title      string                  `json:"title"`
	Attachment Attachment              `json:"attachment,omitempty"`
}

type WelcomeScreenProperties

type WelcomeScreenProperties struct {
	ButtonText  string `json:"button_text,omitempty"`
	Description string `json:"description,omitempty"`
	ShowButton  bool   `json:"show_button,omitempty"`
}

type Workspace

type Workspace struct {
	AccountID string          `json:"account_id"`
	Default   bool            `json:"default"`
	Forms     *WorkspaceForms `json:"forms,omitempty"`
	ID        string          `json:"id"`
	Members   *[]Members      `json:"members,omitempty"`
	Name      string          `json:"name"`
	Self      Self            `json:"self"`
	Shared    bool            `json:"shared"`
}

type WorkspaceForms

type WorkspaceForms struct {
	Count int    `json:"count"`
	Href  string `json:"href"`
}

type WorkspaceHref

type WorkspaceHref struct {
	Href string `json:"href,omitempty"`
}

type WorkspaceName

type WorkspaceName struct {
	Name string `json:"name"`
}

type WorkspaceQueryParams

type WorkspaceQueryParams struct {
	Search   string `url:"search,omitempty"`
	Page     int    `url:"page,omitempty"`
	PageSize int    `url:"page_size,omitempty"`
}

type Workspaces

type Workspaces struct {
	Workspaces []Workspace `json:"items"`
	PageCount  int         `json:"page_count"`
	TotalItems int         `json:"total_items"`
}

Jump to

Keyboard shortcuts

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