roamhq

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2026 License: MIT Imports: 8 Imported by: 0

README

ro.am/roamhq

Official Go SDK for the Roam API.

go get ro.am/roamhq

Requires Go 1.22+. The module has no dependencies beyond the Go standard library (the generated client may add small ones Fern needs).

package main

import (
	"context"
	"os"

	roamhq "ro.am/roamhq"
	"ro.am/roamhq/client"
	"ro.am/roamhq/option"
)

func main() {
	c := client.NewClient(option.WithToken(os.Getenv("ROAM_TOKEN")))

	_, err := c.Chat.Post(context.Background(), &roamhq.PostChatRequest{
		GroupId: roamhq.String("88bebce7-6cbb-4666-96f9-5c02d73e6661"),
		Text:    roamhq.String("Build completed successfully!"),
	})
	if err != nil {
		panic(err)
	}
}

Full usage — pagination, retries, error handling, version pinning — is in the SDK guide. The API reference documents every endpoint.

Verifying webhooks

import "ro.am/roamhq/webhooks"

event, err := webhooks.Verify(body, r.Header, os.Getenv("ROAM_WEBHOOK_SECRET"), nil)
if err != nil {
    http.Error(w, "unauthorized", http.StatusUnauthorized)
    return
}

body must be the raw request bytes. Treat any error as a 401. Pass the signing secret exactly as Roam issued it, whsec_ prefix included.

This is the one part of the SDK that is hand-written rather than generated. See webhooks/verify.go for why.

This repository is mostly generated

The client, types, and option packages are generated from the Roam OpenAPI specification by Fern. Do not edit them by hand — the next regeneration will overwrite them.

A change to the spec opens or updates a single long-lived pull request here titled "Regenerate SDK from OpenAPI spec". A human reviews the diff, picks the semantic-version bump (the git tag), and merges.

Everything listed in .fernignore is hand-maintained:

Path What it is
webhooks/ Hand-written signature verification, imported as ro.am/roamhq/webhooks.
.github/ CI.
README.md, LICENSE This file, and the license.

If you find a wrong type or a missing field, it is almost always a bug in the OpenAPI spec rather than in hand-written code — fixing it there fixes the docs site and every SDK at once. Report it via Roam Support or developer@ro.am.

Building

go build ./...
go vet ./...
go test ./webhooks/...

Do not go test ./.... Fern emits WireMock-backed tests that expect a mock server on localhost:8080; they are scaffolding, not assertions about this SDK.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Environments = struct {
	Default string
}{
	Default: "https://api.ro.am/v1",
}

Environments defines all of the API environments. These values can be used with the WithBaseURL RequestOption to override the client's default environment, if any.

View Source
var ErrorCodes internal.ErrorCodes = internal.ErrorCodes{
	400: func(apiError *core.APIError) error {
		return &BadRequestError{
			APIError: apiError,
		}
	},
	401: func(apiError *core.APIError) error {
		return &UnauthorizedError{
			APIError: apiError,
		}
	},
	405: func(apiError *core.APIError) error {
		return &MethodNotAllowedError{
			APIError: apiError,
		}
	},
	429: func(apiError *core.APIError) error {
		return &TooManyRequestsError{
			APIError: apiError,
		}
	},
	500: func(apiError *core.APIError) error {
		return &InternalServerError{
			APIError: apiError,
		}
	},
	403: func(apiError *core.APIError) error {
		return &ForbiddenError{
			APIError: apiError,
		}
	},
	413: func(apiError *core.APIError) error {
		return &ContentTooLargeError{
			APIError: apiError,
		}
	},
	404: func(apiError *core.APIError) error {
		return &NotFoundError{
			APIError: apiError,
		}
	},
	409: func(apiError *core.APIError) error {
		return &ConflictError{
			APIError: apiError,
		}
	},
	415: func(apiError *core.APIError) error {
		return &UnsupportedMediaTypeError{
			APIError: apiError,
		}
	},
}

Functions

func Bool

func Bool(b bool) *bool

Bool returns a pointer to the given bool value.

func Byte

func Byte(b byte) *byte

Byte returns a pointer to the given byte value.

func Bytes

func Bytes(b []byte) *[]byte

Bytes returns a pointer to the given []byte value.

func Complex64

func Complex64(c complex64) *complex64

Complex64 returns a pointer to the given complex64 value.

func Complex128

func Complex128(c complex128) *complex128

Complex128 returns a pointer to the given complex128 value.

func Float32

func Float32(f float32) *float32

Float32 returns a pointer to the given float32 value.

func Float64

func Float64(f float64) *float64

Float64 returns a pointer to the given float64 value.

func Int

func Int(i int) *int

Int returns a pointer to the given int value.

func Int8

func Int8(i int8) *int8

Int8 returns a pointer to the given int8 value.

func Int16

func Int16(i int16) *int16

Int16 returns a pointer to the given int16 value.

func Int32

func Int32(i int32) *int32

Int32 returns a pointer to the given int32 value.

func Int64

func Int64(i int64) *int64

Int64 returns a pointer to the given int64 value.

func MustParseDate

func MustParseDate(date string) time.Time

MustParseDate attempts to parse the given string as a date time.Time, and panics upon failure.

func MustParseDateTime

func MustParseDateTime(datetime string) time.Time

MustParseDateTime attempts to parse the given string as a datetime time.Time, and panics upon failure.

func Rune

func Rune(r rune) *rune

Rune returns a pointer to the given rune value.

func String

func String(s string) *string

String returns a pointer to the given string value.

func Time

func Time(t time.Time) *time.Time

Time returns a pointer to the given time.Time value.

func UUID

func UUID(u uuid.UUID) *uuid.UUID

UUID returns a pointer to the given uuid.UUID value.

func Uint

func Uint(u uint) *uint

Uint returns a pointer to the given uint value.

func Uint8

func Uint8(u uint8) *uint8

Uint8 returns a pointer to the given uint8 value.

func Uint16

func Uint16(u uint16) *uint16

Uint16 returns a pointer to the given uint16 value.

func Uint32

func Uint32(u uint32) *uint32

Uint32 returns a pointer to the given uint32 value.

func Uint64

func Uint64(u uint64) *uint64

Uint64 returns a pointer to the given uint64 value.

func Uintptr

func Uintptr(u uintptr) *uintptr

Uintptr returns a pointer to the given uintptr value.

Types

type ActionItem

type ActionItem struct {
	// Action item ID.
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// Action item title.
	Title string `json:"title" url:"title"`
	// Longer description of the action item.
	Description *string `json:"description,omitempty" url:"description,omitempty"`
	// Whether the action item has been marked complete. Omitted when false.
	Complete *bool `json:"complete,omitempty" url:"complete,omitempty"`
	// User ID this item was explicitly assigned to, if any.
	AssigneeID *string `json:"assigneeId,omitempty" url:"assigneeId,omitempty"`
	// AI-suggested assignee user ID, if any.
	SuggestedAssigneeID *string `json:"suggestedAssigneeId,omitempty" url:"suggestedAssigneeId,omitempty"`
	// Display name for the assignee — resolved from `assigneeId` when set, otherwise the AI-suggested name.
	SuggestedAssigneeName *string `json:"suggestedAssigneeName,omitempty" url:"suggestedAssigneeName,omitempty"`
	// Whether this item is assigned to the authenticated user. Personal access tokens only.
	AssignedToMe *bool `json:"assignedToMe,omitempty" url:"assignedToMe,omitempty"`
	// Whether this item is AI-suggested for the authenticated user. Personal access tokens only.
	SuggestedForMe *bool `json:"suggestedForMe,omitempty" url:"suggestedForMe,omitempty"`
	// contains filtered or unexported fields
}

func (*ActionItem) GetAssignedToMe

func (a *ActionItem) GetAssignedToMe() *bool

func (*ActionItem) GetAssigneeID

func (a *ActionItem) GetAssigneeID() *string

func (*ActionItem) GetComplete

func (a *ActionItem) GetComplete() *bool

func (*ActionItem) GetDescription

func (a *ActionItem) GetDescription() *string

func (*ActionItem) GetExtraProperties

func (a *ActionItem) GetExtraProperties() map[string]interface{}

func (*ActionItem) GetID

func (a *ActionItem) GetID() *string

func (*ActionItem) GetSuggestedAssigneeID

func (a *ActionItem) GetSuggestedAssigneeID() *string

func (*ActionItem) GetSuggestedAssigneeName

func (a *ActionItem) GetSuggestedAssigneeName() *string

func (*ActionItem) GetSuggestedForMe

func (a *ActionItem) GetSuggestedForMe() *bool

func (*ActionItem) GetTitle

func (a *ActionItem) GetTitle() string

func (*ActionItem) MarshalJSON

func (a *ActionItem) MarshalJSON() ([]byte, error)

func (*ActionItem) SetAssignedToMe

func (a *ActionItem) SetAssignedToMe(assignedToMe *bool)

SetAssignedToMe sets the AssignedToMe field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetAssigneeID

func (a *ActionItem) SetAssigneeID(assigneeID *string)

SetAssigneeID sets the AssigneeID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetComplete

func (a *ActionItem) SetComplete(complete *bool)

SetComplete sets the Complete field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetDescription

func (a *ActionItem) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetID

func (a *ActionItem) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetSuggestedAssigneeID

func (a *ActionItem) SetSuggestedAssigneeID(suggestedAssigneeID *string)

SetSuggestedAssigneeID sets the SuggestedAssigneeID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetSuggestedAssigneeName

func (a *ActionItem) SetSuggestedAssigneeName(suggestedAssigneeName *string)

SetSuggestedAssigneeName sets the SuggestedAssigneeName field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetSuggestedForMe

func (a *ActionItem) SetSuggestedForMe(suggestedForMe *bool)

SetSuggestedForMe sets the SuggestedForMe field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) SetTitle

func (a *ActionItem) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ActionItem) String

func (a *ActionItem) String() string

func (*ActionItem) UnmarshalJSON

func (a *ActionItem) UnmarshalJSON(data []byte) error

type AddGroupRequest

type AddGroupRequest struct {
	// Group ID
	ID string `json:"id" url:"-"`
	// List of members to add with their roles
	Members []*AddGroupRequestMembersItem `json:"members,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*AddGroupRequest) MarshalJSON

func (a *AddGroupRequest) MarshalJSON() ([]byte, error)

func (*AddGroupRequest) SetID

func (a *AddGroupRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddGroupRequest) SetMembers

func (a *AddGroupRequest) SetMembers(members []*AddGroupRequestMembersItem)

SetMembers sets the Members field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddGroupRequest) UnmarshalJSON

func (a *AddGroupRequest) UnmarshalJSON(data []byte) error

type AddGroupRequestMembersItem

type AddGroupRequestMembersItem struct {
	// User ID or email address
	UserID string `json:"userId" url:"userId"`
	// Role for this member
	Role AddGroupRequestMembersItemRole `json:"role" url:"role"`
	// contains filtered or unexported fields
}

func (*AddGroupRequestMembersItem) GetExtraProperties

func (a *AddGroupRequestMembersItem) GetExtraProperties() map[string]interface{}

func (*AddGroupRequestMembersItem) GetRole

func (*AddGroupRequestMembersItem) GetUserID

func (a *AddGroupRequestMembersItem) GetUserID() string

func (*AddGroupRequestMembersItem) MarshalJSON

func (a *AddGroupRequestMembersItem) MarshalJSON() ([]byte, error)

func (*AddGroupRequestMembersItem) SetRole

SetRole sets the Role field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddGroupRequestMembersItem) SetUserID

func (a *AddGroupRequestMembersItem) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddGroupRequestMembersItem) String

func (a *AddGroupRequestMembersItem) String() string

func (*AddGroupRequestMembersItem) UnmarshalJSON

func (a *AddGroupRequestMembersItem) UnmarshalJSON(data []byte) error

type AddGroupRequestMembersItemRole

type AddGroupRequestMembersItemRole string

Role for this member

const (
	AddGroupRequestMembersItemRoleMember AddGroupRequestMembersItemRole = "member"
	AddGroupRequestMembersItemRoleAdmin  AddGroupRequestMembersItemRole = "admin"
)

func NewAddGroupRequestMembersItemRoleFromString

func NewAddGroupRequestMembersItemRoleFromString(s string) (AddGroupRequestMembersItemRole, error)

func (AddGroupRequestMembersItemRole) Ptr

type AddReactionRequest

type AddReactionRequest struct {
	// The chat containing the message to react to.
	ChatID string `json:"chatId" url:"-"`
	// Timestamp of the message to react to (Unix microseconds).
	Timestamp int `json:"timestamp" url:"-"`
	// Timestamp of the parent thread message (Unix microseconds), if reacting to a thread reply.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// Name of the reaction to add (e.g. "thumbs_up", "heart", "100").
	Name string `json:"name" url:"-"`
	// contains filtered or unexported fields
}

func (*AddReactionRequest) MarshalJSON

func (a *AddReactionRequest) MarshalJSON() ([]byte, error)

func (*AddReactionRequest) SetChatID

func (a *AddReactionRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddReactionRequest) SetName

func (a *AddReactionRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddReactionRequest) SetThreadTimestamp

func (a *AddReactionRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddReactionRequest) SetTimestamp

func (a *AddReactionRequest) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AddReactionRequest) UnmarshalJSON

func (a *AddReactionRequest) UnmarshalJSON(data []byte) error

type Address

type Address struct {
	// The address ID.
	ID string `json:"id" url:"id"`
	// The kind of address.
	Type AddressType `json:"type" url:"type"`
	// Display name of the address.
	DisplayName *string `json:"displayName,omitempty" url:"displayName,omitempty"`
	// Display image URL of the address.
	DisplayImageURL *string `json:"displayImageUrl,omitempty" url:"displayImageUrl,omitempty"`
	// Email address. Present on `user` addresses, and only when the token has the `user:read.email` scope.
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// Present and true only when the user has no membership in the caller's account.
	IsGuest *bool `json:"isGuest,omitempty" url:"isGuest,omitempty"`
	// Classic bot persona identifier, when available. Other bot-like actors may omit it.
	BotCode *string `json:"botCode,omitempty" url:"botCode,omitempty"`
	// Integration/client ID, when available. Some bot-like actors omit it.
	IntegrationID *string `json:"integrationId,omitempty" url:"integrationId,omitempty"`
	// contains filtered or unexported fields
}

func (*Address) GetBotCode

func (a *Address) GetBotCode() *string

func (*Address) GetDisplayImageURL

func (a *Address) GetDisplayImageURL() *string

func (*Address) GetDisplayName

func (a *Address) GetDisplayName() *string

func (*Address) GetEmail

func (a *Address) GetEmail() *string

func (*Address) GetExtraProperties

func (a *Address) GetExtraProperties() map[string]interface{}

func (*Address) GetID

func (a *Address) GetID() string

func (*Address) GetIntegrationID

func (a *Address) GetIntegrationID() *string

func (*Address) GetIsGuest

func (a *Address) GetIsGuest() *bool

func (*Address) GetType

func (a *Address) GetType() AddressType

func (*Address) MarshalJSON

func (a *Address) MarshalJSON() ([]byte, error)

func (*Address) SetBotCode

func (a *Address) SetBotCode(botCode *string)

SetBotCode sets the BotCode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetDisplayImageURL

func (a *Address) SetDisplayImageURL(displayImageURL *string)

SetDisplayImageURL sets the DisplayImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetDisplayName

func (a *Address) SetDisplayName(displayName *string)

SetDisplayName sets the DisplayName field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetEmail

func (a *Address) SetEmail(email *string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetID

func (a *Address) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetIntegrationID

func (a *Address) SetIntegrationID(integrationID *string)

SetIntegrationID sets the IntegrationID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetIsGuest

func (a *Address) SetIsGuest(isGuest *bool)

SetIsGuest sets the IsGuest field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) SetType

func (a *Address) SetType(type_ AddressType)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Address) String

func (a *Address) String() string

func (*Address) UnmarshalJSON

func (a *Address) UnmarshalJSON(data []byte) error

type AddressType

type AddressType string

The kind of address.

const (
	AddressTypeUser          AddressType = "user"
	AddressTypeBot           AddressType = "bot"
	AddressTypeStandardGroup AddressType = "standardGroup"
	AddressTypeMeetingGroup  AddressType = "meetingGroup"
	AddressTypeUserGroup     AddressType = "userGroup"
	AddressTypeTeamRoam      AddressType = "teamRoam"
)

func NewAddressTypeFromString

func NewAddressTypeFromString(s string) (AddressType, error)

func (AddressType) Ptr

func (a AddressType) Ptr() *AddressType

type AppendStreamChatRequest

type AppendStreamChatRequest struct {
	// The stream ID returned by chat.startStream.
	StreamID string `json:"streamId" url:"-"`
	// Text chunk to append. Required and non-empty.
	Text string `json:"text" url:"-"`
	// If `true`, **replace** the accumulated text with `text` (and broadcast it
	// as a full snapshot) instead of appending. Useful when the client holds the
	// canonical current state — for example after rewriting prior output. The
	// message size limit is applied to the new `text` alone.
	Snapshot *bool `json:"snapshot,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*AppendStreamChatRequest) MarshalJSON

func (a *AppendStreamChatRequest) MarshalJSON() ([]byte, error)

func (*AppendStreamChatRequest) SetSnapshot

func (a *AppendStreamChatRequest) SetSnapshot(snapshot *bool)

SetSnapshot sets the Snapshot field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AppendStreamChatRequest) SetStreamID

func (a *AppendStreamChatRequest) SetStreamID(streamID string)

SetStreamID sets the StreamID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AppendStreamChatRequest) SetText

func (a *AppendStreamChatRequest) SetText(text string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AppendStreamChatRequest) UnmarshalJSON

func (a *AppendStreamChatRequest) UnmarshalJSON(data []byte) error

type AppendStreamChatResponse

type AppendStreamChatResponse struct {
	StreamID *string `json:"streamId,omitempty" url:"streamId,omitempty"`
	ChatID   *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Thread timestamp if the stream is a thread reply.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*AppendStreamChatResponse) GetChatID

func (a *AppendStreamChatResponse) GetChatID() *string

func (*AppendStreamChatResponse) GetExtraProperties

func (a *AppendStreamChatResponse) GetExtraProperties() map[string]interface{}

func (*AppendStreamChatResponse) GetStreamID

func (a *AppendStreamChatResponse) GetStreamID() *string

func (*AppendStreamChatResponse) GetThreadTimestamp

func (a *AppendStreamChatResponse) GetThreadTimestamp() *int

func (*AppendStreamChatResponse) MarshalJSON

func (a *AppendStreamChatResponse) MarshalJSON() ([]byte, error)

func (*AppendStreamChatResponse) SetChatID

func (a *AppendStreamChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AppendStreamChatResponse) SetStreamID

func (a *AppendStreamChatResponse) SetStreamID(streamID *string)

SetStreamID sets the StreamID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AppendStreamChatResponse) SetThreadTimestamp

func (a *AppendStreamChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*AppendStreamChatResponse) String

func (a *AppendStreamChatResponse) String() string

func (*AppendStreamChatResponse) UnmarshalJSON

func (a *AppendStreamChatResponse) UnmarshalJSON(data []byte) error

type ArchiveGroupRequest

type ArchiveGroupRequest struct {
	// The group ID to archive.
	ID string `json:"id" url:"-"`
	// contains filtered or unexported fields
}

func (*ArchiveGroupRequest) MarshalJSON

func (a *ArchiveGroupRequest) MarshalJSON() ([]byte, error)

func (*ArchiveGroupRequest) SetID

func (a *ArchiveGroupRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ArchiveGroupRequest) UnmarshalJSON

func (a *ArchiveGroupRequest) UnmarshalJSON(data []byte) error

type BadRequestError

type BadRequestError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*BadRequestError) MarshalJSON

func (b *BadRequestError) MarshalJSON() ([]byte, error)

func (*BadRequestError) UnmarshalJSON

func (b *BadRequestError) UnmarshalJSON(data []byte) error

func (*BadRequestError) Unwrap

func (b *BadRequestError) Unwrap() error

type CancelScheduledChatRequest

type CancelScheduledChatRequest struct {
	// The id returned by `/chat.post` when the message was scheduled.
	ScheduledMessageID string `json:"scheduledMessageId" url:"-"`
	// contains filtered or unexported fields
}

func (*CancelScheduledChatRequest) MarshalJSON

func (c *CancelScheduledChatRequest) MarshalJSON() ([]byte, error)

func (*CancelScheduledChatRequest) SetScheduledMessageID

func (c *CancelScheduledChatRequest) SetScheduledMessageID(scheduledMessageID string)

SetScheduledMessageID sets the ScheduledMessageID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CancelScheduledChatRequest) UnmarshalJSON

func (c *CancelScheduledChatRequest) UnmarshalJSON(data []byte) error

type CancelScheduledChatResponse

type CancelScheduledChatResponse struct {
	// The canceled scheduled message id.
	ScheduledMessageID *string `json:"scheduledMessageId,omitempty" url:"scheduledMessageId,omitempty"`
	// contains filtered or unexported fields
}

func (*CancelScheduledChatResponse) GetExtraProperties

func (c *CancelScheduledChatResponse) GetExtraProperties() map[string]interface{}

func (*CancelScheduledChatResponse) GetScheduledMessageID

func (c *CancelScheduledChatResponse) GetScheduledMessageID() *string

func (*CancelScheduledChatResponse) MarshalJSON

func (c *CancelScheduledChatResponse) MarshalJSON() ([]byte, error)

func (*CancelScheduledChatResponse) SetScheduledMessageID

func (c *CancelScheduledChatResponse) SetScheduledMessageID(scheduledMessageID *string)

SetScheduledMessageID sets the ScheduledMessageID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CancelScheduledChatResponse) String

func (c *CancelScheduledChatResponse) String() string

func (*CancelScheduledChatResponse) UnmarshalJSON

func (c *CancelScheduledChatResponse) UnmarshalJSON(data []byte) error

type ChatItem

type ChatItem struct {
	// UUID identifying this item
	ID string `json:"id" url:"id"`
	// Type of item:
	//
	// - **photo**: Images with inline preview and thumbnail
	//   - image/jpeg, image/png, image/gif, image/webp
	//
	// - **blob**: Any other file type (download only, no preview)
	//   - application/octet-stream
	Type ChatItemType `json:"type" url:"type"`
	// MIME type of the file (e.g., "application/octet-stream").
	// May be omitted for photo items where the type is inferred from the image format.
	Mime *string `json:"mime,omitempty" url:"mime,omitempty"`
	// Timestamp when the item was created
	Created time.Time `json:"created" url:"created"`
	// Name of the item (typically the filename).
	Name string `json:"name" url:"name"`
	// URL for the uploaded item.
	URL string `json:"url" url:"url"`
	// URL for a thumbnail of the uploaded item (photo type only).
	// This may be equal to the item's main URL if it is suitable to use as a thumbnail.
	Thumbnail *string `json:"thumbnail,omitempty" url:"thumbnail,omitempty"`
	// Size of the item in bytes
	Size *int `json:"size,omitempty" url:"size,omitempty"`
	// Width in pixels (images only)
	Width *int `json:"width,omitempty" url:"width,omitempty"`
	// Height in pixels (images only)
	Height *int `json:"height,omitempty" url:"height,omitempty"`
	// contains filtered or unexported fields
}

func (*ChatItem) GetCreated

func (c *ChatItem) GetCreated() time.Time

func (*ChatItem) GetExtraProperties

func (c *ChatItem) GetExtraProperties() map[string]interface{}

func (*ChatItem) GetHeight

func (c *ChatItem) GetHeight() *int

func (*ChatItem) GetID

func (c *ChatItem) GetID() string

func (*ChatItem) GetMime

func (c *ChatItem) GetMime() *string

func (*ChatItem) GetName

func (c *ChatItem) GetName() string

func (*ChatItem) GetSize

func (c *ChatItem) GetSize() *int

func (*ChatItem) GetThumbnail

func (c *ChatItem) GetThumbnail() *string

func (*ChatItem) GetType

func (c *ChatItem) GetType() ChatItemType

func (*ChatItem) GetURL

func (c *ChatItem) GetURL() string

func (*ChatItem) GetWidth

func (c *ChatItem) GetWidth() *int

func (*ChatItem) MarshalJSON

func (c *ChatItem) MarshalJSON() ([]byte, error)

func (*ChatItem) SetCreated

func (c *ChatItem) SetCreated(created time.Time)

SetCreated sets the Created field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetHeight

func (c *ChatItem) SetHeight(height *int)

SetHeight sets the Height field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetID

func (c *ChatItem) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetMime

func (c *ChatItem) SetMime(mime *string)

SetMime sets the Mime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetName

func (c *ChatItem) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetSize

func (c *ChatItem) SetSize(size *int)

SetSize sets the Size field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetThumbnail

func (c *ChatItem) SetThumbnail(thumbnail *string)

SetThumbnail sets the Thumbnail field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetType

func (c *ChatItem) SetType(type_ ChatItemType)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetURL

func (c *ChatItem) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) SetWidth

func (c *ChatItem) SetWidth(width *int)

SetWidth sets the Width field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatItem) String

func (c *ChatItem) String() string

func (*ChatItem) UnmarshalJSON

func (c *ChatItem) UnmarshalJSON(data []byte) error

type ChatItemType

type ChatItemType string

Type of item:

- **photo**: Images with inline preview and thumbnail

  • image/jpeg, image/png, image/gif, image/webp

- **blob**: Any other file type (download only, no preview)

  • application/octet-stream
const (
	ChatItemTypePhoto ChatItemType = "photo"
	ChatItemTypeBlob  ChatItemType = "blob"
)

func NewChatItemTypeFromString

func NewChatItemTypeFromString(s string) (ChatItemType, error)

func (ChatItemType) Ptr

func (c ChatItemType) Ptr() *ChatItemType

type ChatMessage

type ChatMessage struct {
	// Message type identifier
	Type *ChatMessageType `json:"type,omitempty" url:"type,omitempty"`
	// Principal ID of the message sender. Resolve with `user.info`.
	UserID string `json:"userId" url:"userId"`
	// Principal type of `userId`; always equals `user.info.type` for the same credentials. Use it to prevent bot loops without another lookup.
	UserType ChatMessageUserType `json:"userType" url:"userType"`
	// ID of the chat the message belongs to
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Message key as Unix microseconds
	Timestamp int `json:"timestamp" url:"timestamp"`
	// Unix microseconds timestamp of the parent message (for thread replies)
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// Timestamp of the message this one quotes — a DM or channel-thread quoted reply, set via the `replyTimestamp` request field on chat.post. Omitted otherwise.
	ReplyTimestamp *int `json:"replyTimestamp,omitempty" url:"replyTimestamp,omitempty"`
	// Whether the message is ephemeral. Always omitted (false) in chat.history, chat.search, and chat.link.resolve responses — ephemeral messages (posted via chat.postEphemeral) are never persisted, so they never appear in these APIs.
	Ephemeral *bool `json:"ephemeral,omitempty" url:"ephemeral,omitempty"`
	// Text of the message, formatted as github-flavored markdown. Mention tokens use Slack's syntax: `<@ID>` is a principal (user or bot — resolve with `user.info`), `<!subteam^ID>` is a group or channel (resolve with `group.info`), and `<!channel>` is the broadcast keyword.
	Text *string `json:"text,omitempty" url:"text,omitempty"`
	// Type of message content: `text` (markdown body, optionally with items), `voice` (voice note), `block` (rich block layout), or `poll`.
	ContentType ChatMessageContentType `json:"contentType" url:"contentType"`
	// Items attached to this message
	Items []*ChatItem `json:"items,omitempty" url:"items,omitempty"`
	// Poll content, present when contentType is `poll`.
	Poll *ChatMessagePoll `json:"poll,omitempty" url:"poll,omitempty"`
	// Voice-note content, present when contentType is `voice`.
	Voice *ChatMessageVoice `json:"voice,omitempty" url:"voice,omitempty"`
	// Rich block layout, present when contentType is `block`.
	Blocks []map[string]any `json:"blocks,omitempty" url:"blocks,omitempty"`
	// Accent color for a block message, present when contentType is `block`. Omitted otherwise.
	Color *string `json:"color,omitempty" url:"color,omitempty"`
	// Number of replies in this message's thread. Omitted when zero.
	ReplyCount *int `json:"replyCount,omitempty" url:"replyCount,omitempty"`
	// Per-message sender display override supplied at send time via the
	// request's `sender` field. Present only when the stored message carries
	// one. Additive: `userId` remains the authoring identity — render the
	// override, attribute with `userId`. See the
	// [Sender Profiles guide](https://developer.ro.am/docs/guides/sender-profiles).
	Sender *ChatMessageSender `json:"sender,omitempty" url:"sender,omitempty"`
	// Flat, order-preserving, de-duplicated list of everything referenced by
	// mention tokens in `text`: bare address UUIDs (from both `<@ID>` principal
	// and `<!subteam^ID>` group tokens), plus the literal `all` for the `<!channel>`
	// broadcast keyword. Present when the text contains mentions. Resolve UUIDs
	// to display info via the response's `addresses` map (request
	// `expand=addresses`).
	Mentions []string `json:"mentions,omitempty" url:"mentions,omitempty"`
	// contains filtered or unexported fields
}

func (*ChatMessage) GetBlocks

func (c *ChatMessage) GetBlocks() []map[string]any

func (*ChatMessage) GetChatID

func (c *ChatMessage) GetChatID() *string

func (*ChatMessage) GetColor

func (c *ChatMessage) GetColor() *string

func (*ChatMessage) GetContentType

func (c *ChatMessage) GetContentType() ChatMessageContentType

func (*ChatMessage) GetEphemeral

func (c *ChatMessage) GetEphemeral() *bool

func (*ChatMessage) GetExtraProperties

func (c *ChatMessage) GetExtraProperties() map[string]interface{}

func (*ChatMessage) GetItems

func (c *ChatMessage) GetItems() []*ChatItem

func (*ChatMessage) GetMentions

func (c *ChatMessage) GetMentions() []string

func (*ChatMessage) GetPoll

func (c *ChatMessage) GetPoll() *ChatMessagePoll

func (*ChatMessage) GetReplyCount

func (c *ChatMessage) GetReplyCount() *int

func (*ChatMessage) GetReplyTimestamp

func (c *ChatMessage) GetReplyTimestamp() *int

func (*ChatMessage) GetSender

func (c *ChatMessage) GetSender() *ChatMessageSender

func (*ChatMessage) GetText

func (c *ChatMessage) GetText() *string

func (*ChatMessage) GetThreadTimestamp

func (c *ChatMessage) GetThreadTimestamp() *int

func (*ChatMessage) GetTimestamp

func (c *ChatMessage) GetTimestamp() int

func (*ChatMessage) GetType

func (c *ChatMessage) GetType() *ChatMessageType

func (*ChatMessage) GetUserID

func (c *ChatMessage) GetUserID() string

func (*ChatMessage) GetUserType

func (c *ChatMessage) GetUserType() ChatMessageUserType

func (*ChatMessage) GetVoice

func (c *ChatMessage) GetVoice() *ChatMessageVoice

func (*ChatMessage) MarshalJSON

func (c *ChatMessage) MarshalJSON() ([]byte, error)

func (*ChatMessage) SetBlocks

func (c *ChatMessage) SetBlocks(blocks []map[string]any)

SetBlocks sets the Blocks field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetChatID

func (c *ChatMessage) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetColor

func (c *ChatMessage) SetColor(color *string)

SetColor sets the Color field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetContentType

func (c *ChatMessage) SetContentType(contentType ChatMessageContentType)

SetContentType sets the ContentType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetEphemeral

func (c *ChatMessage) SetEphemeral(ephemeral *bool)

SetEphemeral sets the Ephemeral field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetItems

func (c *ChatMessage) SetItems(items []*ChatItem)

SetItems sets the Items field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetMentions

func (c *ChatMessage) SetMentions(mentions []string)

SetMentions sets the Mentions field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetPoll

func (c *ChatMessage) SetPoll(poll *ChatMessagePoll)

SetPoll sets the Poll field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetReplyCount

func (c *ChatMessage) SetReplyCount(replyCount *int)

SetReplyCount sets the ReplyCount field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetReplyTimestamp

func (c *ChatMessage) SetReplyTimestamp(replyTimestamp *int)

SetReplyTimestamp sets the ReplyTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetSender

func (c *ChatMessage) SetSender(sender *ChatMessageSender)

SetSender sets the Sender field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetText

func (c *ChatMessage) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetThreadTimestamp

func (c *ChatMessage) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetTimestamp

func (c *ChatMessage) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetType

func (c *ChatMessage) SetType(type_ *ChatMessageType)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetUserID

func (c *ChatMessage) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetUserType

func (c *ChatMessage) SetUserType(userType ChatMessageUserType)

SetUserType sets the UserType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) SetVoice

func (c *ChatMessage) SetVoice(voice *ChatMessageVoice)

SetVoice sets the Voice field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessage) String

func (c *ChatMessage) String() string

func (*ChatMessage) UnmarshalJSON

func (c *ChatMessage) UnmarshalJSON(data []byte) error

type ChatMessageContentType

type ChatMessageContentType string

Type of message content: `text` (markdown body, optionally with items), `voice` (voice note), `block` (rich block layout), or `poll`.

const (
	ChatMessageContentTypeText  ChatMessageContentType = "text"
	ChatMessageContentTypeVoice ChatMessageContentType = "voice"
	ChatMessageContentTypeBlock ChatMessageContentType = "block"
	ChatMessageContentTypePoll  ChatMessageContentType = "poll"
)

func NewChatMessageContentTypeFromString

func NewChatMessageContentTypeFromString(s string) (ChatMessageContentType, error)

func (ChatMessageContentType) Ptr

type ChatMessagePoll

type ChatMessagePoll struct {
	// The poll question.
	Question *string `json:"question,omitempty" url:"question,omitempty"`
	// The poll answer options.
	Options []*ChatMessagePollOptionsItem `json:"options,omitempty" url:"options,omitempty"`
	// Whether voters can select multiple options.
	AllowMultipleAnswers *bool `json:"allowMultipleAnswers,omitempty" url:"allowMultipleAnswers,omitempty"`
	// When the poll closes (RFC-3339). Omitted if no close time is set.
	ClosesAt *time.Time `json:"closesAt,omitempty" url:"closesAt,omitempty"`
	// contains filtered or unexported fields
}

func (*ChatMessagePoll) GetAllowMultipleAnswers

func (c *ChatMessagePoll) GetAllowMultipleAnswers() *bool

func (*ChatMessagePoll) GetClosesAt

func (c *ChatMessagePoll) GetClosesAt() *time.Time

func (*ChatMessagePoll) GetExtraProperties

func (c *ChatMessagePoll) GetExtraProperties() map[string]interface{}

func (*ChatMessagePoll) GetOptions

func (c *ChatMessagePoll) GetOptions() []*ChatMessagePollOptionsItem

func (*ChatMessagePoll) GetQuestion

func (c *ChatMessagePoll) GetQuestion() *string

func (*ChatMessagePoll) MarshalJSON

func (c *ChatMessagePoll) MarshalJSON() ([]byte, error)

func (*ChatMessagePoll) SetAllowMultipleAnswers

func (c *ChatMessagePoll) SetAllowMultipleAnswers(allowMultipleAnswers *bool)

SetAllowMultipleAnswers sets the AllowMultipleAnswers field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessagePoll) SetClosesAt

func (c *ChatMessagePoll) SetClosesAt(closesAt *time.Time)

SetClosesAt sets the ClosesAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessagePoll) SetOptions

func (c *ChatMessagePoll) SetOptions(options []*ChatMessagePollOptionsItem)

SetOptions sets the Options field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessagePoll) SetQuestion

func (c *ChatMessagePoll) SetQuestion(question *string)

SetQuestion sets the Question field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessagePoll) String

func (c *ChatMessagePoll) String() string

func (*ChatMessagePoll) UnmarshalJSON

func (c *ChatMessagePoll) UnmarshalJSON(data []byte) error

type ChatMessagePollOptionsItem

type ChatMessagePollOptionsItem struct {
	// Unique option identifier.
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// Option display text.
	Text *string `json:"text,omitempty" url:"text,omitempty"`
	// contains filtered or unexported fields
}

func (*ChatMessagePollOptionsItem) GetExtraProperties

func (c *ChatMessagePollOptionsItem) GetExtraProperties() map[string]interface{}

func (*ChatMessagePollOptionsItem) GetID

func (c *ChatMessagePollOptionsItem) GetID() *string

func (*ChatMessagePollOptionsItem) GetText

func (c *ChatMessagePollOptionsItem) GetText() *string

func (*ChatMessagePollOptionsItem) MarshalJSON

func (c *ChatMessagePollOptionsItem) MarshalJSON() ([]byte, error)

func (*ChatMessagePollOptionsItem) SetID

func (c *ChatMessagePollOptionsItem) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessagePollOptionsItem) SetText

func (c *ChatMessagePollOptionsItem) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessagePollOptionsItem) String

func (c *ChatMessagePollOptionsItem) String() string

func (*ChatMessagePollOptionsItem) UnmarshalJSON

func (c *ChatMessagePollOptionsItem) UnmarshalJSON(data []byte) error

type ChatMessageSender

type ChatMessageSender struct {
	// Display name override for this message.
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Avatar URL override for this message.
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*ChatMessageSender) GetExtraProperties

func (c *ChatMessageSender) GetExtraProperties() map[string]interface{}

func (*ChatMessageSender) GetImageURL

func (c *ChatMessageSender) GetImageURL() *string

func (*ChatMessageSender) GetName

func (c *ChatMessageSender) GetName() *string

func (*ChatMessageSender) MarshalJSON

func (c *ChatMessageSender) MarshalJSON() ([]byte, error)

func (*ChatMessageSender) SetImageURL

func (c *ChatMessageSender) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessageSender) SetName

func (c *ChatMessageSender) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessageSender) String

func (c *ChatMessageSender) String() string

func (*ChatMessageSender) UnmarshalJSON

func (c *ChatMessageSender) UnmarshalJSON(data []byte) error

type ChatMessageType

type ChatMessageType string

Message type identifier

const (
	ChatMessageTypeMessage ChatMessageType = "message"
)

func NewChatMessageTypeFromString

func NewChatMessageTypeFromString(s string) (ChatMessageType, error)

func (ChatMessageType) Ptr

type ChatMessageUserType

type ChatMessageUserType string

Principal type of `userId`; always equals `user.info.type` for the same credentials. Use it to prevent bot loops without another lookup.

const (
	ChatMessageUserTypeUser ChatMessageUserType = "user"
	ChatMessageUserTypeBot  ChatMessageUserType = "bot"
)

func NewChatMessageUserTypeFromString

func NewChatMessageUserTypeFromString(s string) (ChatMessageUserType, error)

func (ChatMessageUserType) Ptr

type ChatMessageVoice

type ChatMessageVoice struct {
	// URL of the voice-note audio (m4a).
	AudioURL string `json:"audioUrl" url:"audioUrl"`
	// Duration of the voice note in milliseconds.
	Duration int `json:"duration" url:"duration"`
	// Text transcript of the voice note. Omitted if not yet available.
	Transcript *string `json:"transcript,omitempty" url:"transcript,omitempty"`
	// contains filtered or unexported fields
}

func (*ChatMessageVoice) GetAudioURL

func (c *ChatMessageVoice) GetAudioURL() string

func (*ChatMessageVoice) GetDuration

func (c *ChatMessageVoice) GetDuration() int

func (*ChatMessageVoice) GetExtraProperties

func (c *ChatMessageVoice) GetExtraProperties() map[string]interface{}

func (*ChatMessageVoice) GetTranscript

func (c *ChatMessageVoice) GetTranscript() *string

func (*ChatMessageVoice) MarshalJSON

func (c *ChatMessageVoice) MarshalJSON() ([]byte, error)

func (*ChatMessageVoice) SetAudioURL

func (c *ChatMessageVoice) SetAudioURL(audioURL string)

SetAudioURL sets the AudioURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessageVoice) SetDuration

func (c *ChatMessageVoice) SetDuration(duration int)

SetDuration sets the Duration field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessageVoice) SetTranscript

func (c *ChatMessageVoice) SetTranscript(transcript *string)

SetTranscript sets the Transcript field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ChatMessageVoice) String

func (c *ChatMessageVoice) String() string

func (*ChatMessageVoice) UnmarshalJSON

func (c *ChatMessageVoice) UnmarshalJSON(data []byte) error

type ConflictError

type ConflictError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*ConflictError) MarshalJSON

func (c *ConflictError) MarshalJSON() ([]byte, error)

func (*ConflictError) UnmarshalJSON

func (c *ConflictError) UnmarshalJSON(data []byte) error

func (*ConflictError) Unwrap

func (c *ConflictError) Unwrap() error

type ContentTooLargeError

type ContentTooLargeError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*ContentTooLargeError) MarshalJSON

func (c *ContentTooLargeError) MarshalJSON() ([]byte, error)

func (*ContentTooLargeError) UnmarshalJSON

func (c *ContentTooLargeError) UnmarshalJSON(data []byte) error

func (*ContentTooLargeError) Unwrap

func (c *ContentTooLargeError) Unwrap() error

type CreateAssetRequest

type CreateAssetRequest struct {
	// File name, including its extension (e.g. `report.pdf`). Processing determines the media type from the extension.
	Name string `json:"name" url:"-"`
	// File size in bytes, if known. The true size is enforced
	// server-side during the upload. Maximum 5 GiB. Required for
	// `purpose: "avatar"` (maximum 10 MiB).
	Size *int `json:"size,omitempty" url:"-"`
	// What the asset will be used for. `file` (default) for chat
	// message attachments; `story` for story media (Personal tokens
	// only); `avatar` for `sender.imageUrl` and On-Air host photos.
	Purpose *CreateAssetRequestPurpose `json:"purpose,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*CreateAssetRequest) MarshalJSON

func (c *CreateAssetRequest) MarshalJSON() ([]byte, error)

func (*CreateAssetRequest) SetName

func (c *CreateAssetRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetRequest) SetPurpose

func (c *CreateAssetRequest) SetPurpose(purpose *CreateAssetRequestPurpose)

SetPurpose sets the Purpose field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetRequest) SetSize

func (c *CreateAssetRequest) SetSize(size *int)

SetSize sets the Size field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetRequest) UnmarshalJSON

func (c *CreateAssetRequest) UnmarshalJSON(data []byte) error

type CreateAssetRequestPurpose

type CreateAssetRequestPurpose string

What the asset will be used for. `file` (default) for chat message attachments; `story` for story media (Personal tokens only); `avatar` for `sender.imageUrl` and On-Air host photos.

const (
	CreateAssetRequestPurposeFile   CreateAssetRequestPurpose = "file"
	CreateAssetRequestPurposeStory  CreateAssetRequestPurpose = "story"
	CreateAssetRequestPurposeAvatar CreateAssetRequestPurpose = "avatar"
)

func NewCreateAssetRequestPurposeFromString

func NewCreateAssetRequestPurposeFromString(s string) (CreateAssetRequestPurpose, error)

func (CreateAssetRequestPurpose) Ptr

type CreateAssetResponse

type CreateAssetResponse struct {
	// ID of the created asset. Pass it to chat.post / chat.update
	// via `assetIds`, or to story.post, once the upload completes.
	AssetID string `json:"assetId" url:"assetId"`
	// URL to upload the file bytes to.
	UploadURL string `json:"uploadUrl" url:"uploadUrl"`
	// HTTP method to use for the upload request (always `POST`).
	UploadMethod string `json:"uploadMethod" url:"uploadMethod"`
	// Headers to send verbatim on the upload request. They authorize
	// the upload and select the single-request upload protocol.
	UploadHeaders map[string]string `json:"uploadHeaders" url:"uploadHeaders"`
	// Present for `purpose: "avatar"`. Canonical public URL to pass
	// as `sender.imageUrl` or On-Air `hosts[].imageUrl` after the
	// upload completes. 404s until image processing finishes.
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateAssetResponse) GetAssetID

func (c *CreateAssetResponse) GetAssetID() string

func (*CreateAssetResponse) GetExtraProperties

func (c *CreateAssetResponse) GetExtraProperties() map[string]interface{}

func (*CreateAssetResponse) GetImageURL

func (c *CreateAssetResponse) GetImageURL() *string

func (*CreateAssetResponse) GetUploadHeaders

func (c *CreateAssetResponse) GetUploadHeaders() map[string]string

func (*CreateAssetResponse) GetUploadMethod

func (c *CreateAssetResponse) GetUploadMethod() string

func (*CreateAssetResponse) GetUploadURL

func (c *CreateAssetResponse) GetUploadURL() string

func (*CreateAssetResponse) MarshalJSON

func (c *CreateAssetResponse) MarshalJSON() ([]byte, error)

func (*CreateAssetResponse) SetAssetID

func (c *CreateAssetResponse) SetAssetID(assetID string)

SetAssetID sets the AssetID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetResponse) SetImageURL

func (c *CreateAssetResponse) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetResponse) SetUploadHeaders

func (c *CreateAssetResponse) SetUploadHeaders(uploadHeaders map[string]string)

SetUploadHeaders sets the UploadHeaders field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetResponse) SetUploadMethod

func (c *CreateAssetResponse) SetUploadMethod(uploadMethod string)

SetUploadMethod sets the UploadMethod field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetResponse) SetUploadURL

func (c *CreateAssetResponse) SetUploadURL(uploadURL string)

SetUploadURL sets the UploadURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateAssetResponse) String

func (c *CreateAssetResponse) String() string

func (*CreateAssetResponse) UnmarshalJSON

func (c *CreateAssetResponse) UnmarshalJSON(data []byte) error

type CreateEventCalendarRequest

type CreateEventCalendarRequest struct {
	// Event title.
	Title string `json:"title" url:"-"`
	// (Optional) Event description.
	Description *string `json:"description,omitempty" url:"-"`
	// Event start time (RFC3339). For all-day events, the date portion is used.
	Start time.Time `json:"start" url:"-"`
	// Event end time (RFC3339). For all-day events, the date portion is used.
	End time.Time `json:"end" url:"-"`
	// Whether this is an all-day event. Defaults to false.
	AllDay *bool `json:"allDay,omitempty" url:"-"`
	// (Optional) iCalendar RFC 5545 recurrence rule, e.g. `FREQ=WEEKLY;COUNT=10`.
	// When provided, `timeZone` is required.
	Rrule *string `json:"rrule,omitempty" url:"-"`
	// IANA timezone name, e.g. `America/New_York`. Required for recurring
	// events; recommended for all events. Defaults to `UTC` when omitted.
	TimeZone *string `json:"timeZone,omitempty" url:"-"`
	// Attendee email addresses. Each entry may be a plain email
	// (`user@example.com`) or an address string (`Name <user@example.com>`).
	Attendees []string `json:"attendees,omitempty" url:"-"`
	// Calendar host email. Required for Organization tokens. For Personal
	// tokens, defaults to the authenticated user and, if provided, must
	// match the authenticated user's email.
	Host *string `json:"host,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*CreateEventCalendarRequest) MarshalJSON

func (c *CreateEventCalendarRequest) MarshalJSON() ([]byte, error)

func (*CreateEventCalendarRequest) SetAllDay

func (c *CreateEventCalendarRequest) SetAllDay(allDay *bool)

SetAllDay sets the AllDay field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetAttendees

func (c *CreateEventCalendarRequest) SetAttendees(attendees []string)

SetAttendees sets the Attendees field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetDescription

func (c *CreateEventCalendarRequest) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetEnd

func (c *CreateEventCalendarRequest) SetEnd(end time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetHost

func (c *CreateEventCalendarRequest) SetHost(host *string)

SetHost sets the Host field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetRrule

func (c *CreateEventCalendarRequest) SetRrule(rrule *string)

SetRrule sets the Rrule field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetStart

func (c *CreateEventCalendarRequest) SetStart(start time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetTimeZone

func (c *CreateEventCalendarRequest) SetTimeZone(timeZone *string)

SetTimeZone sets the TimeZone field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) SetTitle

func (c *CreateEventCalendarRequest) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarRequest) UnmarshalJSON

func (c *CreateEventCalendarRequest) UnmarshalJSON(data []byte) error

type CreateEventCalendarResponse

type CreateEventCalendarResponse struct {
	// Calendar event ID (provider-specific).
	ID          string    `json:"id" url:"id"`
	Title       string    `json:"title" url:"title"`
	Description *string   `json:"description,omitempty" url:"description,omitempty"`
	Start       time.Time `json:"start" url:"start"`
	End         time.Time `json:"end" url:"end"`
	AllDay      *bool     `json:"allDay,omitempty" url:"allDay,omitempty"`
	// Attendees as stored on the calendar event.
	Attendees []*CreateEventCalendarResponseAttendeesItem `json:"attendees" url:"attendees"`
	// The Roam meeting link attached to the event.
	MeetingLink *CreateEventCalendarResponseMeetingLink `json:"meetingLink,omitempty" url:"meetingLink,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateEventCalendarResponse) GetAllDay

func (c *CreateEventCalendarResponse) GetAllDay() *bool

func (*CreateEventCalendarResponse) GetAttendees

func (*CreateEventCalendarResponse) GetDescription

func (c *CreateEventCalendarResponse) GetDescription() *string

func (*CreateEventCalendarResponse) GetEnd

func (*CreateEventCalendarResponse) GetExtraProperties

func (c *CreateEventCalendarResponse) GetExtraProperties() map[string]interface{}

func (*CreateEventCalendarResponse) GetID

func (*CreateEventCalendarResponse) GetStart

func (c *CreateEventCalendarResponse) GetStart() time.Time

func (*CreateEventCalendarResponse) GetTitle

func (c *CreateEventCalendarResponse) GetTitle() string

func (*CreateEventCalendarResponse) MarshalJSON

func (c *CreateEventCalendarResponse) MarshalJSON() ([]byte, error)

func (*CreateEventCalendarResponse) SetAllDay

func (c *CreateEventCalendarResponse) SetAllDay(allDay *bool)

SetAllDay sets the AllDay field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) SetAttendees

SetAttendees sets the Attendees field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) SetDescription

func (c *CreateEventCalendarResponse) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) SetEnd

func (c *CreateEventCalendarResponse) SetEnd(end time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) SetID

func (c *CreateEventCalendarResponse) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

SetMeetingLink sets the MeetingLink field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) SetStart

func (c *CreateEventCalendarResponse) SetStart(start time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) SetTitle

func (c *CreateEventCalendarResponse) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponse) String

func (c *CreateEventCalendarResponse) String() string

func (*CreateEventCalendarResponse) UnmarshalJSON

func (c *CreateEventCalendarResponse) UnmarshalJSON(data []byte) error

type CreateEventCalendarResponseAttendeesItem

type CreateEventCalendarResponseAttendeesItem struct {
	Name  *string `json:"name,omitempty" url:"name,omitempty"`
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// RSVP status, if provided by the calendar provider.
	Status *string `json:"status,omitempty" url:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateEventCalendarResponseAttendeesItem) GetEmail

func (*CreateEventCalendarResponseAttendeesItem) GetExtraProperties

func (c *CreateEventCalendarResponseAttendeesItem) GetExtraProperties() map[string]interface{}

func (*CreateEventCalendarResponseAttendeesItem) GetName

func (*CreateEventCalendarResponseAttendeesItem) GetStatus

func (*CreateEventCalendarResponseAttendeesItem) MarshalJSON

func (c *CreateEventCalendarResponseAttendeesItem) MarshalJSON() ([]byte, error)

func (*CreateEventCalendarResponseAttendeesItem) SetEmail

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponseAttendeesItem) SetName

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponseAttendeesItem) SetStatus

func (c *CreateEventCalendarResponseAttendeesItem) SetStatus(status *string)

SetStatus sets the Status field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponseAttendeesItem) String

func (*CreateEventCalendarResponseAttendeesItem) UnmarshalJSON

func (c *CreateEventCalendarResponseAttendeesItem) UnmarshalJSON(data []byte) error
type CreateEventCalendarResponseMeetingLink struct {
	ID  *string `json:"id,omitempty" url:"id,omitempty"`
	URL *string `json:"url,omitempty" url:"url,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateEventCalendarResponseMeetingLink) GetExtraProperties

func (c *CreateEventCalendarResponseMeetingLink) GetExtraProperties() map[string]interface{}

func (*CreateEventCalendarResponseMeetingLink) GetID

func (*CreateEventCalendarResponseMeetingLink) GetURL

func (*CreateEventCalendarResponseMeetingLink) MarshalJSON

func (c *CreateEventCalendarResponseMeetingLink) MarshalJSON() ([]byte, error)

func (*CreateEventCalendarResponseMeetingLink) SetID

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponseMeetingLink) SetURL

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateEventCalendarResponseMeetingLink) String

func (*CreateEventCalendarResponseMeetingLink) UnmarshalJSON

func (c *CreateEventCalendarResponseMeetingLink) UnmarshalJSON(data []byte) error

type CreateGroupRequest

type CreateGroupRequest struct {
	// Name of the group
	Name string `json:"name" url:"-"`
	// Description of the group
	Description *string `json:"description,omitempty" url:"-"`
	// Whether the group is private (default false)
	Private *bool `json:"private,omitempty" url:"-"`
	// Whether to enforce threaded conversations
	EnforceThreads *bool `json:"enforceThreads,omitempty" url:"-"`
	// Group members with their roles
	Members []*CreateGroupRequestMembersItem `json:"members" url:"-"`
	// contains filtered or unexported fields
}

func (*CreateGroupRequest) MarshalJSON

func (c *CreateGroupRequest) MarshalJSON() ([]byte, error)

func (*CreateGroupRequest) SetDescription

func (c *CreateGroupRequest) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequest) SetEnforceThreads

func (c *CreateGroupRequest) SetEnforceThreads(enforceThreads *bool)

SetEnforceThreads sets the EnforceThreads field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequest) SetMembers

func (c *CreateGroupRequest) SetMembers(members []*CreateGroupRequestMembersItem)

SetMembers sets the Members field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequest) SetName

func (c *CreateGroupRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequest) SetPrivate

func (c *CreateGroupRequest) SetPrivate(private *bool)

SetPrivate sets the Private field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequest) UnmarshalJSON

func (c *CreateGroupRequest) UnmarshalJSON(data []byte) error

type CreateGroupRequestMembersItem

type CreateGroupRequestMembersItem struct {
	// User ID or email address
	UserID string `json:"userId" url:"userId"`
	// Role for this member
	Role CreateGroupRequestMembersItemRole `json:"role" url:"role"`
	// contains filtered or unexported fields
}

func (*CreateGroupRequestMembersItem) GetExtraProperties

func (c *CreateGroupRequestMembersItem) GetExtraProperties() map[string]interface{}

func (*CreateGroupRequestMembersItem) GetRole

func (*CreateGroupRequestMembersItem) GetUserID

func (c *CreateGroupRequestMembersItem) GetUserID() string

func (*CreateGroupRequestMembersItem) MarshalJSON

func (c *CreateGroupRequestMembersItem) MarshalJSON() ([]byte, error)

func (*CreateGroupRequestMembersItem) SetRole

SetRole sets the Role field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequestMembersItem) SetUserID

func (c *CreateGroupRequestMembersItem) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateGroupRequestMembersItem) String

func (*CreateGroupRequestMembersItem) UnmarshalJSON

func (c *CreateGroupRequestMembersItem) UnmarshalJSON(data []byte) error

type CreateGroupRequestMembersItemRole

type CreateGroupRequestMembersItemRole string

Role for this member

const (
	CreateGroupRequestMembersItemRoleMember CreateGroupRequestMembersItemRole = "member"
	CreateGroupRequestMembersItemRoleAdmin  CreateGroupRequestMembersItemRole = "admin"
)

func NewCreateGroupRequestMembersItemRoleFromString

func NewCreateGroupRequestMembersItemRoleFromString(s string) (CreateGroupRequestMembersItemRole, error)

func (CreateGroupRequestMembersItemRole) Ptr

type CreateLinkChatRequest

type CreateLinkChatRequest struct {
	// ID of the chat containing the message. Exactly one of `chatId`, `groupId`, or `userIds` is required.
	ChatID *string `json:"chatId,omitempty" url:"-"`
	// ID of a group whose channel chat contains the message.
	GroupID *string `json:"groupId,omitempty" url:"-"`
	// User ID(s) identifying the DM or group DM containing the message.
	UserIDs []string `json:"userIds,omitempty" url:"-"`
	// The message's timestamp in Unix microseconds.
	Timestamp int64 `json:"timestamp" url:"-"`
	// The thread root's timestamp in Unix microseconds. Required when the message is a thread reply.
	ThreadTimestamp *int64 `json:"threadTimestamp,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*CreateLinkChatRequest) MarshalJSON

func (c *CreateLinkChatRequest) MarshalJSON() ([]byte, error)

func (*CreateLinkChatRequest) SetChatID

func (c *CreateLinkChatRequest) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatRequest) SetGroupID

func (c *CreateLinkChatRequest) SetGroupID(groupID *string)

SetGroupID sets the GroupID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatRequest) SetThreadTimestamp

func (c *CreateLinkChatRequest) SetThreadTimestamp(threadTimestamp *int64)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatRequest) SetTimestamp

func (c *CreateLinkChatRequest) SetTimestamp(timestamp int64)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatRequest) SetUserIDs

func (c *CreateLinkChatRequest) SetUserIDs(userIDs []string)

SetUserIDs sets the UserIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatRequest) UnmarshalJSON

func (c *CreateLinkChatRequest) UnmarshalJSON(data []byte) error

type CreateLinkChatResponse

type CreateLinkChatResponse struct {
	// Shareable Roam link that opens the message.
	Link string `json:"link" url:"link"`
	// ID of the chat containing the message.
	ChatID string `json:"chatId" url:"chatId"`
	// The message's timestamp in Unix microseconds.
	Timestamp int64 `json:"timestamp" url:"timestamp"`
	// The thread root's timestamp. Omitted for top-level messages.
	ThreadTimestamp *int64 `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateLinkChatResponse) GetChatID

func (c *CreateLinkChatResponse) GetChatID() string

func (*CreateLinkChatResponse) GetExtraProperties

func (c *CreateLinkChatResponse) GetExtraProperties() map[string]interface{}
func (c *CreateLinkChatResponse) GetLink() string

func (*CreateLinkChatResponse) GetThreadTimestamp

func (c *CreateLinkChatResponse) GetThreadTimestamp() *int64

func (*CreateLinkChatResponse) GetTimestamp

func (c *CreateLinkChatResponse) GetTimestamp() int64

func (*CreateLinkChatResponse) MarshalJSON

func (c *CreateLinkChatResponse) MarshalJSON() ([]byte, error)

func (*CreateLinkChatResponse) SetChatID

func (c *CreateLinkChatResponse) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (c *CreateLinkChatResponse) SetLink(link string)

SetLink sets the Link field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatResponse) SetThreadTimestamp

func (c *CreateLinkChatResponse) SetThreadTimestamp(threadTimestamp *int64)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatResponse) SetTimestamp

func (c *CreateLinkChatResponse) SetTimestamp(timestamp int64)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkChatResponse) String

func (c *CreateLinkChatResponse) String() string

func (*CreateLinkChatResponse) UnmarshalJSON

func (c *CreateLinkChatResponse) UnmarshalJSON(data []byte) error

type CreateLinkMeetingRequest

type CreateLinkMeetingRequest struct {
	// Meeting Name
	Name string `json:"name" url:"-"`
	// Meeting Host Email, matching a member of your Roam.
	//
	// Required for Organization tokens. For Personal tokens, this is optional and defaults to the authenticated user. If provided with a Personal token, it must match the authenticated user's email.
	Host *string `json:"host,omitempty" url:"-"`
	// (Optional) Meeting start time in RFC3339.
	Start *time.Time `json:"start,omitempty" url:"-"`
	// (Optional) Meeting end time in RFC3339.
	End *time.Time `json:"end,omitempty" url:"-"`
	// (Optional) If true, guests must verify ownership of their email address before joining.
	RequireUnconfirmedEmail *bool `json:"requireUnconfirmedEmail,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*CreateLinkMeetingRequest) MarshalJSON

func (c *CreateLinkMeetingRequest) MarshalJSON() ([]byte, error)

func (*CreateLinkMeetingRequest) SetEnd

func (c *CreateLinkMeetingRequest) SetEnd(end *time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingRequest) SetHost

func (c *CreateLinkMeetingRequest) SetHost(host *string)

SetHost sets the Host field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingRequest) SetName

func (c *CreateLinkMeetingRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingRequest) SetRequireUnconfirmedEmail

func (c *CreateLinkMeetingRequest) SetRequireUnconfirmedEmail(requireUnconfirmedEmail *bool)

SetRequireUnconfirmedEmail sets the RequireUnconfirmedEmail field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingRequest) SetStart

func (c *CreateLinkMeetingRequest) SetStart(start *time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingRequest) UnmarshalJSON

func (c *CreateLinkMeetingRequest) UnmarshalJSON(data []byte) error

type CreateLinkMeetingResponse

type CreateLinkMeetingResponse struct {
	// Meeting link ID
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// Meeting link URL
	URL *string `json:"url,omitempty" url:"url,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateLinkMeetingResponse) GetExtraProperties

func (c *CreateLinkMeetingResponse) GetExtraProperties() map[string]interface{}

func (*CreateLinkMeetingResponse) GetID

func (c *CreateLinkMeetingResponse) GetID() *string

func (*CreateLinkMeetingResponse) GetURL

func (c *CreateLinkMeetingResponse) GetURL() *string

func (*CreateLinkMeetingResponse) MarshalJSON

func (c *CreateLinkMeetingResponse) MarshalJSON() ([]byte, error)

func (*CreateLinkMeetingResponse) SetID

func (c *CreateLinkMeetingResponse) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingResponse) SetURL

func (c *CreateLinkMeetingResponse) SetURL(url *string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*CreateLinkMeetingResponse) String

func (c *CreateLinkMeetingResponse) String() string

func (*CreateLinkMeetingResponse) UnmarshalJSON

func (c *CreateLinkMeetingResponse) UnmarshalJSON(data []byte) error

type DeleteChatRequest

type DeleteChatRequest struct {
	// ID of the chat containing the message.
	ChatID string `json:"chatId" url:"-"`
	// Timestamp of the message to delete.
	Timestamp int `json:"timestamp" url:"-"`
	// Thread timestamp, if the message is in a thread.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*DeleteChatRequest) MarshalJSON

func (d *DeleteChatRequest) MarshalJSON() ([]byte, error)

func (*DeleteChatRequest) SetChatID

func (d *DeleteChatRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeleteChatRequest) SetThreadTimestamp

func (d *DeleteChatRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeleteChatRequest) SetTimestamp

func (d *DeleteChatRequest) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeleteChatRequest) UnmarshalJSON

func (d *DeleteChatRequest) UnmarshalJSON(data []byte) error

type DeleteChatResponse

type DeleteChatResponse struct {
	// ID of the chat.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Timestamp of the deleted message.
	Timestamp *int `json:"timestamp,omitempty" url:"timestamp,omitempty"`
	// Thread timestamp, if the message was in a thread.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteChatResponse) GetChatID

func (d *DeleteChatResponse) GetChatID() *string

func (*DeleteChatResponse) GetExtraProperties

func (d *DeleteChatResponse) GetExtraProperties() map[string]interface{}

func (*DeleteChatResponse) GetThreadTimestamp

func (d *DeleteChatResponse) GetThreadTimestamp() *int

func (*DeleteChatResponse) GetTimestamp

func (d *DeleteChatResponse) GetTimestamp() *int

func (*DeleteChatResponse) MarshalJSON

func (d *DeleteChatResponse) MarshalJSON() ([]byte, error)

func (*DeleteChatResponse) SetChatID

func (d *DeleteChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeleteChatResponse) SetThreadTimestamp

func (d *DeleteChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeleteChatResponse) SetTimestamp

func (d *DeleteChatResponse) SetTimestamp(timestamp *int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeleteChatResponse) String

func (d *DeleteChatResponse) String() string

func (*DeleteChatResponse) UnmarshalJSON

func (d *DeleteChatResponse) UnmarshalJSON(data []byte) error

type DeliveriesWebhookRequest

type DeliveriesWebhookRequest struct {
	// Only return deliveries for this webhook subscription ID.
	Webhook *string `json:"-" url:"webhook,omitempty"`
	// Only return deliveries for this event name (e.g. `chat.message`).
	Event *string `json:"-" url:"event,omitempty"`
	// Only return deliveries after this time (RFC3339 or `YYYY-MM-DD`). Results switch to oldest-first.
	After *string `json:"-" url:"after,omitempty"`
	// Only return deliveries before this time (RFC3339 or `YYYY-MM-DD`).
	Before *string `json:"-" url:"before,omitempty"`
	// Maximum number of deliveries to return.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*DeliveriesWebhookRequest) SetAfter

func (d *DeliveriesWebhookRequest) SetAfter(after *string)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookRequest) SetBefore

func (d *DeliveriesWebhookRequest) SetBefore(before *string)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookRequest) SetCursor

func (d *DeliveriesWebhookRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookRequest) SetEvent

func (d *DeliveriesWebhookRequest) SetEvent(event *string)

SetEvent sets the Event field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookRequest) SetLimit

func (d *DeliveriesWebhookRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookRequest) SetWebhook

func (d *DeliveriesWebhookRequest) SetWebhook(webhook *string)

SetWebhook sets the Webhook field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type DeliveriesWebhookResponse

type DeliveriesWebhookResponse struct {
	// Failed delivery attempts, newest first. Empty array if none.
	Deliveries []*DeliveriesWebhookResponseDeliveriesItem `json:"deliveries" url:"deliveries"`
	// Opaque cursor for the next page. Omitted on the last page.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*DeliveriesWebhookResponse) GetDeliveries

func (*DeliveriesWebhookResponse) GetExtraProperties

func (d *DeliveriesWebhookResponse) GetExtraProperties() map[string]interface{}

func (*DeliveriesWebhookResponse) GetNextCursor

func (d *DeliveriesWebhookResponse) GetNextCursor() *string

func (*DeliveriesWebhookResponse) MarshalJSON

func (d *DeliveriesWebhookResponse) MarshalJSON() ([]byte, error)

func (*DeliveriesWebhookResponse) SetDeliveries

SetDeliveries sets the Deliveries field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponse) SetNextCursor

func (d *DeliveriesWebhookResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponse) String

func (d *DeliveriesWebhookResponse) String() string

func (*DeliveriesWebhookResponse) UnmarshalJSON

func (d *DeliveriesWebhookResponse) UnmarshalJSON(data []byte) error

type DeliveriesWebhookResponseDeliveriesItem

type DeliveriesWebhookResponseDeliveriesItem struct {
	// When the delivery was attempted (RFC3339 UTC).
	Timestamp time.Time `json:"timestamp" url:"timestamp"`
	// ID of the webhook subscription. Omitted for static (UI-configured) destinations.
	WebhookID *string `json:"webhookId,omitempty" url:"webhookId,omitempty"`
	// The event name that was being delivered (e.g. `chat.message`).
	Event string `json:"event" url:"event"`
	// The destination URL that was called.
	URL string `json:"url" url:"url"`
	// HTTP status code returned by the destination. `0` for connection errors and timeouts.
	StatusCode int `json:"statusCode" url:"statusCode"`
	// Failure classification (e.g. `timeout`, `http_4xx`, `http_5xx`, `connection`).
	Error string `json:"error" url:"error"`
	// Truncated response body from the destination, present for HTTP error statuses.
	Response *string `json:"response,omitempty" url:"response,omitempty"`
	// How long the delivery attempt took, in milliseconds.
	DurationMs int `json:"durationMs" url:"durationMs"`
	// ID of the message that triggered the event, when applicable.
	MessageID *string `json:"messageId,omitempty" url:"messageId,omitempty"`
	// Always `false` — only failed deliveries are recorded.
	Success bool `json:"success" url:"success"`
	// contains filtered or unexported fields
}

func (*DeliveriesWebhookResponseDeliveriesItem) GetDurationMs

func (d *DeliveriesWebhookResponseDeliveriesItem) GetDurationMs() int

func (*DeliveriesWebhookResponseDeliveriesItem) GetError

func (*DeliveriesWebhookResponseDeliveriesItem) GetEvent

func (*DeliveriesWebhookResponseDeliveriesItem) GetExtraProperties

func (d *DeliveriesWebhookResponseDeliveriesItem) GetExtraProperties() map[string]interface{}

func (*DeliveriesWebhookResponseDeliveriesItem) GetMessageID

func (*DeliveriesWebhookResponseDeliveriesItem) GetResponse

func (*DeliveriesWebhookResponseDeliveriesItem) GetStatusCode

func (d *DeliveriesWebhookResponseDeliveriesItem) GetStatusCode() int

func (*DeliveriesWebhookResponseDeliveriesItem) GetSuccess

func (*DeliveriesWebhookResponseDeliveriesItem) GetTimestamp

func (*DeliveriesWebhookResponseDeliveriesItem) GetURL

func (*DeliveriesWebhookResponseDeliveriesItem) GetWebhookID

func (*DeliveriesWebhookResponseDeliveriesItem) MarshalJSON

func (d *DeliveriesWebhookResponseDeliveriesItem) MarshalJSON() ([]byte, error)

func (*DeliveriesWebhookResponseDeliveriesItem) SetDurationMs

func (d *DeliveriesWebhookResponseDeliveriesItem) SetDurationMs(durationMs int)

SetDurationMs sets the DurationMs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetError

func (d *DeliveriesWebhookResponseDeliveriesItem) SetError(error_ string)

SetError sets the Error field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetEvent

SetEvent sets the Event field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetMessageID

func (d *DeliveriesWebhookResponseDeliveriesItem) SetMessageID(messageID *string)

SetMessageID sets the MessageID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetResponse

func (d *DeliveriesWebhookResponseDeliveriesItem) SetResponse(response *string)

SetResponse sets the Response field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetStatusCode

func (d *DeliveriesWebhookResponseDeliveriesItem) SetStatusCode(statusCode int)

SetStatusCode sets the StatusCode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetSuccess

func (d *DeliveriesWebhookResponseDeliveriesItem) SetSuccess(success bool)

SetSuccess sets the Success field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetTimestamp

func (d *DeliveriesWebhookResponseDeliveriesItem) SetTimestamp(timestamp time.Time)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetURL

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) SetWebhookID

func (d *DeliveriesWebhookResponseDeliveriesItem) SetWebhookID(webhookID *string)

SetWebhookID sets the WebhookID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*DeliveriesWebhookResponseDeliveriesItem) String

func (*DeliveriesWebhookResponseDeliveriesItem) UnmarshalJSON

func (d *DeliveriesWebhookResponseDeliveriesItem) UnmarshalJSON(data []byte) error

type Error

type Error struct {
	// Always `false` on error responses.
	Ok bool `json:"ok" url:"ok"`
	// Machine-readable error code from the catalog
	// (e.g. `invalid_token`, `missing_scope`, `ratelimited`, `invalid_cursor`).
	// Branch on this field. See [Responses and Errors](https://developer.ro.am/docs/guides/responses-and-errors).
	Error string `json:"error" url:"error"`
	// Present on `missing_scope`. Scopes that would satisfy the check.
	// **Any-of (OR)** semantics: holding any one element is enough.
	// Distinct from Slack's comma-separated `needed` string.
	Needed []string `json:"needed,omitempty" url:"needed,omitempty"`
	// Present on `missing_scope`. The token's granted scopes after alias
	// normalization (e.g. legacy `groups:read` reports as `group:read`).
	// For personal tokens this is the expanded OAuth set, not `pat:*`
	// group names.
	Provided []string `json:"provided,omitempty" url:"provided,omitempty"`
	// contains filtered or unexported fields
}

func (*Error) GetError

func (e *Error) GetError() string

func (*Error) GetExtraProperties

func (e *Error) GetExtraProperties() map[string]interface{}

func (*Error) GetNeeded

func (e *Error) GetNeeded() []string

func (*Error) GetOk

func (e *Error) GetOk() bool

func (*Error) GetProvided

func (e *Error) GetProvided() []string

func (*Error) MarshalJSON

func (e *Error) MarshalJSON() ([]byte, error)

func (*Error) SetError

func (e *Error) SetError(error_ string)

SetError sets the Error field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Error) SetNeeded

func (e *Error) SetNeeded(needed []string)

SetNeeded sets the Needed field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Error) SetOk

func (e *Error) SetOk(ok bool)

SetOk sets the Ok field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Error) SetProvided

func (e *Error) SetProvided(provided []string)

SetProvided sets the Provided field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Error) String

func (e *Error) String() string

func (*Error) UnmarshalJSON

func (e *Error) UnmarshalJSON(data []byte) error

type FileParam

type FileParam struct {
	io.Reader
	// contains filtered or unexported fields
}

FileParam is a file type suitable for multipart/form-data uploads.

func NewFileParam

func NewFileParam(
	reader io.Reader,
	filename string,
	contentType string,
	opts ...FileParamOption,
) *FileParam

NewFileParam returns a *FileParam type suitable for multipart/form-data uploads. All file upload endpoints accept a simple io.Reader, which is usually created by opening a file via os.Open.

However, some endpoints require additional metadata about the file such as a specific Content-Type or custom filename. FileParam makes it easier to create the correct type signature for these endpoints.

func (*FileParam) ContentType

func (f *FileParam) ContentType() string

func (*FileParam) Name

func (f *FileParam) Name() string

type FileParamOption

type FileParamOption interface {
	// contains filtered or unexported methods
}

FileParamOption adapts the behavior of the FileParam. No options are implemented yet, but this interface allows for future extensibility.

type ForbiddenError

type ForbiddenError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*ForbiddenError) MarshalJSON

func (f *ForbiddenError) MarshalJSON() ([]byte, error)

func (*ForbiddenError) UnmarshalJSON

func (f *ForbiddenError) UnmarshalJSON(data []byte) error

func (*ForbiddenError) Unwrap

func (f *ForbiddenError) Unwrap() error

type Group

type Group struct {
	// The group's unique identifier
	ID string `json:"id" url:"id"`
	// The group's channel chat ID. Populated by `group.create` and
	// `group.info` (the channel chat is created together with the group), and
	// used to post to or read the channel via the chat endpoints.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Name of the group
	Name string `json:"name" url:"name"`
	// The type of group:
	// - `standard` - A regular channel created by users
	// - `magicast` - A Magicast channel
	// - `meeting` - A meeting channel
	// - `roam` - The main Roam channel (one per workspace)
	// - `onair` - An On-Air channel
	// - `community` - A community channel
	Type GroupType `json:"type" url:"type"`
	// Whether the group is public or private
	AccessMode *GroupAccessMode `json:"accessMode,omitempty" url:"accessMode,omitempty"`
	// Who can manage group settings and membership
	GroupManagement *GroupGroupManagement `json:"groupManagement,omitempty" url:"groupManagement,omitempty"`
	// Whether the group enforces threaded conversations
	EnforceThreadedMode *bool `json:"enforceThreadedMode,omitempty" url:"enforceThreadedMode,omitempty"`
	// When the group was created
	DateCreated *time.Time `json:"dateCreated,omitempty" url:"dateCreated,omitempty"`
	// URL of the group's image
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*Group) GetAccessMode

func (g *Group) GetAccessMode() *GroupAccessMode

func (*Group) GetChatID

func (g *Group) GetChatID() *string

func (*Group) GetDateCreated

func (g *Group) GetDateCreated() *time.Time

func (*Group) GetEnforceThreadedMode

func (g *Group) GetEnforceThreadedMode() *bool

func (*Group) GetExtraProperties

func (g *Group) GetExtraProperties() map[string]interface{}

func (*Group) GetGroupManagement

func (g *Group) GetGroupManagement() *GroupGroupManagement

func (*Group) GetID

func (g *Group) GetID() string

func (*Group) GetImageURL

func (g *Group) GetImageURL() *string

func (*Group) GetName

func (g *Group) GetName() string

func (*Group) GetType

func (g *Group) GetType() GroupType

func (*Group) MarshalJSON

func (g *Group) MarshalJSON() ([]byte, error)

func (*Group) SetAccessMode

func (g *Group) SetAccessMode(accessMode *GroupAccessMode)

SetAccessMode sets the AccessMode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetChatID

func (g *Group) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetDateCreated

func (g *Group) SetDateCreated(dateCreated *time.Time)

SetDateCreated sets the DateCreated field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetEnforceThreadedMode

func (g *Group) SetEnforceThreadedMode(enforceThreadedMode *bool)

SetEnforceThreadedMode sets the EnforceThreadedMode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetGroupManagement

func (g *Group) SetGroupManagement(groupManagement *GroupGroupManagement)

SetGroupManagement sets the GroupManagement field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetID

func (g *Group) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetImageURL

func (g *Group) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetName

func (g *Group) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) SetType

func (g *Group) SetType(type_ GroupType)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Group) String

func (g *Group) String() string

func (*Group) UnmarshalJSON

func (g *Group) UnmarshalJSON(data []byte) error

type GroupAccessMode

type GroupAccessMode string

Whether the group is public or private

const (
	GroupAccessModePublic  GroupAccessMode = "public"
	GroupAccessModePrivate GroupAccessMode = "private"
)

func NewGroupAccessModeFromString

func NewGroupAccessModeFromString(s string) (GroupAccessMode, error)

func (GroupAccessMode) Ptr

type GroupGroupManagement

type GroupGroupManagement string

Who can manage group settings and membership

const (
	GroupGroupManagementAllMembers      GroupGroupManagement = "allMembers"
	GroupGroupManagementGroupAdminsOnly GroupGroupManagement = "groupAdminsOnly"
)

func NewGroupGroupManagementFromString

func NewGroupGroupManagementFromString(s string) (GroupGroupManagement, error)

func (GroupGroupManagement) Ptr

type GroupMember

type GroupMember struct {
	// The user's unique identifier
	UserID string `json:"userId" url:"userId"`
	// The member's role in the group
	Role GroupMemberRole `json:"role" url:"role"`
	// contains filtered or unexported fields
}

func (*GroupMember) GetExtraProperties

func (g *GroupMember) GetExtraProperties() map[string]interface{}

func (*GroupMember) GetRole

func (g *GroupMember) GetRole() GroupMemberRole

func (*GroupMember) GetUserID

func (g *GroupMember) GetUserID() string

func (*GroupMember) MarshalJSON

func (g *GroupMember) MarshalJSON() ([]byte, error)

func (*GroupMember) SetRole

func (g *GroupMember) SetRole(role GroupMemberRole)

SetRole sets the Role field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupMember) SetUserID

func (g *GroupMember) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupMember) String

func (g *GroupMember) String() string

func (*GroupMember) UnmarshalJSON

func (g *GroupMember) UnmarshalJSON(data []byte) error

type GroupMemberRole

type GroupMemberRole string

The member's role in the group

const (
	GroupMemberRoleMember GroupMemberRole = "member"
	GroupMemberRoleAdmin  GroupMemberRole = "admin"
)

func NewGroupMemberRoleFromString

func NewGroupMemberRoleFromString(s string) (GroupMemberRole, error)

func (GroupMemberRole) Ptr

type GroupType

type GroupType string

The type of group: - `standard` - A regular channel created by users - `magicast` - A Magicast channel - `meeting` - A meeting channel - `roam` - The main Roam channel (one per workspace) - `onair` - An On-Air channel - `community` - A community channel

const (
	GroupTypeStandard  GroupType = "standard"
	GroupTypeMagicast  GroupType = "magicast"
	GroupTypeMeeting   GroupType = "meeting"
	GroupTypeRoam      GroupType = "roam"
	GroupTypeOnair     GroupType = "onair"
	GroupTypeCommunity GroupType = "community"
)

func NewGroupTypeFromString

func NewGroupTypeFromString(s string) (GroupType, error)

func (GroupType) Ptr

func (g GroupType) Ptr() *GroupType

type GroupsListResponseItem

type GroupsListResponseItem struct {
	AddressID           *string `json:"addressId,omitempty" url:"addressId,omitempty"`
	RoamID              *int    `json:"roamId,omitempty" url:"roamId,omitempty"`
	AccountID           *int    `json:"accountId,omitempty" url:"accountId,omitempty"`
	GroupType           *string `json:"groupType,omitempty" url:"groupType,omitempty"`
	Name                *string `json:"name,omitempty" url:"name,omitempty"`
	AccessMode          *string `json:"accessMode,omitempty" url:"accessMode,omitempty"`
	GroupManagement     *string `json:"groupManagement,omitempty" url:"groupManagement,omitempty"`
	EnforceThreadedMode *bool   `json:"enforceThreadedMode,omitempty" url:"enforceThreadedMode,omitempty"`
	DateCreated         *string `json:"dateCreated,omitempty" url:"dateCreated,omitempty"`
	ImageURL            *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*GroupsListResponseItem) GetAccessMode

func (g *GroupsListResponseItem) GetAccessMode() *string

func (*GroupsListResponseItem) GetAccountID

func (g *GroupsListResponseItem) GetAccountID() *int

func (*GroupsListResponseItem) GetAddressID

func (g *GroupsListResponseItem) GetAddressID() *string

func (*GroupsListResponseItem) GetDateCreated

func (g *GroupsListResponseItem) GetDateCreated() *string

func (*GroupsListResponseItem) GetEnforceThreadedMode

func (g *GroupsListResponseItem) GetEnforceThreadedMode() *bool

func (*GroupsListResponseItem) GetExtraProperties

func (g *GroupsListResponseItem) GetExtraProperties() map[string]interface{}

func (*GroupsListResponseItem) GetGroupManagement

func (g *GroupsListResponseItem) GetGroupManagement() *string

func (*GroupsListResponseItem) GetGroupType

func (g *GroupsListResponseItem) GetGroupType() *string

func (*GroupsListResponseItem) GetImageURL

func (g *GroupsListResponseItem) GetImageURL() *string

func (*GroupsListResponseItem) GetName

func (g *GroupsListResponseItem) GetName() *string

func (*GroupsListResponseItem) GetRoamID

func (g *GroupsListResponseItem) GetRoamID() *int

func (*GroupsListResponseItem) MarshalJSON

func (g *GroupsListResponseItem) MarshalJSON() ([]byte, error)

func (*GroupsListResponseItem) SetAccessMode

func (g *GroupsListResponseItem) SetAccessMode(accessMode *string)

SetAccessMode sets the AccessMode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetAccountID

func (g *GroupsListResponseItem) SetAccountID(accountID *int)

SetAccountID sets the AccountID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetAddressID

func (g *GroupsListResponseItem) SetAddressID(addressID *string)

SetAddressID sets the AddressID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetDateCreated

func (g *GroupsListResponseItem) SetDateCreated(dateCreated *string)

SetDateCreated sets the DateCreated field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetEnforceThreadedMode

func (g *GroupsListResponseItem) SetEnforceThreadedMode(enforceThreadedMode *bool)

SetEnforceThreadedMode sets the EnforceThreadedMode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetGroupManagement

func (g *GroupsListResponseItem) SetGroupManagement(groupManagement *string)

SetGroupManagement sets the GroupManagement field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetGroupType

func (g *GroupsListResponseItem) SetGroupType(groupType *string)

SetGroupType sets the GroupType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetImageURL

func (g *GroupsListResponseItem) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetName

func (g *GroupsListResponseItem) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) SetRoamID

func (g *GroupsListResponseItem) SetRoamID(roamID *int)

SetRoamID sets the RoamID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*GroupsListResponseItem) String

func (g *GroupsListResponseItem) String() string

func (*GroupsListResponseItem) UnmarshalJSON

func (g *GroupsListResponseItem) UnmarshalJSON(data []byte) error

type HistoryChatRequest

type HistoryChatRequest struct {
	// The chat ID to fetch messages from. Either chatId, groupId, or userIds must be specified.
	ChatID *string `json:"-" url:"chatId,omitempty"`
	// Group chat ID to fetch messages from. Either chatId, groupId, or userIds must be specified.
	GroupID *string `json:"-" url:"groupId,omitempty"`
	// User IDs to fetch DM/Multi-DM messages with. Either chatId, groupId, or userIds must be specified.
	UserIDs []*string `json:"-" url:"userIds,omitempty"`
	// Read replies of the message with this timestamp. Specified in microseconds.
	ThreadTimestamp *float64 `json:"-" url:"threadTimestamp,omitempty"`
	// The datetime to begin listing messages (YYYY-MM-DD or RFC-3339).
	// Date-only values are interpreted in the caller's timezone.
	// Sub-millisecond precision on datetimes is truncated. Defaults to
	// "no filter".
	After *string `json:"-" url:"after,omitempty"`
	// The datetime until which to list messages (YYYY-MM-DD or RFC-3339).
	// Date-only values are interpreted in the caller's timezone.
	// Sub-millisecond precision on datetimes is truncated. Defaults to
	// "now".
	Before *string `json:"-" url:"before,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// Number of messages to return (default 10, max 200).
	Limit *int `json:"-" url:"limit,omitempty"`
	// Comma-separated fields to expand. Supported: `addresses` — include an
	// `addresses` map resolving the sender (`userId`) and mentioned IDs on
	// each message to their display info.
	Expand *string `json:"-" url:"expand,omitempty"`
	// contains filtered or unexported fields
}

func (*HistoryChatRequest) SetAfter

func (h *HistoryChatRequest) SetAfter(after *string)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetBefore

func (h *HistoryChatRequest) SetBefore(before *string)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetChatID

func (h *HistoryChatRequest) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetCursor

func (h *HistoryChatRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetExpand

func (h *HistoryChatRequest) SetExpand(expand *string)

SetExpand sets the Expand field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetGroupID

func (h *HistoryChatRequest) SetGroupID(groupID *string)

SetGroupID sets the GroupID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetLimit

func (h *HistoryChatRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetThreadTimestamp

func (h *HistoryChatRequest) SetThreadTimestamp(threadTimestamp *float64)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatRequest) SetUserIDs

func (h *HistoryChatRequest) SetUserIDs(userIDs []*string)

SetUserIDs sets the UserIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type HistoryChatResponse

type HistoryChatResponse struct {
	// The chat ID
	ChatID string `json:"chatId" url:"chatId"`
	// A cursor to fetch the next page of results
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// The thread timestamp being read, echoed from the request (present only when reading a thread).
	ThreadTimestamp *int           `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	Messages        []*ChatMessage `json:"messages" url:"messages"`
	// Resolved address objects keyed by ID, for the senders and
	// mentioned entities in this response. Included only when
	// `expand=addresses` is requested.
	Addresses map[string]*Address `json:"addresses,omitempty" url:"addresses,omitempty"`
	// contains filtered or unexported fields
}

func (*HistoryChatResponse) GetAddresses

func (h *HistoryChatResponse) GetAddresses() map[string]*Address

func (*HistoryChatResponse) GetChatID

func (h *HistoryChatResponse) GetChatID() string

func (*HistoryChatResponse) GetExtraProperties

func (h *HistoryChatResponse) GetExtraProperties() map[string]interface{}

func (*HistoryChatResponse) GetMessages

func (h *HistoryChatResponse) GetMessages() []*ChatMessage

func (*HistoryChatResponse) GetNextCursor

func (h *HistoryChatResponse) GetNextCursor() *string

func (*HistoryChatResponse) GetThreadTimestamp

func (h *HistoryChatResponse) GetThreadTimestamp() *int

func (*HistoryChatResponse) MarshalJSON

func (h *HistoryChatResponse) MarshalJSON() ([]byte, error)

func (*HistoryChatResponse) SetAddresses

func (h *HistoryChatResponse) SetAddresses(addresses map[string]*Address)

SetAddresses sets the Addresses field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatResponse) SetChatID

func (h *HistoryChatResponse) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatResponse) SetMessages

func (h *HistoryChatResponse) SetMessages(messages []*ChatMessage)

SetMessages sets the Messages field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatResponse) SetNextCursor

func (h *HistoryChatResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatResponse) SetThreadTimestamp

func (h *HistoryChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*HistoryChatResponse) String

func (h *HistoryChatResponse) String() string

func (*HistoryChatResponse) UnmarshalJSON

func (h *HistoryChatResponse) UnmarshalJSON(data []byte) error

type InfoGroupRequest

type InfoGroupRequest struct {
	// The group's ID. Mutually exclusive with `name`.
	ID *string `json:"-" url:"id,omitempty"`
	// The group's name. Mutually exclusive with `id`. Returns first match if multiple groups have the same name.
	Name *string `json:"-" url:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoGroupRequest) SetID

func (i *InfoGroupRequest) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoGroupRequest) SetName

func (i *InfoGroupRequest) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type InfoMagicastRequest

type InfoMagicastRequest struct {
	// The magicast ID.
	ID string `json:"-" url:"id"`
	// contains filtered or unexported fields
}

func (*InfoMagicastRequest) SetID

func (i *InfoMagicastRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type InfoMeetingRequest

type InfoMeetingRequest struct {
	// The meeting ID.
	ID string `json:"-" url:"id"`
	// Maximum number of participants to resolve and include inline. Use `/meeting.participants` for full pagination.
	MaxParticipants *int `json:"-" url:"maxParticipants,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoMeetingRequest) SetID

func (i *InfoMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingRequest) SetMaxParticipants

func (i *InfoMeetingRequest) SetMaxParticipants(maxParticipants *int)

SetMaxParticipants sets the MaxParticipants field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type InfoMeetingResponse

type InfoMeetingResponse struct {
	// Meeting ID
	ID string `json:"id" url:"id"`
	// Meeting title
	Title string `json:"title" url:"title"`
	// Meeting subtitle
	Subtitle *string `json:"subtitle,omitempty" url:"subtitle,omitempty"`
	// Meeting start time (RFC-3339)
	Start time.Time `json:"start" url:"start"`
	// Meeting end time (RFC-3339). Omitted while the meeting is still in progress.
	End *time.Time `json:"end,omitempty" url:"end,omitempty"`
	// Total number of participants
	ParticipantCount int `json:"participantCount" url:"participantCount"`
	// Whether the meeting was video recorded — a video track exists.
	// `true` from the moment recording starts, `true` at meeting end, and
	// it never flips back. It does **not** mean the recording is ready to
	// fetch or play; read `videoStatus` for that. Matches `meeting.list`,
	// the `meeting.ended` webhook `data.hasVideo`, and the
	// `{"hasVideo": true}` subscription filter.
	HasVideo bool `json:"hasVideo" url:"hasVideo"`
	// Where the meeting's video recording is, which — unlike `hasVideo` —
	// changes over time:
	//
	//   - `none` — no video track. The meeting was not recorded and no
	//     recording will appear later. Always paired with `hasVideo: false`.
	//   - `processing` — a recording exists but its upload has not finished,
	//     so there is nothing to play yet. Call `/meeting.info` again
	//     shortly.
	//   - `available` — the recording is uploaded and has an asset. Use
	//     [`/meeting.shareLink`](https://developer.ro.am/docs/api/meeting-share-link) to get a
	//     shareable link to it.
	//
	// Not present on the `meeting.ended` webhook payload — see that
	// event's page.
	VideoStatus InfoMeetingResponseVideoStatus `json:"videoStatus" url:"videoStatus"`
	// Meeting host as a participant object. Requires `user:read`
	// scope; emails are only included with `user:read.email`.
	// Omitted when the host cannot be resolved.
	Host *MeetingParticipant `json:"host,omitempty" url:"host,omitempty"`
	// Resolved participants (up to `maxParticipants`). Requires `user:read` scope.
	Participants []*MeetingParticipant `json:"participants,omitempty" url:"participants,omitempty"`
	// True if total participants exceeds the resolved count
	ParticipantsOmitted *bool `json:"participantsOmitted,omitempty" url:"participantsOmitted,omitempty"`
	// AI-generated meeting summary
	Summary *string `json:"summary,omitempty" url:"summary,omitempty"`
	// AI-extracted action items
	ActionItems []*ActionItem `json:"actionItems,omitempty" url:"actionItems,omitempty"`
	// Meeting chapters/segments
	Chapters []*InfoMeetingResponseChaptersItem `json:"chapters,omitempty" url:"chapters,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoMeetingResponse) GetActionItems

func (i *InfoMeetingResponse) GetActionItems() []*ActionItem

func (*InfoMeetingResponse) GetChapters

func (*InfoMeetingResponse) GetEnd

func (i *InfoMeetingResponse) GetEnd() *time.Time

func (*InfoMeetingResponse) GetExtraProperties

func (i *InfoMeetingResponse) GetExtraProperties() map[string]interface{}

func (*InfoMeetingResponse) GetHasVideo

func (i *InfoMeetingResponse) GetHasVideo() bool

func (*InfoMeetingResponse) GetHost

func (*InfoMeetingResponse) GetID

func (i *InfoMeetingResponse) GetID() string

func (*InfoMeetingResponse) GetParticipantCount

func (i *InfoMeetingResponse) GetParticipantCount() int

func (*InfoMeetingResponse) GetParticipants

func (i *InfoMeetingResponse) GetParticipants() []*MeetingParticipant

func (*InfoMeetingResponse) GetParticipantsOmitted

func (i *InfoMeetingResponse) GetParticipantsOmitted() *bool

func (*InfoMeetingResponse) GetStart

func (i *InfoMeetingResponse) GetStart() time.Time

func (*InfoMeetingResponse) GetSubtitle

func (i *InfoMeetingResponse) GetSubtitle() *string

func (*InfoMeetingResponse) GetSummary

func (i *InfoMeetingResponse) GetSummary() *string

func (*InfoMeetingResponse) GetTitle

func (i *InfoMeetingResponse) GetTitle() string

func (*InfoMeetingResponse) GetVideoStatus

func (*InfoMeetingResponse) MarshalJSON

func (i *InfoMeetingResponse) MarshalJSON() ([]byte, error)

func (*InfoMeetingResponse) SetActionItems

func (i *InfoMeetingResponse) SetActionItems(actionItems []*ActionItem)

SetActionItems sets the ActionItems field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetChapters

func (i *InfoMeetingResponse) SetChapters(chapters []*InfoMeetingResponseChaptersItem)

SetChapters sets the Chapters field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetEnd

func (i *InfoMeetingResponse) SetEnd(end *time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetHasVideo

func (i *InfoMeetingResponse) SetHasVideo(hasVideo bool)

SetHasVideo sets the HasVideo field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetHost

func (i *InfoMeetingResponse) SetHost(host *MeetingParticipant)

SetHost sets the Host field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetID

func (i *InfoMeetingResponse) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetParticipantCount

func (i *InfoMeetingResponse) SetParticipantCount(participantCount int)

SetParticipantCount sets the ParticipantCount field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetParticipants

func (i *InfoMeetingResponse) SetParticipants(participants []*MeetingParticipant)

SetParticipants sets the Participants field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetParticipantsOmitted

func (i *InfoMeetingResponse) SetParticipantsOmitted(participantsOmitted *bool)

SetParticipantsOmitted sets the ParticipantsOmitted field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetStart

func (i *InfoMeetingResponse) SetStart(start time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetSubtitle

func (i *InfoMeetingResponse) SetSubtitle(subtitle *string)

SetSubtitle sets the Subtitle field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetSummary

func (i *InfoMeetingResponse) SetSummary(summary *string)

SetSummary sets the Summary field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetTitle

func (i *InfoMeetingResponse) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) SetVideoStatus

func (i *InfoMeetingResponse) SetVideoStatus(videoStatus InfoMeetingResponseVideoStatus)

SetVideoStatus sets the VideoStatus field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponse) String

func (i *InfoMeetingResponse) String() string

func (*InfoMeetingResponse) UnmarshalJSON

func (i *InfoMeetingResponse) UnmarshalJSON(data []byte) error

type InfoMeetingResponseChaptersItem

type InfoMeetingResponseChaptersItem struct {
	// Chapter name
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Chapter start offset in milliseconds since the meeting's `start`.
	Start *int `json:"start,omitempty" url:"start,omitempty"`
	// Brief synopsis of the chapter
	Synopsis *string `json:"synopsis,omitempty" url:"synopsis,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoMeetingResponseChaptersItem) GetExtraProperties

func (i *InfoMeetingResponseChaptersItem) GetExtraProperties() map[string]interface{}

func (*InfoMeetingResponseChaptersItem) GetName

func (*InfoMeetingResponseChaptersItem) GetStart

func (i *InfoMeetingResponseChaptersItem) GetStart() *int

func (*InfoMeetingResponseChaptersItem) GetSynopsis

func (i *InfoMeetingResponseChaptersItem) GetSynopsis() *string

func (*InfoMeetingResponseChaptersItem) MarshalJSON

func (i *InfoMeetingResponseChaptersItem) MarshalJSON() ([]byte, error)

func (*InfoMeetingResponseChaptersItem) SetName

func (i *InfoMeetingResponseChaptersItem) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponseChaptersItem) SetStart

func (i *InfoMeetingResponseChaptersItem) SetStart(start *int)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponseChaptersItem) SetSynopsis

func (i *InfoMeetingResponseChaptersItem) SetSynopsis(synopsis *string)

SetSynopsis sets the Synopsis field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoMeetingResponseChaptersItem) String

func (*InfoMeetingResponseChaptersItem) UnmarshalJSON

func (i *InfoMeetingResponseChaptersItem) UnmarshalJSON(data []byte) error

type InfoMeetingResponseVideoStatus

type InfoMeetingResponseVideoStatus string

Where the meeting's video recording is, which — unlike `hasVideo` — changes over time:

  • `none` — no video track. The meeting was not recorded and no recording will appear later. Always paired with `hasVideo: false`.
  • `processing` — a recording exists but its upload has not finished, so there is nothing to play yet. Call `/meeting.info` again shortly.
  • `available` — the recording is uploaded and has an asset. Use [`/meeting.shareLink`](https://developer.ro.am/docs/api/meeting-share-link) to get a shareable link to it.

Not present on the `meeting.ended` webhook payload — see that event's page.

const (
	InfoMeetingResponseVideoStatusNone       InfoMeetingResponseVideoStatus = "none"
	InfoMeetingResponseVideoStatusProcessing InfoMeetingResponseVideoStatus = "processing"
	InfoMeetingResponseVideoStatusAvailable  InfoMeetingResponseVideoStatus = "available"
)

func NewInfoMeetingResponseVideoStatusFromString

func NewInfoMeetingResponseVideoStatusFromString(s string) (InfoMeetingResponseVideoStatus, error)

func (InfoMeetingResponseVideoStatus) Ptr

type InfoTokenResponse

type InfoTokenResponse struct {
	// The authenticated user or bot
	User *InfoTokenResponseUser `json:"user" url:"user"`
	// The bot persona associated with the token. Present only for personal
	// access tokens, where `user` is the authenticated person and `bot` is
	// the persona that messages are posted as. Omitted for organization
	// tokens, where `user` is the app's own identity.
	Bot *InfoTokenResponseBot `json:"bot,omitempty" url:"bot,omitempty"`
	// The API client (app) ID this token belongs to.
	ClientID string `json:"clientId" url:"clientId"`
	// List of OAuth scopes granted to this token
	Scopes []string `json:"scopes" url:"scopes"`
	// Information about the Roam workspace
	Roam *InfoTokenResponseRoam `json:"roam" url:"roam"`
	// contains filtered or unexported fields
}

func (*InfoTokenResponse) GetBot

func (*InfoTokenResponse) GetClientID

func (i *InfoTokenResponse) GetClientID() string

func (*InfoTokenResponse) GetExtraProperties

func (i *InfoTokenResponse) GetExtraProperties() map[string]interface{}

func (*InfoTokenResponse) GetRoam

func (*InfoTokenResponse) GetScopes

func (i *InfoTokenResponse) GetScopes() []string

func (*InfoTokenResponse) GetUser

func (*InfoTokenResponse) MarshalJSON

func (i *InfoTokenResponse) MarshalJSON() ([]byte, error)

func (*InfoTokenResponse) SetBot

func (i *InfoTokenResponse) SetBot(bot *InfoTokenResponseBot)

SetBot sets the Bot field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponse) SetClientID

func (i *InfoTokenResponse) SetClientID(clientID string)

SetClientID sets the ClientID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponse) SetRoam

func (i *InfoTokenResponse) SetRoam(roam *InfoTokenResponseRoam)

SetRoam sets the Roam field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponse) SetScopes

func (i *InfoTokenResponse) SetScopes(scopes []string)

SetScopes sets the Scopes field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponse) SetUser

func (i *InfoTokenResponse) SetUser(user *InfoTokenResponseUser)

SetUser sets the User field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponse) String

func (i *InfoTokenResponse) String() string

func (*InfoTokenResponse) UnmarshalJSON

func (i *InfoTokenResponse) UnmarshalJSON(data []byte) error

type InfoTokenResponseBot

type InfoTokenResponseBot struct {
	// Bot ID
	ID string `json:"id" url:"id"`
	// Bot display name
	Name string `json:"name" url:"name"`
	// Bot profile image URL
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoTokenResponseBot) GetExtraProperties

func (i *InfoTokenResponseBot) GetExtraProperties() map[string]interface{}

func (*InfoTokenResponseBot) GetID

func (i *InfoTokenResponseBot) GetID() string

func (*InfoTokenResponseBot) GetImageURL

func (i *InfoTokenResponseBot) GetImageURL() *string

func (*InfoTokenResponseBot) GetName

func (i *InfoTokenResponseBot) GetName() string

func (*InfoTokenResponseBot) MarshalJSON

func (i *InfoTokenResponseBot) MarshalJSON() ([]byte, error)

func (*InfoTokenResponseBot) SetID

func (i *InfoTokenResponseBot) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseBot) SetImageURL

func (i *InfoTokenResponseBot) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseBot) SetName

func (i *InfoTokenResponseBot) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseBot) String

func (i *InfoTokenResponseBot) String() string

func (*InfoTokenResponseBot) UnmarshalJSON

func (i *InfoTokenResponseBot) UnmarshalJSON(data []byte) error

type InfoTokenResponseRoam

type InfoTokenResponseRoam struct {
	// The Roam's external ID
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// The Roam's display name
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// URL of the Roam's profile image
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// URL of the Roam's icon
	IconURL *string `json:"iconUrl,omitempty" url:"iconUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoTokenResponseRoam) GetExtraProperties

func (i *InfoTokenResponseRoam) GetExtraProperties() map[string]interface{}

func (*InfoTokenResponseRoam) GetID

func (i *InfoTokenResponseRoam) GetID() *string

func (*InfoTokenResponseRoam) GetIconURL

func (i *InfoTokenResponseRoam) GetIconURL() *string

func (*InfoTokenResponseRoam) GetImageURL

func (i *InfoTokenResponseRoam) GetImageURL() *string

func (*InfoTokenResponseRoam) GetName

func (i *InfoTokenResponseRoam) GetName() *string

func (*InfoTokenResponseRoam) MarshalJSON

func (i *InfoTokenResponseRoam) MarshalJSON() ([]byte, error)

func (*InfoTokenResponseRoam) SetID

func (i *InfoTokenResponseRoam) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseRoam) SetIconURL

func (i *InfoTokenResponseRoam) SetIconURL(iconURL *string)

SetIconURL sets the IconURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseRoam) SetImageURL

func (i *InfoTokenResponseRoam) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseRoam) SetName

func (i *InfoTokenResponseRoam) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseRoam) String

func (i *InfoTokenResponseRoam) String() string

func (*InfoTokenResponseRoam) UnmarshalJSON

func (i *InfoTokenResponseRoam) UnmarshalJSON(data []byte) error

type InfoTokenResponseUser

type InfoTokenResponseUser struct {
	// User/bot ID
	ID string `json:"id" url:"id"`
	// Display name
	Name string `json:"name" url:"name"`
	// Profile image URL
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// Email address. Included for personal access tokens with the `user:read.email` scope.
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoTokenResponseUser) GetEmail

func (i *InfoTokenResponseUser) GetEmail() *string

func (*InfoTokenResponseUser) GetExtraProperties

func (i *InfoTokenResponseUser) GetExtraProperties() map[string]interface{}

func (*InfoTokenResponseUser) GetID

func (i *InfoTokenResponseUser) GetID() string

func (*InfoTokenResponseUser) GetImageURL

func (i *InfoTokenResponseUser) GetImageURL() *string

func (*InfoTokenResponseUser) GetName

func (i *InfoTokenResponseUser) GetName() string

func (*InfoTokenResponseUser) MarshalJSON

func (i *InfoTokenResponseUser) MarshalJSON() ([]byte, error)

func (*InfoTokenResponseUser) SetEmail

func (i *InfoTokenResponseUser) SetEmail(email *string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseUser) SetID

func (i *InfoTokenResponseUser) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseUser) SetImageURL

func (i *InfoTokenResponseUser) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseUser) SetName

func (i *InfoTokenResponseUser) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoTokenResponseUser) String

func (i *InfoTokenResponseUser) String() string

func (*InfoTokenResponseUser) UnmarshalJSON

func (i *InfoTokenResponseUser) UnmarshalJSON(data []byte) error

type InfoUserRequest

type InfoUserRequest struct {
	// A bare or tagged principal ID. Mutually exclusive with `email`.
	ID *string `json:"-" url:"id,omitempty"`
	// The user's email address. Mutually exclusive with `id`. Requires `user:read.email` scope.
	Email *string `json:"-" url:"email,omitempty"`
	// Comma-separated list of additional fields to include. Supported: `status`, `available` (each requires `user:read.status`). Expanding `status` also returns `willReturn` when the user has a future out-of-office entry.
	Expand *string `json:"-" url:"expand,omitempty"`
	// contains filtered or unexported fields
}

func (*InfoUserRequest) SetEmail

func (i *InfoUserRequest) SetEmail(email *string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoUserRequest) SetExpand

func (i *InfoUserRequest) SetExpand(expand *string)

SetExpand sets the Expand field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*InfoUserRequest) SetID

func (i *InfoUserRequest) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type InternalServerError

type InternalServerError struct {
	*core.APIError
	Body any
}

An internal error occurred, including a preview sender that cannot resolve as a visible principal. The endpoint does not return a partial page.

func (*InternalServerError) MarshalJSON

func (i *InternalServerError) MarshalJSON() ([]byte, error)

func (*InternalServerError) UnmarshalJSON

func (i *InternalServerError) UnmarshalJSON(data []byte) error

func (*InternalServerError) Unwrap

func (i *InternalServerError) Unwrap() error

type JoinGroupRequest

type JoinGroupRequest struct {
	// Group ID
	ID string `json:"id" url:"-"`
	// contains filtered or unexported fields
}

func (*JoinGroupRequest) MarshalJSON

func (j *JoinGroupRequest) MarshalJSON() ([]byte, error)

func (*JoinGroupRequest) SetID

func (j *JoinGroupRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*JoinGroupRequest) UnmarshalJSON

func (j *JoinGroupRequest) UnmarshalJSON(data []byte) error

type LinkInfoMeetingRequest

type LinkInfoMeetingRequest struct {
	// Meeting Link ID
	ID string `json:"id" url:"-"`
	// contains filtered or unexported fields
}

func (*LinkInfoMeetingRequest) MarshalJSON

func (l *LinkInfoMeetingRequest) MarshalJSON() ([]byte, error)

func (*LinkInfoMeetingRequest) SetID

func (l *LinkInfoMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingRequest) UnmarshalJSON

func (l *LinkInfoMeetingRequest) UnmarshalJSON(data []byte) error

type LinkInfoMeetingResponse

type LinkInfoMeetingResponse struct {
	// Meeting Link ID
	ID string `json:"id" url:"id"`
	// Meeting Name
	Name string `json:"name" url:"name"`
	// Meeting Host Email, matching a member of your Roam.
	Host string `json:"host" url:"host"`
	// (Optional) Meeting start time in RFC3339.
	Start *time.Time `json:"start,omitempty" url:"start,omitempty"`
	// (Optional) Meeting end time in RFC3339.
	End *time.Time `json:"end,omitempty" url:"end,omitempty"`
	// Meeting link URL
	URL string `json:"url" url:"url"`
	// Whether attendees joining with an unconfirmed email are required to verify it before joining.
	RequireUnconfirmedEmail *bool `json:"requireUnconfirmedEmail,omitempty" url:"requireUnconfirmedEmail,omitempty"`
	// contains filtered or unexported fields
}

func (*LinkInfoMeetingResponse) GetEnd

func (l *LinkInfoMeetingResponse) GetEnd() *time.Time

func (*LinkInfoMeetingResponse) GetExtraProperties

func (l *LinkInfoMeetingResponse) GetExtraProperties() map[string]interface{}

func (*LinkInfoMeetingResponse) GetHost

func (l *LinkInfoMeetingResponse) GetHost() string

func (*LinkInfoMeetingResponse) GetID

func (l *LinkInfoMeetingResponse) GetID() string

func (*LinkInfoMeetingResponse) GetName

func (l *LinkInfoMeetingResponse) GetName() string

func (*LinkInfoMeetingResponse) GetRequireUnconfirmedEmail

func (l *LinkInfoMeetingResponse) GetRequireUnconfirmedEmail() *bool

func (*LinkInfoMeetingResponse) GetStart

func (l *LinkInfoMeetingResponse) GetStart() *time.Time

func (*LinkInfoMeetingResponse) GetURL

func (l *LinkInfoMeetingResponse) GetURL() string

func (*LinkInfoMeetingResponse) MarshalJSON

func (l *LinkInfoMeetingResponse) MarshalJSON() ([]byte, error)

func (*LinkInfoMeetingResponse) SetEnd

func (l *LinkInfoMeetingResponse) SetEnd(end *time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) SetHost

func (l *LinkInfoMeetingResponse) SetHost(host string)

SetHost sets the Host field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) SetID

func (l *LinkInfoMeetingResponse) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) SetName

func (l *LinkInfoMeetingResponse) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) SetRequireUnconfirmedEmail

func (l *LinkInfoMeetingResponse) SetRequireUnconfirmedEmail(requireUnconfirmedEmail *bool)

SetRequireUnconfirmedEmail sets the RequireUnconfirmedEmail field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) SetStart

func (l *LinkInfoMeetingResponse) SetStart(start *time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) SetURL

func (l *LinkInfoMeetingResponse) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LinkInfoMeetingResponse) String

func (l *LinkInfoMeetingResponse) String() string

func (*LinkInfoMeetingResponse) UnmarshalJSON

func (l *LinkInfoMeetingResponse) UnmarshalJSON(data []byte) error

type ListBookingsLobbyRequest

type ListBookingsLobbyRequest struct {
	// The lobby configuration ID to list bookings for.
	LobbyID string `json:"-" url:"lobbyId"`
	// The datetime to begin listing bookings (YYYY-MM-DD or RFC-3339).
	// Defaults to "no filter".
	After *time.Time `json:"-" url:"after,omitempty"`
	// The datetime until which to list bookings (YYYY-MM-DD or RFC-3339).
	// Defaults to "now".
	Before *time.Time `json:"-" url:"before,omitempty"`
	// The number of bookings to return per response. Default is 10.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListBookingsLobbyRequest) SetAfter

func (l *ListBookingsLobbyRequest) SetAfter(after *time.Time)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListBookingsLobbyRequest) SetBefore

func (l *ListBookingsLobbyRequest) SetBefore(before *time.Time)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListBookingsLobbyRequest) SetCursor

func (l *ListBookingsLobbyRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListBookingsLobbyRequest) SetLimit

func (l *ListBookingsLobbyRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListBookingsLobbyRequest) SetLobbyID

func (l *ListBookingsLobbyRequest) SetLobbyID(lobbyID string)

SetLobbyID sets the LobbyID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListBookingsLobbyResponse

type ListBookingsLobbyResponse struct {
	Bookings []*LobbyBooking `json:"bookings,omitempty" url:"bookings,omitempty"`
	// Returned if there is a subsequent page of bookings.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListBookingsLobbyResponse) GetBookings

func (l *ListBookingsLobbyResponse) GetBookings() []*LobbyBooking

func (*ListBookingsLobbyResponse) GetExtraProperties

func (l *ListBookingsLobbyResponse) GetExtraProperties() map[string]interface{}

func (*ListBookingsLobbyResponse) GetNextCursor

func (l *ListBookingsLobbyResponse) GetNextCursor() *string

func (*ListBookingsLobbyResponse) MarshalJSON

func (l *ListBookingsLobbyResponse) MarshalJSON() ([]byte, error)

func (*ListBookingsLobbyResponse) SetBookings

func (l *ListBookingsLobbyResponse) SetBookings(bookings []*LobbyBooking)

SetBookings sets the Bookings field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListBookingsLobbyResponse) SetNextCursor

func (l *ListBookingsLobbyResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListBookingsLobbyResponse) String

func (l *ListBookingsLobbyResponse) String() string

func (*ListBookingsLobbyResponse) UnmarshalJSON

func (l *ListBookingsLobbyResponse) UnmarshalJSON(data []byte) error

type ListCalendarRequest

type ListCalendarRequest struct {
	// First day to include (`YYYY-MM-DD`, caller's timezone). Defaults to today.
	StartDate *string `json:"-" url:"startDate,omitempty"`
	// Last day to include (`YYYY-MM-DD`, caller's timezone, inclusive).
	// Defaults to seven days after the resolved `startDate`.
	EndDate *string `json:"-" url:"endDate,omitempty"`
	// contains filtered or unexported fields
}

func (*ListCalendarRequest) SetEndDate

func (l *ListCalendarRequest) SetEndDate(endDate *string)

SetEndDate sets the EndDate field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarRequest) SetStartDate

func (l *ListCalendarRequest) SetStartDate(startDate *string)

SetStartDate sets the StartDate field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListCalendarResponse

type ListCalendarResponse struct {
	Events []*ListCalendarResponseEventsItem `json:"events" url:"events"`
	// contains filtered or unexported fields
}

func (*ListCalendarResponse) GetEvents

func (*ListCalendarResponse) GetExtraProperties

func (l *ListCalendarResponse) GetExtraProperties() map[string]interface{}

func (*ListCalendarResponse) MarshalJSON

func (l *ListCalendarResponse) MarshalJSON() ([]byte, error)

func (*ListCalendarResponse) SetEvents

func (l *ListCalendarResponse) SetEvents(events []*ListCalendarResponseEventsItem)

SetEvents sets the Events field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponse) String

func (l *ListCalendarResponse) String() string

func (*ListCalendarResponse) UnmarshalJSON

func (l *ListCalendarResponse) UnmarshalJSON(data []byte) error

type ListCalendarResponseEventsItem

type ListCalendarResponseEventsItem struct {
	// Provider-specific event ID.
	ID          string  `json:"id" url:"id"`
	Title       string  `json:"title" url:"title"`
	Description *string `json:"description,omitempty" url:"description,omitempty"`
	// Event start time (RFC3339, caller's timezone).
	StartTime time.Time `json:"startTime" url:"startTime"`
	// Event end time (RFC3339, caller's timezone).
	EndTime time.Time `json:"endTime" url:"endTime"`
	// Weekday name (`Monday`, `Tuesday`, …) of `startTime` in the caller's timezone.
	Weekday string `json:"weekday" url:"weekday"`
	// `true` for all-day events. All-day events are
	// emitted at UTC midnight without timezone
	// conversion.
	AllDay *bool `json:"allDay,omitempty" url:"allDay,omitempty"`
	// Conference URL if the event has video conferencing
	// attached (preferring video entry points).
	Location *string                                      `json:"location,omitempty" url:"location,omitempty"`
	Invites  []*ListCalendarResponseEventsItemInvitesItem `json:"invites" url:"invites"`
	// Organizer email address.
	Organizer *string `json:"organizer,omitempty" url:"organizer,omitempty"`
	// iCalendar RFC 5545 recurrence rule for the master
	// event in a recurring series. Mutually exclusive
	// with `recurringEventId`.
	Rrule *string `json:"rrule,omitempty" url:"rrule,omitempty"`
	// Master event ID when this event is one instance of
	// a recurring series.
	RecurringEventID *string `json:"recurringEventId,omitempty" url:"recurringEventId,omitempty"`
	// Roam meeting link attached to the event, if any.
	MeetingLinkID *string `json:"meetingLinkId,omitempty" url:"meetingLinkId,omitempty"`
	// contains filtered or unexported fields
}

func (*ListCalendarResponseEventsItem) GetAllDay

func (l *ListCalendarResponseEventsItem) GetAllDay() *bool

func (*ListCalendarResponseEventsItem) GetDescription

func (l *ListCalendarResponseEventsItem) GetDescription() *string

func (*ListCalendarResponseEventsItem) GetEndTime

func (l *ListCalendarResponseEventsItem) GetEndTime() time.Time

func (*ListCalendarResponseEventsItem) GetExtraProperties

func (l *ListCalendarResponseEventsItem) GetExtraProperties() map[string]interface{}

func (*ListCalendarResponseEventsItem) GetID

func (*ListCalendarResponseEventsItem) GetInvites

func (*ListCalendarResponseEventsItem) GetLocation

func (l *ListCalendarResponseEventsItem) GetLocation() *string

func (*ListCalendarResponseEventsItem) GetMeetingLinkID

func (l *ListCalendarResponseEventsItem) GetMeetingLinkID() *string

func (*ListCalendarResponseEventsItem) GetOrganizer

func (l *ListCalendarResponseEventsItem) GetOrganizer() *string

func (*ListCalendarResponseEventsItem) GetRecurringEventID

func (l *ListCalendarResponseEventsItem) GetRecurringEventID() *string

func (*ListCalendarResponseEventsItem) GetRrule

func (l *ListCalendarResponseEventsItem) GetRrule() *string

func (*ListCalendarResponseEventsItem) GetStartTime

func (l *ListCalendarResponseEventsItem) GetStartTime() time.Time

func (*ListCalendarResponseEventsItem) GetTitle

func (l *ListCalendarResponseEventsItem) GetTitle() string

func (*ListCalendarResponseEventsItem) GetWeekday

func (l *ListCalendarResponseEventsItem) GetWeekday() string

func (*ListCalendarResponseEventsItem) MarshalJSON

func (l *ListCalendarResponseEventsItem) MarshalJSON() ([]byte, error)

func (*ListCalendarResponseEventsItem) SetAllDay

func (l *ListCalendarResponseEventsItem) SetAllDay(allDay *bool)

SetAllDay sets the AllDay field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetDescription

func (l *ListCalendarResponseEventsItem) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetEndTime

func (l *ListCalendarResponseEventsItem) SetEndTime(endTime time.Time)

SetEndTime sets the EndTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetID

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetInvites

SetInvites sets the Invites field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetLocation

func (l *ListCalendarResponseEventsItem) SetLocation(location *string)

SetLocation sets the Location field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetMeetingLinkID

func (l *ListCalendarResponseEventsItem) SetMeetingLinkID(meetingLinkID *string)

SetMeetingLinkID sets the MeetingLinkID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetOrganizer

func (l *ListCalendarResponseEventsItem) SetOrganizer(organizer *string)

SetOrganizer sets the Organizer field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetRecurringEventID

func (l *ListCalendarResponseEventsItem) SetRecurringEventID(recurringEventID *string)

SetRecurringEventID sets the RecurringEventID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetRrule

func (l *ListCalendarResponseEventsItem) SetRrule(rrule *string)

SetRrule sets the Rrule field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetStartTime

func (l *ListCalendarResponseEventsItem) SetStartTime(startTime time.Time)

SetStartTime sets the StartTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetTitle

func (l *ListCalendarResponseEventsItem) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) SetWeekday

func (l *ListCalendarResponseEventsItem) SetWeekday(weekday string)

SetWeekday sets the Weekday field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItem) String

func (*ListCalendarResponseEventsItem) UnmarshalJSON

func (l *ListCalendarResponseEventsItem) UnmarshalJSON(data []byte) error

type ListCalendarResponseEventsItemInvitesItem

type ListCalendarResponseEventsItemInvitesItem struct {
	Name  *string `json:"name,omitempty" url:"name,omitempty"`
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// RSVP status from the calendar provider.
	ResponseStatus *string `json:"responseStatus,omitempty" url:"responseStatus,omitempty"`
	// contains filtered or unexported fields
}

func (*ListCalendarResponseEventsItemInvitesItem) GetEmail

func (*ListCalendarResponseEventsItemInvitesItem) GetExtraProperties

func (l *ListCalendarResponseEventsItemInvitesItem) GetExtraProperties() map[string]interface{}

func (*ListCalendarResponseEventsItemInvitesItem) GetName

func (*ListCalendarResponseEventsItemInvitesItem) GetResponseStatus

func (l *ListCalendarResponseEventsItemInvitesItem) GetResponseStatus() *string

func (*ListCalendarResponseEventsItemInvitesItem) MarshalJSON

func (*ListCalendarResponseEventsItemInvitesItem) SetEmail

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItemInvitesItem) SetName

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItemInvitesItem) SetResponseStatus

func (l *ListCalendarResponseEventsItemInvitesItem) SetResponseStatus(responseStatus *string)

SetResponseStatus sets the ResponseStatus field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListCalendarResponseEventsItemInvitesItem) String

func (*ListCalendarResponseEventsItemInvitesItem) UnmarshalJSON

func (l *ListCalendarResponseEventsItemInvitesItem) UnmarshalJSON(data []byte) error

type ListChatRequest

type ListChatRequest struct {
	// Number of chats to return per response. Default 10, max 50.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// Comma-separated fields to expand. Supported: `addresses` — include an
	// `addresses` map resolving chat participants and preview sender IDs.
	Expand *string `json:"-" url:"expand,omitempty"`
	// contains filtered or unexported fields
}

func (*ListChatRequest) SetCursor

func (l *ListChatRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatRequest) SetExpand

func (l *ListChatRequest) SetExpand(expand *string)

SetExpand sets the Expand field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatRequest) SetLimit

func (l *ListChatRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListChatResponse

type ListChatResponse struct {
	Chats []*ListChatResponseChatsItem `json:"chats,omitempty" url:"chats,omitempty"`
	// Pagination cursor for fetching the next page of results.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// Resolved addresses keyed by UUID. Included only with `expand=addresses`.
	Addresses map[string]*Address `json:"addresses,omitempty" url:"addresses,omitempty"`
	// contains filtered or unexported fields
}

func (*ListChatResponse) GetAddresses

func (l *ListChatResponse) GetAddresses() map[string]*Address

func (*ListChatResponse) GetChats

func (*ListChatResponse) GetExtraProperties

func (l *ListChatResponse) GetExtraProperties() map[string]interface{}

func (*ListChatResponse) GetNextCursor

func (l *ListChatResponse) GetNextCursor() *string

func (*ListChatResponse) MarshalJSON

func (l *ListChatResponse) MarshalJSON() ([]byte, error)

func (*ListChatResponse) SetAddresses

func (l *ListChatResponse) SetAddresses(addresses map[string]*Address)

SetAddresses sets the Addresses field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponse) SetChats

func (l *ListChatResponse) SetChats(chats []*ListChatResponseChatsItem)

SetChats sets the Chats field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponse) SetNextCursor

func (l *ListChatResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponse) String

func (l *ListChatResponse) String() string

func (*ListChatResponse) UnmarshalJSON

func (l *ListChatResponse) UnmarshalJSON(data []byte) error

type ListChatResponseChatsItem

type ListChatResponseChatsItem struct {
	// The Chat ID.
	ID string `json:"id" url:"id"`
	// The kind of chat, using the same vocabulary as the
	// `chat.message` webhook `chatType` filter: `dm` for
	// direct and multi-person DMs, `group` for group chats
	// (including all-hands and meeting channels). Omitted
	// for chat kinds outside that vocabulary (e.g. meeting
	// chats).
	Type *ListChatResponseChatsItemType `json:"type,omitempty" url:"type,omitempty"`
	// Unix-microsecond timestamp of the parent message
	// when this row represents a thread (Personal tokens
	// only). Absent for top-level chat rows.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// Descriptive name for the chat:
	//
	// * Group chat — the group name
	// * DM — the name of the other party
	// * Multi-DM — comma-separated list of participant names
	Name string `json:"name" url:"name"`
	// The Group ID. Only present for group chats
	// (including all-hands and meeting chats); absent for
	// DMs and Multi-DMs.
	GroupID *string `json:"groupId,omitempty" url:"groupId,omitempty"`
	// When the chat was created (RFC3339, caller's timezone).
	Created time.Time `json:"created" url:"created"`
	// Time of the most recent activity. Personal access
	// only; absent on Organization responses.
	LastMessageTime *time.Time `json:"lastMessageTime,omitempty" url:"lastMessageTime,omitempty"`
	// `true` if the chat has unread messages. Personal
	// access only.
	IsUnread *bool `json:"isUnread,omitempty" url:"isUnread,omitempty"`
	// Preview of the most recent message. Personal access
	// only.
	Preview *ListChatResponseChatsItemPreview `json:"preview,omitempty" url:"preview,omitempty"`
	// `true` if the user has muted the chat. Personal
	// access only.
	IsMuted *bool `json:"isMuted,omitempty" url:"isMuted,omitempty"`
	// `true` if the user has pinned the chat. Personal
	// access only.
	IsPinned *bool `json:"isPinned,omitempty" url:"isPinned,omitempty"`
	// contains filtered or unexported fields
}

func (*ListChatResponseChatsItem) GetCreated

func (l *ListChatResponseChatsItem) GetCreated() time.Time

func (*ListChatResponseChatsItem) GetExtraProperties

func (l *ListChatResponseChatsItem) GetExtraProperties() map[string]interface{}

func (*ListChatResponseChatsItem) GetGroupID

func (l *ListChatResponseChatsItem) GetGroupID() *string

func (*ListChatResponseChatsItem) GetID

func (l *ListChatResponseChatsItem) GetID() string

func (*ListChatResponseChatsItem) GetIsMuted

func (l *ListChatResponseChatsItem) GetIsMuted() *bool

func (*ListChatResponseChatsItem) GetIsPinned

func (l *ListChatResponseChatsItem) GetIsPinned() *bool

func (*ListChatResponseChatsItem) GetIsUnread

func (l *ListChatResponseChatsItem) GetIsUnread() *bool

func (*ListChatResponseChatsItem) GetLastMessageTime

func (l *ListChatResponseChatsItem) GetLastMessageTime() *time.Time

func (*ListChatResponseChatsItem) GetName

func (l *ListChatResponseChatsItem) GetName() string

func (*ListChatResponseChatsItem) GetPreview

func (*ListChatResponseChatsItem) GetThreadTimestamp

func (l *ListChatResponseChatsItem) GetThreadTimestamp() *int

func (*ListChatResponseChatsItem) GetType

func (*ListChatResponseChatsItem) MarshalJSON

func (l *ListChatResponseChatsItem) MarshalJSON() ([]byte, error)

func (*ListChatResponseChatsItem) SetCreated

func (l *ListChatResponseChatsItem) SetCreated(created time.Time)

SetCreated sets the Created field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetGroupID

func (l *ListChatResponseChatsItem) SetGroupID(groupID *string)

SetGroupID sets the GroupID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetID

func (l *ListChatResponseChatsItem) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetIsMuted

func (l *ListChatResponseChatsItem) SetIsMuted(isMuted *bool)

SetIsMuted sets the IsMuted field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetIsPinned

func (l *ListChatResponseChatsItem) SetIsPinned(isPinned *bool)

SetIsPinned sets the IsPinned field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetIsUnread

func (l *ListChatResponseChatsItem) SetIsUnread(isUnread *bool)

SetIsUnread sets the IsUnread field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetLastMessageTime

func (l *ListChatResponseChatsItem) SetLastMessageTime(lastMessageTime *time.Time)

SetLastMessageTime sets the LastMessageTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetName

func (l *ListChatResponseChatsItem) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetPreview

SetPreview sets the Preview field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetThreadTimestamp

func (l *ListChatResponseChatsItem) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) SetType

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItem) String

func (l *ListChatResponseChatsItem) String() string

func (*ListChatResponseChatsItem) UnmarshalJSON

func (l *ListChatResponseChatsItem) UnmarshalJSON(data []byte) error

type ListChatResponseChatsItemPreview

type ListChatResponseChatsItemPreview struct {
	Text        *string                                      `json:"text,omitempty" url:"text,omitempty"`
	ContentType *ListChatResponseChatsItemPreviewContentType `json:"contentType,omitempty" url:"contentType,omitempty"`
	// User ID of the message sender. Present when the previewed message has a principal author; system previews (such as membership changes) and deleted messages omit it. When present, it resolves through `/user.info`.
	SenderID *string `json:"senderId,omitempty" url:"senderId,omitempty"`
	// Per-message sender display override the previewed
	// message was sent with. Present only when the
	// message carries one; `senderId` remains the
	// authoring identity. Omitted for deleted messages.
	// See the
	// [Sender Profiles guide](https://developer.ro.am/docs/guides/sender-profiles).
	Sender *ListChatResponseChatsItemPreviewSender `json:"sender,omitempty" url:"sender,omitempty"`
	// `true` if the previewed message mentions the user.
	Mentioned *bool `json:"mentioned,omitempty" url:"mentioned,omitempty"`
	// contains filtered or unexported fields
}

func (*ListChatResponseChatsItemPreview) GetContentType

func (*ListChatResponseChatsItemPreview) GetExtraProperties

func (l *ListChatResponseChatsItemPreview) GetExtraProperties() map[string]interface{}

func (*ListChatResponseChatsItemPreview) GetMentioned

func (l *ListChatResponseChatsItemPreview) GetMentioned() *bool

func (*ListChatResponseChatsItemPreview) GetSender

func (*ListChatResponseChatsItemPreview) GetSenderID

func (l *ListChatResponseChatsItemPreview) GetSenderID() *string

func (*ListChatResponseChatsItemPreview) GetText

func (*ListChatResponseChatsItemPreview) MarshalJSON

func (l *ListChatResponseChatsItemPreview) MarshalJSON() ([]byte, error)

func (*ListChatResponseChatsItemPreview) SetContentType

SetContentType sets the ContentType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreview) SetMentioned

func (l *ListChatResponseChatsItemPreview) SetMentioned(mentioned *bool)

SetMentioned sets the Mentioned field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreview) SetSender

SetSender sets the Sender field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreview) SetSenderID

func (l *ListChatResponseChatsItemPreview) SetSenderID(senderID *string)

SetSenderID sets the SenderID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreview) SetText

func (l *ListChatResponseChatsItemPreview) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreview) String

func (*ListChatResponseChatsItemPreview) UnmarshalJSON

func (l *ListChatResponseChatsItemPreview) UnmarshalJSON(data []byte) error

type ListChatResponseChatsItemPreviewContentType

type ListChatResponseChatsItemPreviewContentType string
const (
	ListChatResponseChatsItemPreviewContentTypeText  ListChatResponseChatsItemPreviewContentType = "text"
	ListChatResponseChatsItemPreviewContentTypeVoice ListChatResponseChatsItemPreviewContentType = "voice"
	ListChatResponseChatsItemPreviewContentTypePoll  ListChatResponseChatsItemPreviewContentType = "poll"
)

func NewListChatResponseChatsItemPreviewContentTypeFromString

func NewListChatResponseChatsItemPreviewContentTypeFromString(s string) (ListChatResponseChatsItemPreviewContentType, error)

func (ListChatResponseChatsItemPreviewContentType) Ptr

type ListChatResponseChatsItemPreviewSender

type ListChatResponseChatsItemPreviewSender struct {
	// Display name override for the previewed message.
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Avatar URL override for the previewed message.
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*ListChatResponseChatsItemPreviewSender) GetExtraProperties

func (l *ListChatResponseChatsItemPreviewSender) GetExtraProperties() map[string]interface{}

func (*ListChatResponseChatsItemPreviewSender) GetImageURL

func (*ListChatResponseChatsItemPreviewSender) GetName

func (*ListChatResponseChatsItemPreviewSender) MarshalJSON

func (l *ListChatResponseChatsItemPreviewSender) MarshalJSON() ([]byte, error)

func (*ListChatResponseChatsItemPreviewSender) SetImageURL

func (l *ListChatResponseChatsItemPreviewSender) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreviewSender) SetName

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListChatResponseChatsItemPreviewSender) String

func (*ListChatResponseChatsItemPreviewSender) UnmarshalJSON

func (l *ListChatResponseChatsItemPreviewSender) UnmarshalJSON(data []byte) error

type ListChatResponseChatsItemType

type ListChatResponseChatsItemType string

The kind of chat, using the same vocabulary as the `chat.message` webhook `chatType` filter: `dm` for direct and multi-person DMs, `group` for group chats (including all-hands and meeting channels). Omitted for chat kinds outside that vocabulary (e.g. meeting chats).

const (
	ListChatResponseChatsItemTypeDm    ListChatResponseChatsItemType = "dm"
	ListChatResponseChatsItemTypeGroup ListChatResponseChatsItemType = "group"
)

func NewListChatResponseChatsItemTypeFromString

func NewListChatResponseChatsItemTypeFromString(s string) (ListChatResponseChatsItemType, error)

func (ListChatResponseChatsItemType) Ptr

type ListConversationRequest

type ListConversationRequest struct {
	// Only return conversations that started before this ISO-8601 timestamp.
	Before *time.Time `json:"-" url:"before,omitempty"`
	// Only return conversations that started after this ISO-8601 timestamp.
	After *time.Time `json:"-" url:"after,omitempty"`
	// Sort results in ascending order by start time. Default is descending (newest first).
	Ascending *bool `json:"-" url:"ascending,omitempty"`
	// The number of conversations to return per response.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListConversationRequest) SetAfter

func (l *ListConversationRequest) SetAfter(after *time.Time)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationRequest) SetAscending

func (l *ListConversationRequest) SetAscending(ascending *bool)

SetAscending sets the Ascending field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationRequest) SetBefore

func (l *ListConversationRequest) SetBefore(before *time.Time)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationRequest) SetCursor

func (l *ListConversationRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationRequest) SetLimit

func (l *ListConversationRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListConversationResponse

type ListConversationResponse struct {
	Conversations []*ListConversationResponseConversationsItem `json:"conversations,omitempty" url:"conversations,omitempty"`
	// Pagination cursor for fetching the next page of results
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListConversationResponse) GetConversations

func (*ListConversationResponse) GetExtraProperties

func (l *ListConversationResponse) GetExtraProperties() map[string]interface{}

func (*ListConversationResponse) GetNextCursor

func (l *ListConversationResponse) GetNextCursor() *string

func (*ListConversationResponse) MarshalJSON

func (l *ListConversationResponse) MarshalJSON() ([]byte, error)

func (*ListConversationResponse) SetConversations

func (l *ListConversationResponse) SetConversations(conversations []*ListConversationResponseConversationsItem)

SetConversations sets the Conversations field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponse) SetNextCursor

func (l *ListConversationResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponse) String

func (l *ListConversationResponse) String() string

func (*ListConversationResponse) UnmarshalJSON

func (l *ListConversationResponse) UnmarshalJSON(data []byte) error

type ListConversationResponseConversationsItem

type ListConversationResponseConversationsItem struct {
	// Unique identifier for the conversation (meeting GUID)
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// The place where the conversation occurred
	Place *string `json:"place,omitempty" url:"place,omitempty"`
	// The room name
	Room *string `json:"room,omitempty" url:"room,omitempty"`
	// The type of room
	RoomType *string `json:"roomType,omitempty" url:"roomType,omitempty"`
	// When the conversation started (ISO-8601)
	Start *time.Time `json:"start,omitempty" url:"start,omitempty"`
	// When the conversation ended (ISO-8601)
	End *time.Time `json:"end,omitempty" url:"end,omitempty"`
	// List of participants (requires `user:read` scope)
	Participants []*ListConversationResponseConversationsItemParticipantsItem `json:"participants,omitempty" url:"participants,omitempty"`
	// IDs of meeting links associated with this conversation
	MeetingLinkIDs []string `json:"meetingLinkIds,omitempty" url:"meetingLinkIds,omitempty"`
	// contains filtered or unexported fields
}

func (*ListConversationResponseConversationsItem) GetEnd

func (*ListConversationResponseConversationsItem) GetExtraProperties

func (l *ListConversationResponseConversationsItem) GetExtraProperties() map[string]interface{}

func (*ListConversationResponseConversationsItem) GetID

func (*ListConversationResponseConversationsItem) GetMeetingLinkIDs

func (l *ListConversationResponseConversationsItem) GetMeetingLinkIDs() []string

func (*ListConversationResponseConversationsItem) GetParticipants

func (*ListConversationResponseConversationsItem) GetPlace

func (*ListConversationResponseConversationsItem) GetRoom

func (*ListConversationResponseConversationsItem) GetRoomType

func (*ListConversationResponseConversationsItem) GetStart

func (*ListConversationResponseConversationsItem) MarshalJSON

func (*ListConversationResponseConversationsItem) SetEnd

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetID

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetMeetingLinkIDs

func (l *ListConversationResponseConversationsItem) SetMeetingLinkIDs(meetingLinkIDs []string)

SetMeetingLinkIDs sets the MeetingLinkIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetParticipants

SetParticipants sets the Participants field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetPlace

SetPlace sets the Place field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetRoom

SetRoom sets the Room field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetRoomType

func (l *ListConversationResponseConversationsItem) SetRoomType(roomType *string)

SetRoomType sets the RoomType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) SetStart

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItem) String

func (*ListConversationResponseConversationsItem) UnmarshalJSON

func (l *ListConversationResponseConversationsItem) UnmarshalJSON(data []byte) error

type ListConversationResponseConversationsItemParticipantsItem

type ListConversationResponseConversationsItemParticipantsItem struct {
	// Display name of the participant
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Email address (requires `user:read.email` scope)
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// Duration the participant was in the conversation, in seconds
	Seconds *float64 `json:"seconds,omitempty" url:"seconds,omitempty"`
	// contains filtered or unexported fields
}

func (*ListConversationResponseConversationsItemParticipantsItem) GetEmail

func (*ListConversationResponseConversationsItemParticipantsItem) GetExtraProperties

func (l *ListConversationResponseConversationsItemParticipantsItem) GetExtraProperties() map[string]interface{}

func (*ListConversationResponseConversationsItemParticipantsItem) GetName

func (*ListConversationResponseConversationsItemParticipantsItem) GetSeconds

func (*ListConversationResponseConversationsItemParticipantsItem) MarshalJSON

func (*ListConversationResponseConversationsItemParticipantsItem) SetEmail

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItemParticipantsItem) SetName

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItemParticipantsItem) SetSeconds

SetSeconds sets the Seconds field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListConversationResponseConversationsItemParticipantsItem) String

func (*ListConversationResponseConversationsItemParticipantsItem) UnmarshalJSON

type ListGroupRequest

type ListGroupRequest struct {
	// Text filter. Groups are ranked by how well their name matches the query.
	Query *string `json:"-" url:"query,omitempty"`
	// Comma-separated list of group types to include. Must be one or
	// more of `standard`, `magicast`, `meeting`, `roam`, `onair`.
	// Defaults to all types.
	Type *string `json:"-" url:"type,omitempty"`
	// Number of groups to return per page (default 50, max 100).
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListGroupRequest) SetCursor

func (l *ListGroupRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupRequest) SetLimit

func (l *ListGroupRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupRequest) SetQuery

func (l *ListGroupRequest) SetQuery(query *string)

SetQuery sets the Query field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupRequest) SetType

func (l *ListGroupRequest) SetType(type_ *string)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListGroupResponse

type ListGroupResponse struct {
	Groups []*ListGroupResponseGroupsItem `json:"groups" url:"groups"`
	// Pagination cursor for the next page. Absent when there are no more results.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListGroupResponse) GetExtraProperties

func (l *ListGroupResponse) GetExtraProperties() map[string]interface{}

func (*ListGroupResponse) GetGroups

func (*ListGroupResponse) GetNextCursor

func (l *ListGroupResponse) GetNextCursor() *string

func (*ListGroupResponse) MarshalJSON

func (l *ListGroupResponse) MarshalJSON() ([]byte, error)

func (*ListGroupResponse) SetGroups

func (l *ListGroupResponse) SetGroups(groups []*ListGroupResponseGroupsItem)

SetGroups sets the Groups field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponse) SetNextCursor

func (l *ListGroupResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponse) String

func (l *ListGroupResponse) String() string

func (*ListGroupResponse) UnmarshalJSON

func (l *ListGroupResponse) UnmarshalJSON(data []byte) error

type ListGroupResponseGroupsItem

type ListGroupResponseGroupsItem struct {
	// The group ID.
	ID   string `json:"id" url:"id"`
	Name string `json:"name" url:"name"`
	// Group description, if set.
	Description *string `json:"description,omitempty" url:"description,omitempty"`
	// Group image URL, if set.
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// Group type.
	Type ListGroupResponseGroupsItemType `json:"type" url:"type"`
	// Whether the group is public or private.
	AccessMode *ListGroupResponseGroupsItemAccessMode `json:"accessMode,omitempty" url:"accessMode,omitempty"`
	// When the group was created (RFC3339, caller's timezone).
	DateCreated *time.Time `json:"dateCreated,omitempty" url:"dateCreated,omitempty"`
	// contains filtered or unexported fields
}

func (*ListGroupResponseGroupsItem) GetAccessMode

func (*ListGroupResponseGroupsItem) GetDateCreated

func (l *ListGroupResponseGroupsItem) GetDateCreated() *time.Time

func (*ListGroupResponseGroupsItem) GetDescription

func (l *ListGroupResponseGroupsItem) GetDescription() *string

func (*ListGroupResponseGroupsItem) GetExtraProperties

func (l *ListGroupResponseGroupsItem) GetExtraProperties() map[string]interface{}

func (*ListGroupResponseGroupsItem) GetID

func (*ListGroupResponseGroupsItem) GetImageURL

func (l *ListGroupResponseGroupsItem) GetImageURL() *string

func (*ListGroupResponseGroupsItem) GetName

func (l *ListGroupResponseGroupsItem) GetName() string

func (*ListGroupResponseGroupsItem) GetType

func (*ListGroupResponseGroupsItem) MarshalJSON

func (l *ListGroupResponseGroupsItem) MarshalJSON() ([]byte, error)

func (*ListGroupResponseGroupsItem) SetAccessMode

SetAccessMode sets the AccessMode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) SetDateCreated

func (l *ListGroupResponseGroupsItem) SetDateCreated(dateCreated *time.Time)

SetDateCreated sets the DateCreated field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) SetDescription

func (l *ListGroupResponseGroupsItem) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) SetID

func (l *ListGroupResponseGroupsItem) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) SetImageURL

func (l *ListGroupResponseGroupsItem) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) SetName

func (l *ListGroupResponseGroupsItem) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) SetType

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListGroupResponseGroupsItem) String

func (l *ListGroupResponseGroupsItem) String() string

func (*ListGroupResponseGroupsItem) UnmarshalJSON

func (l *ListGroupResponseGroupsItem) UnmarshalJSON(data []byte) error

type ListGroupResponseGroupsItemAccessMode

type ListGroupResponseGroupsItemAccessMode string

Whether the group is public or private.

const (
	ListGroupResponseGroupsItemAccessModePublic  ListGroupResponseGroupsItemAccessMode = "public"
	ListGroupResponseGroupsItemAccessModePrivate ListGroupResponseGroupsItemAccessMode = "private"
)

func NewListGroupResponseGroupsItemAccessModeFromString

func NewListGroupResponseGroupsItemAccessModeFromString(s string) (ListGroupResponseGroupsItemAccessMode, error)

func (ListGroupResponseGroupsItemAccessMode) Ptr

type ListGroupResponseGroupsItemType

type ListGroupResponseGroupsItemType string

Group type.

const (
	ListGroupResponseGroupsItemTypeStandard  ListGroupResponseGroupsItemType = "standard"
	ListGroupResponseGroupsItemTypeMagicast  ListGroupResponseGroupsItemType = "magicast"
	ListGroupResponseGroupsItemTypeMeeting   ListGroupResponseGroupsItemType = "meeting"
	ListGroupResponseGroupsItemTypeRoam      ListGroupResponseGroupsItemType = "roam"
	ListGroupResponseGroupsItemTypeOnair     ListGroupResponseGroupsItemType = "onair"
	ListGroupResponseGroupsItemTypeCommunity ListGroupResponseGroupsItemType = "community"
)

func NewListGroupResponseGroupsItemTypeFromString

func NewListGroupResponseGroupsItemTypeFromString(s string) (ListGroupResponseGroupsItemType, error)

func (ListGroupResponseGroupsItemType) Ptr

type ListLobbyRequest

type ListLobbyRequest struct {
	// Filter by lobby handle (first path segment), e.g., `robfig` for
	// `ro.am/robfig` or `ro.am/robfig/tour`.
	Handle *string `json:"-" url:"handle,omitempty"`
	// contains filtered or unexported fields
}

func (*ListLobbyRequest) SetHandle

func (l *ListLobbyRequest) SetHandle(handle *string)

SetHandle sets the Handle field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListLobbyResponse

type ListLobbyResponse struct {
	Lobbies []*ListLobbyResponseLobbiesItem `json:"lobbies,omitempty" url:"lobbies,omitempty"`
	// contains filtered or unexported fields
}

func (*ListLobbyResponse) GetExtraProperties

func (l *ListLobbyResponse) GetExtraProperties() map[string]interface{}

func (*ListLobbyResponse) GetLobbies

func (*ListLobbyResponse) MarshalJSON

func (l *ListLobbyResponse) MarshalJSON() ([]byte, error)

func (*ListLobbyResponse) SetLobbies

func (l *ListLobbyResponse) SetLobbies(lobbies []*ListLobbyResponseLobbiesItem)

SetLobbies sets the Lobbies field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponse) String

func (l *ListLobbyResponse) String() string

func (*ListLobbyResponse) UnmarshalJSON

func (l *ListLobbyResponse) UnmarshalJSON(data []byte) error

type ListLobbyResponseLobbiesItem

type ListLobbyResponseLobbiesItem struct {
	// Unique identifier of the lobby configuration (UUID)
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// Optional second path segment for the lobby. May be empty.
	Slug *string `json:"slug,omitempty" url:"slug,omitempty"`
	// Human-readable name of the lobby configuration
	DisplayName *string `json:"displayName,omitempty" url:"displayName,omitempty"`
	// Whether the lobby configuration is active
	Active *bool `json:"active,omitempty" url:"active,omitempty"`
	// Public URL of the lobby (e.g., `https://ro.am/handle` or `https://ro.am/handle/slug`)
	URL *string `json:"url,omitempty" url:"url,omitempty"`
	// First path segment of the lobby URL
	Handle *string `json:"handle,omitempty" url:"handle,omitempty"`
	// contains filtered or unexported fields
}

func (*ListLobbyResponseLobbiesItem) GetActive

func (l *ListLobbyResponseLobbiesItem) GetActive() *bool

func (*ListLobbyResponseLobbiesItem) GetDisplayName

func (l *ListLobbyResponseLobbiesItem) GetDisplayName() *string

func (*ListLobbyResponseLobbiesItem) GetExtraProperties

func (l *ListLobbyResponseLobbiesItem) GetExtraProperties() map[string]interface{}

func (*ListLobbyResponseLobbiesItem) GetHandle

func (l *ListLobbyResponseLobbiesItem) GetHandle() *string

func (*ListLobbyResponseLobbiesItem) GetID

func (*ListLobbyResponseLobbiesItem) GetSlug

func (l *ListLobbyResponseLobbiesItem) GetSlug() *string

func (*ListLobbyResponseLobbiesItem) GetURL

func (l *ListLobbyResponseLobbiesItem) GetURL() *string

func (*ListLobbyResponseLobbiesItem) MarshalJSON

func (l *ListLobbyResponseLobbiesItem) MarshalJSON() ([]byte, error)

func (*ListLobbyResponseLobbiesItem) SetActive

func (l *ListLobbyResponseLobbiesItem) SetActive(active *bool)

SetActive sets the Active field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponseLobbiesItem) SetDisplayName

func (l *ListLobbyResponseLobbiesItem) SetDisplayName(displayName *string)

SetDisplayName sets the DisplayName field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponseLobbiesItem) SetHandle

func (l *ListLobbyResponseLobbiesItem) SetHandle(handle *string)

SetHandle sets the Handle field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponseLobbiesItem) SetID

func (l *ListLobbyResponseLobbiesItem) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponseLobbiesItem) SetSlug

func (l *ListLobbyResponseLobbiesItem) SetSlug(slug *string)

SetSlug sets the Slug field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponseLobbiesItem) SetURL

func (l *ListLobbyResponseLobbiesItem) SetURL(url *string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListLobbyResponseLobbiesItem) String

func (*ListLobbyResponseLobbiesItem) UnmarshalJSON

func (l *ListLobbyResponseLobbiesItem) UnmarshalJSON(data []byte) error

type ListMagicastRequest

type ListMagicastRequest struct {
	// Only return magicasts created after this time (RFC-3339).
	After *time.Time `json:"-" url:"after,omitempty"`
	// Only return magicasts created before this time (RFC-3339).
	Before *time.Time `json:"-" url:"before,omitempty"`
	// Sort oldest-first instead of newest-first.
	Ascending *bool `json:"-" url:"ascending,omitempty"`
	// Number of magicasts to return per response. Default 10.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListMagicastRequest) SetAfter

func (l *ListMagicastRequest) SetAfter(after *time.Time)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMagicastRequest) SetAscending

func (l *ListMagicastRequest) SetAscending(ascending *bool)

SetAscending sets the Ascending field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMagicastRequest) SetBefore

func (l *ListMagicastRequest) SetBefore(before *time.Time)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMagicastRequest) SetCursor

func (l *ListMagicastRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMagicastRequest) SetLimit

func (l *ListMagicastRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListMagicastResponse

type ListMagicastResponse struct {
	Magicasts []*Magicast `json:"magicasts,omitempty" url:"magicasts,omitempty"`
	// Cursor for the next page; omitted on the last page.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListMagicastResponse) GetExtraProperties

func (l *ListMagicastResponse) GetExtraProperties() map[string]interface{}

func (*ListMagicastResponse) GetMagicasts

func (l *ListMagicastResponse) GetMagicasts() []*Magicast

func (*ListMagicastResponse) GetNextCursor

func (l *ListMagicastResponse) GetNextCursor() *string

func (*ListMagicastResponse) MarshalJSON

func (l *ListMagicastResponse) MarshalJSON() ([]byte, error)

func (*ListMagicastResponse) SetMagicasts

func (l *ListMagicastResponse) SetMagicasts(magicasts []*Magicast)

SetMagicasts sets the Magicasts field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMagicastResponse) SetNextCursor

func (l *ListMagicastResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMagicastResponse) String

func (l *ListMagicastResponse) String() string

func (*ListMagicastResponse) UnmarshalJSON

func (l *ListMagicastResponse) UnmarshalJSON(data []byte) error

type ListMeetingRequest

type ListMeetingRequest struct {
	// Only return meetings that started before this time (RFC-3339). Sub-millisecond precision is truncated.
	Before *time.Time `json:"-" url:"before,omitempty"`
	// Only return meetings that started after this time (RFC-3339). Sub-millisecond precision is truncated.
	After *time.Time `json:"-" url:"after,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// Number of meetings to return per page. Capped to **10** when
	// `expand` includes `summary`, `actionItems`, or `chapters`, since
	// expanded payloads are substantially larger.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Comma-separated list of fields to inline on each meeting. Allowed
	// values are `summary`, `actionItems`, and `chapters` — same shape
	// as on [`/meeting.info`](https://developer.ro.am/docs/api/meeting-info). Use this to
	// avoid N+1 follow-up calls when scanning many recent meetings.
	Expand *string `json:"-" url:"expand,omitempty"`
	// contains filtered or unexported fields
}

func (*ListMeetingRequest) SetAfter

func (l *ListMeetingRequest) SetAfter(after *time.Time)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingRequest) SetBefore

func (l *ListMeetingRequest) SetBefore(before *time.Time)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingRequest) SetCursor

func (l *ListMeetingRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingRequest) SetExpand

func (l *ListMeetingRequest) SetExpand(expand *string)

SetExpand sets the Expand field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingRequest) SetLimit

func (l *ListMeetingRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListMeetingResponse

type ListMeetingResponse struct {
	Meetings []*ListMeetingResponseMeetingsItem `json:"meetings,omitempty" url:"meetings,omitempty"`
	// Pagination cursor for the next page
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListMeetingResponse) GetExtraProperties

func (l *ListMeetingResponse) GetExtraProperties() map[string]interface{}

func (*ListMeetingResponse) GetMeetings

func (*ListMeetingResponse) GetNextCursor

func (l *ListMeetingResponse) GetNextCursor() *string

func (*ListMeetingResponse) MarshalJSON

func (l *ListMeetingResponse) MarshalJSON() ([]byte, error)

func (*ListMeetingResponse) SetMeetings

func (l *ListMeetingResponse) SetMeetings(meetings []*ListMeetingResponseMeetingsItem)

SetMeetings sets the Meetings field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponse) SetNextCursor

func (l *ListMeetingResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponse) String

func (l *ListMeetingResponse) String() string

func (*ListMeetingResponse) UnmarshalJSON

func (l *ListMeetingResponse) UnmarshalJSON(data []byte) error

type ListMeetingResponseMeetingsItem

type ListMeetingResponseMeetingsItem struct {
	// Meeting ID
	ID string `json:"id" url:"id"`
	// Meeting title
	Title string `json:"title" url:"title"`
	// Meeting subtitle
	Subtitle *string `json:"subtitle,omitempty" url:"subtitle,omitempty"`
	// Meeting start time (RFC-3339)
	Start time.Time `json:"start" url:"start"`
	// Total number of participants
	ParticipantCount int `json:"participantCount" url:"participantCount"`
	// Whether the meeting was video recorded — a video track
	// exists. `true` from the moment recording starts and it
	// never flips back. It does **not** mean the recording is
	// ready to fetch or play; read `videoStatus` for that.
	// Matches [`/meeting.info`](https://developer.ro.am/docs/api/meeting-info) and
	// the `meeting.ended` webhook `data.hasVideo`.
	HasVideo bool `json:"hasVideo" url:"hasVideo"`
	// Where this meeting's video recording is, which — unlike
	// `hasVideo` — changes over time:
	//
	//   - `none` — no video track; the meeting was not recorded.
	//     Always paired with `hasVideo: false`.
	//   - `processing` — a recording exists but its upload has
	//     not finished, so there is nothing to play yet. List
	//     again shortly, or call
	//     [`/meeting.info`](https://developer.ro.am/docs/api/meeting-info) for that one
	//     meeting.
	//   - `available` — the recording is uploaded and has an
	//     asset. Use
	//     [`/meeting.shareLink`](https://developer.ro.am/docs/api/meeting-share-link)
	//     to get a shareable link to it.
	VideoStatus ListMeetingResponseMeetingsItemVideoStatus `json:"videoStatus" url:"videoStatus"`
	// Meeting host as a participant object. Requires
	// `user:read` scope; emails are only included with
	// `user:read.email`. Omitted when the host cannot be
	// resolved.
	Host *MeetingParticipant `json:"host,omitempty" url:"host,omitempty"`
	// AI-generated meeting summary. Only present when `expand=summary`.
	Summary *string `json:"summary,omitempty" url:"summary,omitempty"`
	// AI-extracted action items. Only present when `expand=actionItems`.
	ActionItems []*ActionItem `json:"actionItems,omitempty" url:"actionItems,omitempty"`
	// Meeting chapters/segments. Only present when `expand=chapters`.
	Chapters []*ListMeetingResponseMeetingsItemChaptersItem `json:"chapters,omitempty" url:"chapters,omitempty"`
	// contains filtered or unexported fields
}

func (*ListMeetingResponseMeetingsItem) GetActionItems

func (l *ListMeetingResponseMeetingsItem) GetActionItems() []*ActionItem

func (*ListMeetingResponseMeetingsItem) GetChapters

func (*ListMeetingResponseMeetingsItem) GetExtraProperties

func (l *ListMeetingResponseMeetingsItem) GetExtraProperties() map[string]interface{}

func (*ListMeetingResponseMeetingsItem) GetHasVideo

func (l *ListMeetingResponseMeetingsItem) GetHasVideo() bool

func (*ListMeetingResponseMeetingsItem) GetHost

func (*ListMeetingResponseMeetingsItem) GetID

func (*ListMeetingResponseMeetingsItem) GetParticipantCount

func (l *ListMeetingResponseMeetingsItem) GetParticipantCount() int

func (*ListMeetingResponseMeetingsItem) GetStart

func (*ListMeetingResponseMeetingsItem) GetSubtitle

func (l *ListMeetingResponseMeetingsItem) GetSubtitle() *string

func (*ListMeetingResponseMeetingsItem) GetSummary

func (l *ListMeetingResponseMeetingsItem) GetSummary() *string

func (*ListMeetingResponseMeetingsItem) GetTitle

func (*ListMeetingResponseMeetingsItem) GetVideoStatus

func (*ListMeetingResponseMeetingsItem) MarshalJSON

func (l *ListMeetingResponseMeetingsItem) MarshalJSON() ([]byte, error)

func (*ListMeetingResponseMeetingsItem) SetActionItems

func (l *ListMeetingResponseMeetingsItem) SetActionItems(actionItems []*ActionItem)

SetActionItems sets the ActionItems field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetChapters

SetChapters sets the Chapters field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetHasVideo

func (l *ListMeetingResponseMeetingsItem) SetHasVideo(hasVideo bool)

SetHasVideo sets the HasVideo field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetHost

SetHost sets the Host field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetID

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetParticipantCount

func (l *ListMeetingResponseMeetingsItem) SetParticipantCount(participantCount int)

SetParticipantCount sets the ParticipantCount field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetStart

func (l *ListMeetingResponseMeetingsItem) SetStart(start time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetSubtitle

func (l *ListMeetingResponseMeetingsItem) SetSubtitle(subtitle *string)

SetSubtitle sets the Subtitle field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetSummary

func (l *ListMeetingResponseMeetingsItem) SetSummary(summary *string)

SetSummary sets the Summary field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetTitle

func (l *ListMeetingResponseMeetingsItem) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) SetVideoStatus

SetVideoStatus sets the VideoStatus field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItem) String

func (*ListMeetingResponseMeetingsItem) UnmarshalJSON

func (l *ListMeetingResponseMeetingsItem) UnmarshalJSON(data []byte) error

type ListMeetingResponseMeetingsItemChaptersItem

type ListMeetingResponseMeetingsItemChaptersItem struct {
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Offset in milliseconds since the meeting's `start`.
	Start    *int    `json:"start,omitempty" url:"start,omitempty"`
	Synopsis *string `json:"synopsis,omitempty" url:"synopsis,omitempty"`
	// contains filtered or unexported fields
}

func (*ListMeetingResponseMeetingsItemChaptersItem) GetExtraProperties

func (l *ListMeetingResponseMeetingsItemChaptersItem) GetExtraProperties() map[string]interface{}

func (*ListMeetingResponseMeetingsItemChaptersItem) GetName

func (*ListMeetingResponseMeetingsItemChaptersItem) GetStart

func (*ListMeetingResponseMeetingsItemChaptersItem) GetSynopsis

func (*ListMeetingResponseMeetingsItemChaptersItem) MarshalJSON

func (*ListMeetingResponseMeetingsItemChaptersItem) SetName

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItemChaptersItem) SetStart

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItemChaptersItem) SetSynopsis

func (l *ListMeetingResponseMeetingsItemChaptersItem) SetSynopsis(synopsis *string)

SetSynopsis sets the Synopsis field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListMeetingResponseMeetingsItemChaptersItem) String

func (*ListMeetingResponseMeetingsItemChaptersItem) UnmarshalJSON

func (l *ListMeetingResponseMeetingsItemChaptersItem) UnmarshalJSON(data []byte) error

type ListMeetingResponseMeetingsItemVideoStatus

type ListMeetingResponseMeetingsItemVideoStatus string

Where this meeting's video recording is, which — unlike `hasVideo` — changes over time:

  • `none` — no video track; the meeting was not recorded. Always paired with `hasVideo: false`.
  • `processing` — a recording exists but its upload has not finished, so there is nothing to play yet. List again shortly, or call [`/meeting.info`](https://developer.ro.am/docs/api/meeting-info) for that one meeting.
  • `available` — the recording is uploaded and has an asset. Use [`/meeting.shareLink`](https://developer.ro.am/docs/api/meeting-share-link) to get a shareable link to it.
const (
	ListMeetingResponseMeetingsItemVideoStatusNone       ListMeetingResponseMeetingsItemVideoStatus = "none"
	ListMeetingResponseMeetingsItemVideoStatusProcessing ListMeetingResponseMeetingsItemVideoStatus = "processing"
	ListMeetingResponseMeetingsItemVideoStatusAvailable  ListMeetingResponseMeetingsItemVideoStatus = "available"
)

func NewListMeetingResponseMeetingsItemVideoStatusFromString

func NewListMeetingResponseMeetingsItemVideoStatusFromString(s string) (ListMeetingResponseMeetingsItemVideoStatus, error)

func (ListMeetingResponseMeetingsItemVideoStatus) Ptr

type ListReactionRequest

type ListReactionRequest struct {
	// The chat containing the message.
	ChatID string `json:"-" url:"chatId"`
	// Timestamp of the message (Unix microseconds).
	Timestamp int `json:"-" url:"timestamp"`
	// Timestamp of the parent thread message (Unix microseconds), if listing reactions on a thread reply.
	ThreadTimestamp *int `json:"-" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*ListReactionRequest) SetChatID

func (l *ListReactionRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionRequest) SetThreadTimestamp

func (l *ListReactionRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionRequest) SetTimestamp

func (l *ListReactionRequest) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListReactionResponse

type ListReactionResponse struct {
	Ok *bool `json:"ok,omitempty" url:"ok,omitempty"`
	// The chat containing the message.
	ChatID string `json:"chatId" url:"chatId"`
	// Timestamp of the message (Unix microseconds).
	Timestamp int `json:"timestamp" url:"timestamp"`
	// Parent thread timestamp when the message is a thread reply.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// Emoji reactions, one entry per distinct reaction name.
	Reactions []*Reaction `json:"reactions" url:"reactions"`
	// Poll option votes when the message is a poll. Not included among
	// `reactions`.
	PollVotes []*ListReactionResponsePollVotesItem `json:"pollVotes" url:"pollVotes"`
	// contains filtered or unexported fields
}

func (*ListReactionResponse) GetChatID

func (l *ListReactionResponse) GetChatID() string

func (*ListReactionResponse) GetExtraProperties

func (l *ListReactionResponse) GetExtraProperties() map[string]interface{}

func (*ListReactionResponse) GetOk

func (l *ListReactionResponse) GetOk() *bool

func (*ListReactionResponse) GetPollVotes

func (*ListReactionResponse) GetReactions

func (l *ListReactionResponse) GetReactions() []*Reaction

func (*ListReactionResponse) GetThreadTimestamp

func (l *ListReactionResponse) GetThreadTimestamp() *int

func (*ListReactionResponse) GetTimestamp

func (l *ListReactionResponse) GetTimestamp() int

func (*ListReactionResponse) MarshalJSON

func (l *ListReactionResponse) MarshalJSON() ([]byte, error)

func (*ListReactionResponse) SetChatID

func (l *ListReactionResponse) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponse) SetOk

func (l *ListReactionResponse) SetOk(ok *bool)

SetOk sets the Ok field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponse) SetPollVotes

func (l *ListReactionResponse) SetPollVotes(pollVotes []*ListReactionResponsePollVotesItem)

SetPollVotes sets the PollVotes field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponse) SetReactions

func (l *ListReactionResponse) SetReactions(reactions []*Reaction)

SetReactions sets the Reactions field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponse) SetThreadTimestamp

func (l *ListReactionResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponse) SetTimestamp

func (l *ListReactionResponse) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponse) String

func (l *ListReactionResponse) String() string

func (*ListReactionResponse) UnmarshalJSON

func (l *ListReactionResponse) UnmarshalJSON(data []byte) error

type ListReactionResponsePollVotesItem

type ListReactionResponsePollVotesItem struct {
	// Poll option identifier.
	OptionID string `json:"optionId" url:"optionId"`
	// Option display text (omitted if the option no longer resolves).
	Text  *string  `json:"text,omitempty" url:"text,omitempty"`
	Count int      `json:"count" url:"count"`
	Users []string `json:"users" url:"users"`
	// contains filtered or unexported fields
}

func (*ListReactionResponsePollVotesItem) GetCount

func (l *ListReactionResponsePollVotesItem) GetCount() int

func (*ListReactionResponsePollVotesItem) GetExtraProperties

func (l *ListReactionResponsePollVotesItem) GetExtraProperties() map[string]interface{}

func (*ListReactionResponsePollVotesItem) GetOptionID

func (l *ListReactionResponsePollVotesItem) GetOptionID() string

func (*ListReactionResponsePollVotesItem) GetText

func (*ListReactionResponsePollVotesItem) GetUsers

func (l *ListReactionResponsePollVotesItem) GetUsers() []string

func (*ListReactionResponsePollVotesItem) MarshalJSON

func (l *ListReactionResponsePollVotesItem) MarshalJSON() ([]byte, error)

func (*ListReactionResponsePollVotesItem) SetCount

func (l *ListReactionResponsePollVotesItem) SetCount(count int)

SetCount sets the Count field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponsePollVotesItem) SetOptionID

func (l *ListReactionResponsePollVotesItem) SetOptionID(optionID string)

SetOptionID sets the OptionID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponsePollVotesItem) SetText

func (l *ListReactionResponsePollVotesItem) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponsePollVotesItem) SetUsers

func (l *ListReactionResponsePollVotesItem) SetUsers(users []string)

SetUsers sets the Users field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListReactionResponsePollVotesItem) String

func (*ListReactionResponsePollVotesItem) UnmarshalJSON

func (l *ListReactionResponsePollVotesItem) UnmarshalJSON(data []byte) error

type ListScheduledChatRequest

type ListScheduledChatRequest struct {
	// Only return messages scheduled for this chat.
	ChatID *string `json:"-" url:"chatId,omitempty"`
	// Only return messages scheduled to send after this datetime
	// (YYYY-MM-DD or RFC-3339). Exclusive.
	After *time.Time `json:"-" url:"after,omitempty"`
	// Only return messages scheduled to send before this datetime
	// (YYYY-MM-DD or RFC-3339). Exclusive.
	Before *time.Time `json:"-" url:"before,omitempty"`
	// The number of scheduled messages to return per response. Default is 10.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListScheduledChatRequest) SetAfter

func (l *ListScheduledChatRequest) SetAfter(after *time.Time)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatRequest) SetBefore

func (l *ListScheduledChatRequest) SetBefore(before *time.Time)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatRequest) SetChatID

func (l *ListScheduledChatRequest) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatRequest) SetCursor

func (l *ListScheduledChatRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatRequest) SetLimit

func (l *ListScheduledChatRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListScheduledChatResponse

type ListScheduledChatResponse struct {
	ScheduledMessages []*ListScheduledChatResponseScheduledMessagesItem `json:"scheduledMessages,omitempty" url:"scheduledMessages,omitempty"`
	// Returned if there is a subsequent page of scheduled messages.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListScheduledChatResponse) GetExtraProperties

func (l *ListScheduledChatResponse) GetExtraProperties() map[string]interface{}

func (*ListScheduledChatResponse) GetNextCursor

func (l *ListScheduledChatResponse) GetNextCursor() *string

func (*ListScheduledChatResponse) GetScheduledMessages

func (*ListScheduledChatResponse) MarshalJSON

func (l *ListScheduledChatResponse) MarshalJSON() ([]byte, error)

func (*ListScheduledChatResponse) SetNextCursor

func (l *ListScheduledChatResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponse) SetScheduledMessages

func (l *ListScheduledChatResponse) SetScheduledMessages(scheduledMessages []*ListScheduledChatResponseScheduledMessagesItem)

SetScheduledMessages sets the ScheduledMessages field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponse) String

func (l *ListScheduledChatResponse) String() string

func (*ListScheduledChatResponse) UnmarshalJSON

func (l *ListScheduledChatResponse) UnmarshalJSON(data []byte) error

type ListScheduledChatResponseScheduledMessagesItem

type ListScheduledChatResponseScheduledMessagesItem struct {
	// The id returned by `/chat.post` when the message was scheduled; pass to `/chat.scheduled.cancel`.
	ScheduledMessageID *string `json:"scheduledMessageId,omitempty" url:"scheduledMessageId,omitempty"`
	// The chat the message will be posted to.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Thread the message will post into (present only when scheduled with `threadTimestamp`; unix micros, matching `/chat.post` and `/chat.history` message keys).
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// When the message is scheduled to send (RFC 3339).
	SendAt *time.Time `json:"sendAt,omitempty" url:"sendAt,omitempty"`
	// When the message was scheduled (RFC 3339).
	CreatedAt *time.Time `json:"createdAt,omitempty" url:"createdAt,omitempty"`
	// Preview snippet of the message text, truncated server-side. Empty for non-text content such as Block Kit messages.
	Text *string `json:"text,omitempty" url:"text,omitempty"`
	// contains filtered or unexported fields
}

func (*ListScheduledChatResponseScheduledMessagesItem) GetChatID

func (*ListScheduledChatResponseScheduledMessagesItem) GetCreatedAt

func (*ListScheduledChatResponseScheduledMessagesItem) GetExtraProperties

func (l *ListScheduledChatResponseScheduledMessagesItem) GetExtraProperties() map[string]interface{}

func (*ListScheduledChatResponseScheduledMessagesItem) GetScheduledMessageID

func (l *ListScheduledChatResponseScheduledMessagesItem) GetScheduledMessageID() *string

func (*ListScheduledChatResponseScheduledMessagesItem) GetSendAt

func (*ListScheduledChatResponseScheduledMessagesItem) GetText

func (*ListScheduledChatResponseScheduledMessagesItem) GetThreadTimestamp

func (l *ListScheduledChatResponseScheduledMessagesItem) GetThreadTimestamp() *int

func (*ListScheduledChatResponseScheduledMessagesItem) MarshalJSON

func (*ListScheduledChatResponseScheduledMessagesItem) SetChatID

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponseScheduledMessagesItem) SetCreatedAt

func (l *ListScheduledChatResponseScheduledMessagesItem) SetCreatedAt(createdAt *time.Time)

SetCreatedAt sets the CreatedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponseScheduledMessagesItem) SetScheduledMessageID

func (l *ListScheduledChatResponseScheduledMessagesItem) SetScheduledMessageID(scheduledMessageID *string)

SetScheduledMessageID sets the ScheduledMessageID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponseScheduledMessagesItem) SetSendAt

SetSendAt sets the SendAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponseScheduledMessagesItem) SetText

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponseScheduledMessagesItem) SetThreadTimestamp

func (l *ListScheduledChatResponseScheduledMessagesItem) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListScheduledChatResponseScheduledMessagesItem) String

func (*ListScheduledChatResponseScheduledMessagesItem) UnmarshalJSON

type ListUserAuditLogRequest

type ListUserAuditLogRequest struct {
	// The date to pull audit log entries from.  All activities from that date in UTC are returned.
	Date *string `json:"-" url:"date,omitempty"`
	// contains filtered or unexported fields
}

func (*ListUserAuditLogRequest) SetDate

func (l *ListUserAuditLogRequest) SetDate(date *string)

SetDate sets the Date field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListUserAuditLogResponse

type ListUserAuditLogResponse struct {
	AuditLogs []*UserAuditLog `json:"auditLogs,omitempty" url:"auditLogs,omitempty"`
	// contains filtered or unexported fields
}

func (*ListUserAuditLogResponse) GetAuditLogs

func (l *ListUserAuditLogResponse) GetAuditLogs() []*UserAuditLog

func (*ListUserAuditLogResponse) GetExtraProperties

func (l *ListUserAuditLogResponse) GetExtraProperties() map[string]interface{}

func (*ListUserAuditLogResponse) MarshalJSON

func (l *ListUserAuditLogResponse) MarshalJSON() ([]byte, error)

func (*ListUserAuditLogResponse) SetAuditLogs

func (l *ListUserAuditLogResponse) SetAuditLogs(auditLogs []*UserAuditLog)

SetAuditLogs sets the AuditLogs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserAuditLogResponse) String

func (l *ListUserAuditLogResponse) String() string

func (*ListUserAuditLogResponse) UnmarshalJSON

func (l *ListUserAuditLogResponse) UnmarshalJSON(data []byte) error

type ListUserRequest

type ListUserRequest struct {
	// One comma-separated list of up to 100 bare or tagged principal IDs.
	// Repeating the `ids` query parameter, including empty tokens, or combining
	// it with `q`, `limit`, or `cursor` returns `invalid_parameter`.
	IDs *string `json:"-" url:"ids,omitempty"`
	// Case-insensitive member-directory filter by name. Also matches email
	// when the token has `user:read.email`. Cannot be combined with `ids`.
	Q *string `json:"-" url:"q,omitempty"`
	// The number of directory members to return per response. Default is 10. Cannot be combined with `ids`.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque directory cursor from a previous response's `nextCursor`. Cannot be combined with `ids`.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// Comma-separated list of additional fields. Supported: `status` (requires `user:read.status`). Expanding `status` also returns `willReturn` when set.
	Expand *string `json:"-" url:"expand,omitempty"`
	// contains filtered or unexported fields
}

func (*ListUserRequest) SetCursor

func (l *ListUserRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserRequest) SetExpand

func (l *ListUserRequest) SetExpand(expand *string)

SetExpand sets the Expand field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserRequest) SetIDs

func (l *ListUserRequest) SetIDs(ids *string)

SetIDs sets the IDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserRequest) SetLimit

func (l *ListUserRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserRequest) SetQ

func (l *ListUserRequest) SetQ(q *string)

SetQ sets the Q field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ListUserResponse

type ListUserResponse struct {
	// Principal entries. In directory mode every entry is an active workspace member.
	Users []*User `json:"users,omitempty" url:"users,omitempty"`
	// Pagination cursor for fetching the next page of results
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ListUserResponse) GetExtraProperties

func (l *ListUserResponse) GetExtraProperties() map[string]interface{}

func (*ListUserResponse) GetNextCursor

func (l *ListUserResponse) GetNextCursor() *string

func (*ListUserResponse) GetUsers

func (l *ListUserResponse) GetUsers() []*User

func (*ListUserResponse) MarshalJSON

func (l *ListUserResponse) MarshalJSON() ([]byte, error)

func (*ListUserResponse) SetNextCursor

func (l *ListUserResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserResponse) SetUsers

func (l *ListUserResponse) SetUsers(users []*User)

SetUsers sets the Users field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListUserResponse) String

func (l *ListUserResponse) String() string

func (*ListUserResponse) UnmarshalJSON

func (l *ListUserResponse) UnmarshalJSON(data []byte) error

type ListWebhookResponse

type ListWebhookResponse struct {
	// Webhook subscriptions owned by this API client. Empty array if none exist.
	Webhooks []*ListWebhookResponseWebhooksItem `json:"webhooks" url:"webhooks"`
	// contains filtered or unexported fields
}

func (*ListWebhookResponse) GetExtraProperties

func (l *ListWebhookResponse) GetExtraProperties() map[string]interface{}

func (*ListWebhookResponse) GetWebhooks

func (*ListWebhookResponse) MarshalJSON

func (l *ListWebhookResponse) MarshalJSON() ([]byte, error)

func (*ListWebhookResponse) SetWebhooks

func (l *ListWebhookResponse) SetWebhooks(webhooks []*ListWebhookResponseWebhooksItem)

SetWebhooks sets the Webhooks field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponse) String

func (l *ListWebhookResponse) String() string

func (*ListWebhookResponse) UnmarshalJSON

func (l *ListWebhookResponse) UnmarshalJSON(data []byte) error

type ListWebhookResponseWebhooksItem

type ListWebhookResponseWebhooksItem struct {
	// Unique identifier of the webhook subscription.
	ID string `json:"id" url:"id"`
	// Subscribed event name (e.g. `chat.message`, `chat.reaction`).
	Event string `json:"event" url:"event"`
	// Destination URL for webhook deliveries.
	URL string `json:"url" url:"url"`
	// Event-specific filter applied to the subscription. Omitted if no filter is set.
	Filter *WebhookSubscriptionFilter `json:"filter,omitempty" url:"filter,omitempty"`
	// `true` if the subscription was created via `/webhook.subscribe`.
	// `false` if it was configured statically in the Roam Administration UI.
	Dynamic bool `json:"dynamic" url:"dynamic"`
	// When the subscription was created.
	Created *time.Time `json:"created,omitempty" url:"created,omitempty"`
	// Last terminal 2xx (RFC3339 UTC). Omitted until the
	// destination has succeeded at least once.
	LastSuccessAt *time.Time `json:"lastSuccessAt,omitempty" url:"lastSuccessAt,omitempty"`
	// Start of the current consecutive-failure span
	// (RFC3339 UTC). Omitted when healthy.
	FailStreakStartedAt *time.Time `json:"failStreakStartedAt,omitempty" url:"failStreakStartedAt,omitempty"`
	// When the fail streak reached 24 hours (RFC3339 UTC).
	// While set the subscription is paused. Omitted when
	// active.
	DisabledAt *time.Time `json:"disabledAt,omitempty" url:"disabledAt,omitempty"`
	// contains filtered or unexported fields
}

func (*ListWebhookResponseWebhooksItem) GetCreated

func (l *ListWebhookResponseWebhooksItem) GetCreated() *time.Time

func (*ListWebhookResponseWebhooksItem) GetDisabledAt

func (l *ListWebhookResponseWebhooksItem) GetDisabledAt() *time.Time

func (*ListWebhookResponseWebhooksItem) GetDynamic

func (l *ListWebhookResponseWebhooksItem) GetDynamic() bool

func (*ListWebhookResponseWebhooksItem) GetEvent

func (*ListWebhookResponseWebhooksItem) GetExtraProperties

func (l *ListWebhookResponseWebhooksItem) GetExtraProperties() map[string]interface{}

func (*ListWebhookResponseWebhooksItem) GetFailStreakStartedAt

func (l *ListWebhookResponseWebhooksItem) GetFailStreakStartedAt() *time.Time

func (*ListWebhookResponseWebhooksItem) GetFilter

func (*ListWebhookResponseWebhooksItem) GetID

func (*ListWebhookResponseWebhooksItem) GetLastSuccessAt

func (l *ListWebhookResponseWebhooksItem) GetLastSuccessAt() *time.Time

func (*ListWebhookResponseWebhooksItem) GetURL

func (*ListWebhookResponseWebhooksItem) MarshalJSON

func (l *ListWebhookResponseWebhooksItem) MarshalJSON() ([]byte, error)

func (*ListWebhookResponseWebhooksItem) SetCreated

func (l *ListWebhookResponseWebhooksItem) SetCreated(created *time.Time)

SetCreated sets the Created field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetDisabledAt

func (l *ListWebhookResponseWebhooksItem) SetDisabledAt(disabledAt *time.Time)

SetDisabledAt sets the DisabledAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetDynamic

func (l *ListWebhookResponseWebhooksItem) SetDynamic(dynamic bool)

SetDynamic sets the Dynamic field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetEvent

func (l *ListWebhookResponseWebhooksItem) SetEvent(event string)

SetEvent sets the Event field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetFailStreakStartedAt

func (l *ListWebhookResponseWebhooksItem) SetFailStreakStartedAt(failStreakStartedAt *time.Time)

SetFailStreakStartedAt sets the FailStreakStartedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetFilter

SetFilter sets the Filter field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetID

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetLastSuccessAt

func (l *ListWebhookResponseWebhooksItem) SetLastSuccessAt(lastSuccessAt *time.Time)

SetLastSuccessAt sets the LastSuccessAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) SetURL

func (l *ListWebhookResponseWebhooksItem) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ListWebhookResponseWebhooksItem) String

func (*ListWebhookResponseWebhooksItem) UnmarshalJSON

func (l *ListWebhookResponseWebhooksItem) UnmarshalJSON(data []byte) error

type LobbyBooking

type LobbyBooking struct {
	// Unique booking identifier
	ID string `json:"id" url:"id"`
	// Start time in RFC3339
	Start time.Time `json:"start" url:"start"`
	// End time in RFC3339
	End time.Time `json:"end" url:"end"`
	// Current status of the booking
	Status string `json:"status" url:"status"`
	// IANA time zone of the booking times
	TimeZone *string `json:"timeZone,omitempty" url:"timeZone,omitempty"`
	// Optional notes provided by the booker
	Notes *string `json:"notes,omitempty" url:"notes,omitempty"`
	// Creation time
	Created  *time.Time             `json:"created,omitempty" url:"created,omitempty"`
	Hosts    []*LobbyBookingHost    `json:"hosts,omitempty" url:"hosts,omitempty"`
	Invitees []*LobbyBookingInvitee `json:"invitees,omitempty" url:"invitees,omitempty"`
	// The guest's answers to the lobby's custom questions, including hidden fields
	// populated from URL query parameters on the lobby link. One entry per answered
	// question; empty or absent when the guest answered no custom questions.
	Responses []*LobbyBookingResponse `json:"responses,omitempty" url:"responses,omitempty"`
	// Meeting link URL, used to join the meeting
	MeetingLink *string `json:"meetingLink,omitempty" url:"meetingLink,omitempty"`
	// contains filtered or unexported fields
}

func (*LobbyBooking) GetCreated

func (l *LobbyBooking) GetCreated() *time.Time

func (*LobbyBooking) GetEnd

func (l *LobbyBooking) GetEnd() time.Time

func (*LobbyBooking) GetExtraProperties

func (l *LobbyBooking) GetExtraProperties() map[string]interface{}

func (*LobbyBooking) GetHosts

func (l *LobbyBooking) GetHosts() []*LobbyBookingHost

func (*LobbyBooking) GetID

func (l *LobbyBooking) GetID() string

func (*LobbyBooking) GetInvitees

func (l *LobbyBooking) GetInvitees() []*LobbyBookingInvitee
func (l *LobbyBooking) GetMeetingLink() *string

func (*LobbyBooking) GetNotes

func (l *LobbyBooking) GetNotes() *string

func (*LobbyBooking) GetResponses

func (l *LobbyBooking) GetResponses() []*LobbyBookingResponse

func (*LobbyBooking) GetStart

func (l *LobbyBooking) GetStart() time.Time

func (*LobbyBooking) GetStatus

func (l *LobbyBooking) GetStatus() string

func (*LobbyBooking) GetTimeZone

func (l *LobbyBooking) GetTimeZone() *string

func (*LobbyBooking) MarshalJSON

func (l *LobbyBooking) MarshalJSON() ([]byte, error)

func (*LobbyBooking) SetCreated

func (l *LobbyBooking) SetCreated(created *time.Time)

SetCreated sets the Created field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetEnd

func (l *LobbyBooking) SetEnd(end time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetHosts

func (l *LobbyBooking) SetHosts(hosts []*LobbyBookingHost)

SetHosts sets the Hosts field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetID

func (l *LobbyBooking) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetInvitees

func (l *LobbyBooking) SetInvitees(invitees []*LobbyBookingInvitee)

SetInvitees sets the Invitees field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (l *LobbyBooking) SetMeetingLink(meetingLink *string)

SetMeetingLink sets the MeetingLink field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetNotes

func (l *LobbyBooking) SetNotes(notes *string)

SetNotes sets the Notes field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetResponses

func (l *LobbyBooking) SetResponses(responses []*LobbyBookingResponse)

SetResponses sets the Responses field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetStart

func (l *LobbyBooking) SetStart(start time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetStatus

func (l *LobbyBooking) SetStatus(status string)

SetStatus sets the Status field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) SetTimeZone

func (l *LobbyBooking) SetTimeZone(timeZone *string)

SetTimeZone sets the TimeZone field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBooking) String

func (l *LobbyBooking) String() string

func (*LobbyBooking) UnmarshalJSON

func (l *LobbyBooking) UnmarshalJSON(data []byte) error

type LobbyBookingHost

type LobbyBookingHost struct {
	// Display name of the host
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Email address of the host
	Email string `json:"email" url:"email"`
	// Whether this host is the organizer
	IsOrganizer bool `json:"isOrganizer" url:"isOrganizer"`
	// contains filtered or unexported fields
}

func (*LobbyBookingHost) GetEmail

func (l *LobbyBookingHost) GetEmail() string

func (*LobbyBookingHost) GetExtraProperties

func (l *LobbyBookingHost) GetExtraProperties() map[string]interface{}

func (*LobbyBookingHost) GetIsOrganizer

func (l *LobbyBookingHost) GetIsOrganizer() bool

func (*LobbyBookingHost) GetName

func (l *LobbyBookingHost) GetName() *string

func (*LobbyBookingHost) MarshalJSON

func (l *LobbyBookingHost) MarshalJSON() ([]byte, error)

func (*LobbyBookingHost) SetEmail

func (l *LobbyBookingHost) SetEmail(email string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingHost) SetIsOrganizer

func (l *LobbyBookingHost) SetIsOrganizer(isOrganizer bool)

SetIsOrganizer sets the IsOrganizer field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingHost) SetName

func (l *LobbyBookingHost) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingHost) String

func (l *LobbyBookingHost) String() string

func (*LobbyBookingHost) UnmarshalJSON

func (l *LobbyBookingHost) UnmarshalJSON(data []byte) error

type LobbyBookingInvitee

type LobbyBookingInvitee struct {
	// Display name of the invitee
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Email address of the invitee
	Email string `json:"email" url:"email"`
	// Invitee's RSVP or booking status
	Status string `json:"status" url:"status"`
	// Whether this invitee created the booking
	IsBooker *bool `json:"isBooker,omitempty" url:"isBooker,omitempty"`
	// contains filtered or unexported fields
}

func (*LobbyBookingInvitee) GetEmail

func (l *LobbyBookingInvitee) GetEmail() string

func (*LobbyBookingInvitee) GetExtraProperties

func (l *LobbyBookingInvitee) GetExtraProperties() map[string]interface{}

func (*LobbyBookingInvitee) GetIsBooker

func (l *LobbyBookingInvitee) GetIsBooker() *bool

func (*LobbyBookingInvitee) GetName

func (l *LobbyBookingInvitee) GetName() *string

func (*LobbyBookingInvitee) GetStatus

func (l *LobbyBookingInvitee) GetStatus() string

func (*LobbyBookingInvitee) MarshalJSON

func (l *LobbyBookingInvitee) MarshalJSON() ([]byte, error)

func (*LobbyBookingInvitee) SetEmail

func (l *LobbyBookingInvitee) SetEmail(email string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingInvitee) SetIsBooker

func (l *LobbyBookingInvitee) SetIsBooker(isBooker *bool)

SetIsBooker sets the IsBooker field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingInvitee) SetName

func (l *LobbyBookingInvitee) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingInvitee) SetStatus

func (l *LobbyBookingInvitee) SetStatus(status string)

SetStatus sets the Status field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingInvitee) String

func (l *LobbyBookingInvitee) String() string

func (*LobbyBookingInvitee) UnmarshalJSON

func (l *LobbyBookingInvitee) UnmarshalJSON(data []byte) error

type LobbyBookingResponse

type LobbyBookingResponse struct {
	// ID of the custom field (question) this answer belongs to.
	FieldID string `json:"fieldId" url:"fieldId"`
	// The field's stable key, if the lobby owner assigned one, as captured when the
	// booking was made. For hidden fields this is the URL query parameter name used to
	// populate the value.
	Key *string `json:"key,omitempty" url:"key,omitempty"`
	// The question's display name. Omitted if the field definition can no longer be
	// found on the lobby configuration.
	Question *string `json:"question,omitempty" url:"question,omitempty"`
	// The custom field type. Omitted when `question` is omitted.
	Type *LobbyBookingResponseType `json:"type,omitempty" url:"type,omitempty"`
	// The human-readable answer. For option fields (radio, checkbox, dropdown) this is
	// the selected option label(s), not internal option IDs. Checkbox answers are
	// arrays of strings; all other answers are strings.
	Value *LobbyBookingResponseValue `json:"value,omitempty" url:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*LobbyBookingResponse) GetExtraProperties

func (l *LobbyBookingResponse) GetExtraProperties() map[string]interface{}

func (*LobbyBookingResponse) GetFieldID

func (l *LobbyBookingResponse) GetFieldID() string

func (*LobbyBookingResponse) GetKey

func (l *LobbyBookingResponse) GetKey() *string

func (*LobbyBookingResponse) GetQuestion

func (l *LobbyBookingResponse) GetQuestion() *string

func (*LobbyBookingResponse) GetType

func (*LobbyBookingResponse) GetValue

func (*LobbyBookingResponse) MarshalJSON

func (l *LobbyBookingResponse) MarshalJSON() ([]byte, error)

func (*LobbyBookingResponse) SetFieldID

func (l *LobbyBookingResponse) SetFieldID(fieldID string)

SetFieldID sets the FieldID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingResponse) SetKey

func (l *LobbyBookingResponse) SetKey(key *string)

SetKey sets the Key field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingResponse) SetQuestion

func (l *LobbyBookingResponse) SetQuestion(question *string)

SetQuestion sets the Question field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingResponse) SetType

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingResponse) SetValue

func (l *LobbyBookingResponse) SetValue(value *LobbyBookingResponseValue)

SetValue sets the Value field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*LobbyBookingResponse) String

func (l *LobbyBookingResponse) String() string

func (*LobbyBookingResponse) UnmarshalJSON

func (l *LobbyBookingResponse) UnmarshalJSON(data []byte) error

type LobbyBookingResponseType

type LobbyBookingResponseType string

The custom field type. Omitted when `question` is omitted.

const (
	LobbyBookingResponseTypeShortText   LobbyBookingResponseType = "short_text"
	LobbyBookingResponseTypeText        LobbyBookingResponseType = "text"
	LobbyBookingResponseTypeEmail       LobbyBookingResponseType = "email"
	LobbyBookingResponseTypePhoneNumber LobbyBookingResponseType = "phone_number"
	LobbyBookingResponseTypeRadio       LobbyBookingResponseType = "radio"
	LobbyBookingResponseTypeCheckbox    LobbyBookingResponseType = "checkbox"
	LobbyBookingResponseTypeDropdown    LobbyBookingResponseType = "dropdown"
	LobbyBookingResponseTypeHidden      LobbyBookingResponseType = "hidden"
)

func NewLobbyBookingResponseTypeFromString

func NewLobbyBookingResponseTypeFromString(s string) (LobbyBookingResponseType, error)

func (LobbyBookingResponseType) Ptr

type LobbyBookingResponseValue

type LobbyBookingResponseValue struct {
	String     string
	StringList []string
	// contains filtered or unexported fields
}

The human-readable answer. For option fields (radio, checkbox, dropdown) this is the selected option label(s), not internal option IDs. Checkbox answers are arrays of strings; all other answers are strings.

func (*LobbyBookingResponseValue) Accept

func (*LobbyBookingResponseValue) GetString

func (l *LobbyBookingResponseValue) GetString() string

func (*LobbyBookingResponseValue) GetStringList

func (l *LobbyBookingResponseValue) GetStringList() []string

func (LobbyBookingResponseValue) MarshalJSON

func (l LobbyBookingResponseValue) MarshalJSON() ([]byte, error)

func (*LobbyBookingResponseValue) UnmarshalJSON

func (l *LobbyBookingResponseValue) UnmarshalJSON(data []byte) error

type LobbyBookingResponseValueVisitor

type LobbyBookingResponseValueVisitor interface {
	VisitString(string) error
	VisitStringList([]string) error
}

type Magicast

type Magicast struct {
	// Unique identifier for the magicast
	ID string `json:"id" url:"id"`
	// Display name of the magicast
	Name string `json:"name" url:"name"`
	// ISO-8601 timestamp when the magicast was created (UTC)
	CreatedAt time.Time `json:"createdAt" url:"createdAt"`
	// Address ID of the magicast owner
	OwnerID *string `json:"ownerId,omitempty" url:"ownerId,omitempty"`
	// URL for the magicast cover image thumbnail
	CoverImageURL *string `json:"coverImageUrl,omitempty" url:"coverImageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*Magicast) GetCoverImageURL

func (m *Magicast) GetCoverImageURL() *string

func (*Magicast) GetCreatedAt

func (m *Magicast) GetCreatedAt() time.Time

func (*Magicast) GetExtraProperties

func (m *Magicast) GetExtraProperties() map[string]interface{}

func (*Magicast) GetID

func (m *Magicast) GetID() string

func (*Magicast) GetName

func (m *Magicast) GetName() string

func (*Magicast) GetOwnerID

func (m *Magicast) GetOwnerID() *string

func (*Magicast) MarshalJSON

func (m *Magicast) MarshalJSON() ([]byte, error)

func (*Magicast) SetCoverImageURL

func (m *Magicast) SetCoverImageURL(coverImageURL *string)

SetCoverImageURL sets the CoverImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Magicast) SetCreatedAt

func (m *Magicast) SetCreatedAt(createdAt time.Time)

SetCreatedAt sets the CreatedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Magicast) SetID

func (m *Magicast) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Magicast) SetName

func (m *Magicast) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Magicast) SetOwnerID

func (m *Magicast) SetOwnerID(ownerID *string)

SetOwnerID sets the OwnerID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Magicast) String

func (m *Magicast) String() string

func (*Magicast) UnmarshalJSON

func (m *Magicast) UnmarshalJSON(data []byte) error

type MagicastChapter

type MagicastChapter struct {
	// Chapter title.
	Title string `json:"title" url:"title"`
	// Milliseconds from the start of the recording.
	StartTime int `json:"startTime" url:"startTime"`
	// contains filtered or unexported fields
}

func (*MagicastChapter) GetExtraProperties

func (m *MagicastChapter) GetExtraProperties() map[string]interface{}

func (*MagicastChapter) GetStartTime

func (m *MagicastChapter) GetStartTime() int

func (*MagicastChapter) GetTitle

func (m *MagicastChapter) GetTitle() string

func (*MagicastChapter) MarshalJSON

func (m *MagicastChapter) MarshalJSON() ([]byte, error)

func (*MagicastChapter) SetStartTime

func (m *MagicastChapter) SetStartTime(startTime int)

SetStartTime sets the StartTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastChapter) SetTitle

func (m *MagicastChapter) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastChapter) String

func (m *MagicastChapter) String() string

func (*MagicastChapter) UnmarshalJSON

func (m *MagicastChapter) UnmarshalJSON(data []byte) error

type MagicastCue

type MagicastCue struct {
	// The transcribed text.
	Text string `json:"text" url:"text"`
	// Milliseconds from the start of the recording when the sentence began.
	StartOffset int `json:"startOffset" url:"startOffset"`
	// Milliseconds from the start of the recording when the sentence ended.
	EndOffset int `json:"endOffset" url:"endOffset"`
	// contains filtered or unexported fields
}

func (*MagicastCue) GetEndOffset

func (m *MagicastCue) GetEndOffset() int

func (*MagicastCue) GetExtraProperties

func (m *MagicastCue) GetExtraProperties() map[string]interface{}

func (*MagicastCue) GetStartOffset

func (m *MagicastCue) GetStartOffset() int

func (*MagicastCue) GetText

func (m *MagicastCue) GetText() string

func (*MagicastCue) MarshalJSON

func (m *MagicastCue) MarshalJSON() ([]byte, error)

func (*MagicastCue) SetEndOffset

func (m *MagicastCue) SetEndOffset(endOffset int)

SetEndOffset sets the EndOffset field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastCue) SetStartOffset

func (m *MagicastCue) SetStartOffset(startOffset int)

SetStartOffset sets the StartOffset field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastCue) SetText

func (m *MagicastCue) SetText(text string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastCue) String

func (m *MagicastCue) String() string

func (*MagicastCue) UnmarshalJSON

func (m *MagicastCue) UnmarshalJSON(data []byte) error

type MagicastInfo

type MagicastInfo struct {
	// Unique identifier for the magicast
	ID string `json:"id" url:"id"`
	// Display name of the magicast
	Name string `json:"name" url:"name"`
	// ISO-8601 timestamp when the magicast was created (UTC)
	CreatedAt time.Time `json:"createdAt" url:"createdAt"`
	// Address ID of the magicast owner
	OwnerID *string `json:"ownerId,omitempty" url:"ownerId,omitempty"`
	// URL for the magicast cover image thumbnail
	CoverImageURL *string `json:"coverImageUrl,omitempty" url:"coverImageUrl,omitempty"`
	// Duration of the playable video in milliseconds. Omitted when unknown.
	DurationMs *int `json:"durationMs,omitempty" url:"durationMs,omitempty"`
	// Where the Magicast video is:
	//
	//   - `none` — no content file. There is nothing to play.
	//   - `processing` — a content file exists but is not ready yet. Call
	//     `/magicast.info` again shortly. You can still mint a share link
	//     with [`/magicast.shareLink`](https://developer.ro.am/docs/api/magicast-share-link).
	//   - `available` — the video is ready. `videoUrl` is a short-lived
	//     signed download URL; fetch it at download time and do not persist
	//     it as the canonical link.
	VideoStatus *MagicastInfoVideoStatus `json:"videoStatus,omitempty" url:"videoStatus,omitempty"`
	// Short-lived signed URL for the video file. Present only when
	// `videoStatus` is `available` and the signed URL could be minted.
	// Do not persist this URL.
	VideoURL *string `json:"videoUrl,omitempty" url:"videoUrl,omitempty"`
	// Player URL (`https://ro.am/share/{key}`) if a share link already
	// exists. Omitted when nobody has minted one. Fetching this endpoint
	// never creates a share link — use
	// [`/magicast.shareLink`](https://developer.ro.am/docs/api/magicast-share-link) for that.
	// There is no `https://ro.am/magicast/{id}` URL.
	ShareURL *string `json:"shareUrl,omitempty" url:"shareUrl,omitempty"`
	// Navigation chapters. Omitted when none have been generated.
	Chapters []*MagicastChapter `json:"chapters,omitempty" url:"chapters,omitempty"`
	// Flattened transcript sentences. Omitted while the transcript is still
	// processing or unavailable. Magicasts are not meetings — there is no
	// summary or action-items field.
	Cues []*MagicastCue `json:"cues,omitempty" url:"cues,omitempty"`
	// contains filtered or unexported fields
}

func (*MagicastInfo) GetChapters

func (m *MagicastInfo) GetChapters() []*MagicastChapter

func (*MagicastInfo) GetCoverImageURL

func (m *MagicastInfo) GetCoverImageURL() *string

func (*MagicastInfo) GetCreatedAt

func (m *MagicastInfo) GetCreatedAt() time.Time

func (*MagicastInfo) GetCues

func (m *MagicastInfo) GetCues() []*MagicastCue

func (*MagicastInfo) GetDurationMs

func (m *MagicastInfo) GetDurationMs() *int

func (*MagicastInfo) GetExtraProperties

func (m *MagicastInfo) GetExtraProperties() map[string]interface{}

func (*MagicastInfo) GetID

func (m *MagicastInfo) GetID() string

func (*MagicastInfo) GetName

func (m *MagicastInfo) GetName() string

func (*MagicastInfo) GetOwnerID

func (m *MagicastInfo) GetOwnerID() *string

func (*MagicastInfo) GetShareURL

func (m *MagicastInfo) GetShareURL() *string

func (*MagicastInfo) GetVideoStatus

func (m *MagicastInfo) GetVideoStatus() *MagicastInfoVideoStatus

func (*MagicastInfo) GetVideoURL

func (m *MagicastInfo) GetVideoURL() *string

func (*MagicastInfo) MarshalJSON

func (m *MagicastInfo) MarshalJSON() ([]byte, error)

func (*MagicastInfo) SetChapters

func (m *MagicastInfo) SetChapters(chapters []*MagicastChapter)

SetChapters sets the Chapters field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetCoverImageURL

func (m *MagicastInfo) SetCoverImageURL(coverImageURL *string)

SetCoverImageURL sets the CoverImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetCreatedAt

func (m *MagicastInfo) SetCreatedAt(createdAt time.Time)

SetCreatedAt sets the CreatedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetCues

func (m *MagicastInfo) SetCues(cues []*MagicastCue)

SetCues sets the Cues field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetDurationMs

func (m *MagicastInfo) SetDurationMs(durationMs *int)

SetDurationMs sets the DurationMs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetID

func (m *MagicastInfo) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetName

func (m *MagicastInfo) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetOwnerID

func (m *MagicastInfo) SetOwnerID(ownerID *string)

SetOwnerID sets the OwnerID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetShareURL

func (m *MagicastInfo) SetShareURL(shareURL *string)

SetShareURL sets the ShareURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetVideoStatus

func (m *MagicastInfo) SetVideoStatus(videoStatus *MagicastInfoVideoStatus)

SetVideoStatus sets the VideoStatus field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) SetVideoURL

func (m *MagicastInfo) SetVideoURL(videoURL *string)

SetVideoURL sets the VideoURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastInfo) String

func (m *MagicastInfo) String() string

func (*MagicastInfo) UnmarshalJSON

func (m *MagicastInfo) UnmarshalJSON(data []byte) error

type MagicastInfoVideoStatus

type MagicastInfoVideoStatus string

Where the Magicast video is:

  • `none` — no content file. There is nothing to play.
  • `processing` — a content file exists but is not ready yet. Call `/magicast.info` again shortly. You can still mint a share link with [`/magicast.shareLink`](https://developer.ro.am/docs/api/magicast-share-link).
  • `available` — the video is ready. `videoUrl` is a short-lived signed download URL; fetch it at download time and do not persist it as the canonical link.
const (
	MagicastInfoVideoStatusNone       MagicastInfoVideoStatus = "none"
	MagicastInfoVideoStatusProcessing MagicastInfoVideoStatus = "processing"
	MagicastInfoVideoStatusAvailable  MagicastInfoVideoStatus = "available"
)

func NewMagicastInfoVideoStatusFromString

func NewMagicastInfoVideoStatusFromString(s string) (MagicastInfoVideoStatus, error)

func (MagicastInfoVideoStatus) Ptr

type MagicastShareLinkRequest

type MagicastShareLinkRequest struct {
	// The Magicast ID.
	ID string `json:"id" url:"-"`
	// contains filtered or unexported fields
}

func (*MagicastShareLinkRequest) MarshalJSON

func (m *MagicastShareLinkRequest) MarshalJSON() ([]byte, error)

func (*MagicastShareLinkRequest) SetID

func (m *MagicastShareLinkRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastShareLinkRequest) UnmarshalJSON

func (m *MagicastShareLinkRequest) UnmarshalJSON(data []byte) error

type MagicastShareLinkResponse

type MagicastShareLinkResponse struct {
	// The Magicast ID.
	ID string `json:"id" url:"id"`
	// The shareable player URL (`https://ro.am/share/{key}`).
	URL string `json:"url" url:"url"`
	// contains filtered or unexported fields
}

func (*MagicastShareLinkResponse) GetExtraProperties

func (m *MagicastShareLinkResponse) GetExtraProperties() map[string]interface{}

func (*MagicastShareLinkResponse) GetID

func (m *MagicastShareLinkResponse) GetID() string

func (*MagicastShareLinkResponse) GetURL

func (m *MagicastShareLinkResponse) GetURL() string

func (*MagicastShareLinkResponse) MarshalJSON

func (m *MagicastShareLinkResponse) MarshalJSON() ([]byte, error)

func (*MagicastShareLinkResponse) SetID

func (m *MagicastShareLinkResponse) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastShareLinkResponse) SetURL

func (m *MagicastShareLinkResponse) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MagicastShareLinkResponse) String

func (m *MagicastShareLinkResponse) String() string

func (*MagicastShareLinkResponse) UnmarshalJSON

func (m *MagicastShareLinkResponse) UnmarshalJSON(data []byte) error

type MeetingParticipant

type MeetingParticipant struct {
	// Whether the participant is a workspace member or an external guest
	Type MeetingParticipantType `json:"type" url:"type"`
	// The participant's address ID
	ID string `json:"id" url:"id"`
	// Display name of the participant
	Name string `json:"name" url:"name"`
	// Email address of the participant (requires `user:read.email` scope)
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// contains filtered or unexported fields
}

func (*MeetingParticipant) GetEmail

func (m *MeetingParticipant) GetEmail() *string

func (*MeetingParticipant) GetExtraProperties

func (m *MeetingParticipant) GetExtraProperties() map[string]interface{}

func (*MeetingParticipant) GetID

func (m *MeetingParticipant) GetID() string

func (*MeetingParticipant) GetName

func (m *MeetingParticipant) GetName() string

func (*MeetingParticipant) GetType

func (*MeetingParticipant) MarshalJSON

func (m *MeetingParticipant) MarshalJSON() ([]byte, error)

func (*MeetingParticipant) SetEmail

func (m *MeetingParticipant) SetEmail(email *string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MeetingParticipant) SetID

func (m *MeetingParticipant) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MeetingParticipant) SetName

func (m *MeetingParticipant) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MeetingParticipant) SetType

func (m *MeetingParticipant) SetType(type_ MeetingParticipantType)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MeetingParticipant) String

func (m *MeetingParticipant) String() string

func (*MeetingParticipant) UnmarshalJSON

func (m *MeetingParticipant) UnmarshalJSON(data []byte) error

type MeetingParticipantType

type MeetingParticipantType string

Whether the participant is a workspace member or an external guest

const (
	MeetingParticipantTypeMember MeetingParticipantType = "member"
	MeetingParticipantTypeGuest  MeetingParticipantType = "guest"
)

func NewMeetingParticipantTypeFromString

func NewMeetingParticipantTypeFromString(s string) (MeetingParticipantType, error)

func (MeetingParticipantType) Ptr

type MembersGroupRequest

type MembersGroupRequest struct {
	// Group ID.
	ID string `json:"-" url:"id"`
	// The number of members to return per response. Default is 10.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*MembersGroupRequest) SetCursor

func (m *MembersGroupRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MembersGroupRequest) SetID

func (m *MembersGroupRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MembersGroupRequest) SetLimit

func (m *MembersGroupRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type MembersGroupResponse

type MembersGroupResponse struct {
	Members []*GroupMember `json:"members,omitempty" url:"members,omitempty"`
	// Pagination cursor for fetching the next page of results
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*MembersGroupResponse) GetExtraProperties

func (m *MembersGroupResponse) GetExtraProperties() map[string]interface{}

func (*MembersGroupResponse) GetMembers

func (m *MembersGroupResponse) GetMembers() []*GroupMember

func (*MembersGroupResponse) GetNextCursor

func (m *MembersGroupResponse) GetNextCursor() *string

func (*MembersGroupResponse) MarshalJSON

func (m *MembersGroupResponse) MarshalJSON() ([]byte, error)

func (*MembersGroupResponse) SetMembers

func (m *MembersGroupResponse) SetMembers(members []*GroupMember)

SetMembers sets the Members field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MembersGroupResponse) SetNextCursor

func (m *MembersGroupResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MembersGroupResponse) String

func (m *MembersGroupResponse) String() string

func (*MembersGroupResponse) UnmarshalJSON

func (m *MembersGroupResponse) UnmarshalJSON(data []byte) error

type MessageeventExportRequest

type MessageeventExportRequest struct {
	// The UTC date to fetch the export for in YYYY-MM-DD format.
	Date string `json:"date" url:"-"`
	// contains filtered or unexported fields
}

func (*MessageeventExportRequest) MarshalJSON

func (m *MessageeventExportRequest) MarshalJSON() ([]byte, error)

func (*MessageeventExportRequest) SetDate

func (m *MessageeventExportRequest) SetDate(date string)

SetDate sets the Date field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*MessageeventExportRequest) UnmarshalJSON

func (m *MessageeventExportRequest) UnmarshalJSON(data []byte) error

type MethodNotAllowedError

type MethodNotAllowedError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*MethodNotAllowedError) MarshalJSON

func (m *MethodNotAllowedError) MarshalJSON() ([]byte, error)

func (*MethodNotAllowedError) UnmarshalJSON

func (m *MethodNotAllowedError) UnmarshalJSON(data []byte) error

func (*MethodNotAllowedError) Unwrap

func (m *MethodNotAllowedError) Unwrap() error

type NotFoundError

type NotFoundError struct {
	*core.APIError
	Body any
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*NotFoundError) MarshalJSON

func (n *NotFoundError) MarshalJSON() ([]byte, error)

func (*NotFoundError) UnmarshalJSON

func (n *NotFoundError) UnmarshalJSON(data []byte) error

func (*NotFoundError) Unwrap

func (n *NotFoundError) Unwrap() error

type ParticipantsMeetingRequest

type ParticipantsMeetingRequest struct {
	// The meeting ID.
	ID string `json:"-" url:"id"`
	// Number of participants to return per page (default 50, max 200).
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not parse or construct cursors yourself.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ParticipantsMeetingRequest) SetCursor

func (p *ParticipantsMeetingRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ParticipantsMeetingRequest) SetID

func (p *ParticipantsMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ParticipantsMeetingRequest) SetLimit

func (p *ParticipantsMeetingRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type ParticipantsMeetingResponse

type ParticipantsMeetingResponse struct {
	Ok           *bool                 `json:"ok,omitempty" url:"ok,omitempty"`
	Participants []*MeetingParticipant `json:"participants" url:"participants"`
	// Total number of participants in the meeting
	Total int `json:"total" url:"total"`
	// Present when more participants remain. Pass as `cursor` on the next request. Omitted on the last page.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*ParticipantsMeetingResponse) GetExtraProperties

func (p *ParticipantsMeetingResponse) GetExtraProperties() map[string]interface{}

func (*ParticipantsMeetingResponse) GetNextCursor

func (p *ParticipantsMeetingResponse) GetNextCursor() *string

func (*ParticipantsMeetingResponse) GetOk

func (p *ParticipantsMeetingResponse) GetOk() *bool

func (*ParticipantsMeetingResponse) GetParticipants

func (p *ParticipantsMeetingResponse) GetParticipants() []*MeetingParticipant

func (*ParticipantsMeetingResponse) GetTotal

func (p *ParticipantsMeetingResponse) GetTotal() int

func (*ParticipantsMeetingResponse) MarshalJSON

func (p *ParticipantsMeetingResponse) MarshalJSON() ([]byte, error)

func (*ParticipantsMeetingResponse) SetNextCursor

func (p *ParticipantsMeetingResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ParticipantsMeetingResponse) SetOk

func (p *ParticipantsMeetingResponse) SetOk(ok *bool)

SetOk sets the Ok field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ParticipantsMeetingResponse) SetParticipants

func (p *ParticipantsMeetingResponse) SetParticipants(participants []*MeetingParticipant)

SetParticipants sets the Participants field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ParticipantsMeetingResponse) SetTotal

func (p *ParticipantsMeetingResponse) SetTotal(total int)

SetTotal sets the Total field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ParticipantsMeetingResponse) String

func (p *ParticipantsMeetingResponse) String() string

func (*ParticipantsMeetingResponse) UnmarshalJSON

func (p *ParticipantsMeetingResponse) UnmarshalJSON(data []byte) error

type PostChatRequest

type PostChatRequest struct {
	// Post to an existing chat by ID (mutually exclusive with groupId/userIds)
	ChatID *string `json:"chatId,omitempty" url:"-"`
	// Post to a group channel (mutually exclusive with chatId/userIds)
	GroupID *string `json:"groupId,omitempty" url:"-"`
	// Post to a DM or Multi-DM with these users (mutually exclusive with chatId/groupId)
	UserIDs []string `json:"userIds,omitempty" url:"-"`
	// Reply to a specific thread by providing the thread's timestamp.
	// If the timestamp doesn't correspond to an existing message, a 400 error is returned.
	// Mutually exclusive with `threadKey`.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// A stable external identifier used to group related messages into a thread.
	// On the first use of a given `threadKey`, a new message is posted and the resulting
	// thread timestamp is stored. Subsequent messages with the same `threadKey` are
	// automatically threaded under the original message.
	//
	// This is useful for external integrations (e.g. PagerDuty, Grafana, Sentry) that
	// want to thread related messages using their own identifiers (such as `dedup_key`,
	// `fingerprint`, or `group_id`) without tracking Roam's internal thread timestamps.
	//
	// Mutually exclusive with `threadTimestamp`. When `threadKey` is provided, the
	// response is always synchronous (equivalent to `sync: true`).
	ThreadKey *string `json:"threadKey,omitempty" url:"-"`
	// Reply directly to a specific message by its timestamp. Unlike
	// `threadTimestamp` (which threads a reply under a parent message in a
	// group), `replyTimestamp` is a direct reply used in DMs — which have no
	// threads — and within an existing channel thread. Text messages only:
	// not supported together with `blocks` or `poll`.
	ReplyTimestamp *int `json:"replyTimestamp,omitempty" url:"-"`
	// Message text in GitHub-flavored markdown
	Text *string `json:"text,omitempty" url:"-"`
	// Text is markdown by default. If set to false, markdown interpretation will be disabled.
	Markdown *bool `json:"markdown,omitempty" url:"-"`
	// Array of Item IDs to attach to this message.
	Items []string `json:"items,omitempty" url:"-"`
	// Array of asset IDs from [`/asset.create`](https://developer.ro.am/docs/api/asset-create)
	// to attach to this message. Each asset must be owned by your app
	// and fully uploaded (processed and ready). Combines with
	// `text`/`items`; not with `blocks` or `poll`.
	AssetIDs []string `json:"assetIds,omitempty" url:"-"`
	// Array of [Block Kit](https://developer.ro.am/docs/guides/block-kit) block objects for rich message formatting.
	// Cannot be combined with `text` or `items`. Maximum 10 blocks, 8,000 bytes total payload.
	Blocks []*PostChatRequestBlocksItem `json:"blocks,omitempty" url:"-"`
	// Colored vertical strip on the side of the message. Only used with `blocks`.
	// Named values: `good` (green), `warning` (yellow), `danger` (red), or a hex color like `#5B3FD9`.
	Color *string `json:"color,omitempty" url:"-"`
	// Create a poll message. Mutually exclusive with `text`, `items`, and `blocks`.
	Poll   *PostChatRequestPoll `json:"poll,omitempty" url:"-"`
	Sender *Sender              `json:"sender,omitempty" url:"-"`
	// If set, the post will be performed synchronously and its timestamp returned. Incompatible with `sendAt`.
	Sync *bool `json:"sync,omitempty" url:"-"`
	// Schedule the message for later delivery (RFC 3339). Requirements:
	// - Must be in the **future** and within **30 days**
	// - Must fall on a **15-minute UTC boundary** (`:00`, `:15`, `:30`, or `:45`; seconds and sub-seconds zero)
	// - Incompatible with `sync`, `poll`, `threadKey`, and `replyTimestamp`
	//
	// When `sendAt` is set, the response is `{chatId, scheduledMessageId, sendAt}`
	// instead of an immediate message `timestamp`.
	//
	// Scheduled messages can be listed via
	// [`/chat.scheduled.list`](https://developer.ro.am/docs/api/chat-scheduled-list) and canceled via
	// [`/chat.scheduled.cancel`](https://developer.ro.am/docs/api/chat-scheduled-cancel) until they send.
	SendAt *time.Time `json:"sendAt,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*PostChatRequest) MarshalJSON

func (p *PostChatRequest) MarshalJSON() ([]byte, error)

func (*PostChatRequest) SetAssetIDs

func (p *PostChatRequest) SetAssetIDs(assetIDs []string)

SetAssetIDs sets the AssetIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetBlocks

func (p *PostChatRequest) SetBlocks(blocks []*PostChatRequestBlocksItem)

SetBlocks sets the Blocks field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetChatID

func (p *PostChatRequest) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetColor

func (p *PostChatRequest) SetColor(color *string)

SetColor sets the Color field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetGroupID

func (p *PostChatRequest) SetGroupID(groupID *string)

SetGroupID sets the GroupID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetItems

func (p *PostChatRequest) SetItems(items []string)

SetItems sets the Items field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetMarkdown

func (p *PostChatRequest) SetMarkdown(markdown *bool)

SetMarkdown sets the Markdown field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetPoll

func (p *PostChatRequest) SetPoll(poll *PostChatRequestPoll)

SetPoll sets the Poll field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetReplyTimestamp

func (p *PostChatRequest) SetReplyTimestamp(replyTimestamp *int)

SetReplyTimestamp sets the ReplyTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetSendAt

func (p *PostChatRequest) SetSendAt(sendAt *time.Time)

SetSendAt sets the SendAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetSender

func (p *PostChatRequest) SetSender(sender *Sender)

SetSender sets the Sender field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetSync

func (p *PostChatRequest) SetSync(sync *bool)

SetSync sets the Sync field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetText

func (p *PostChatRequest) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetThreadKey

func (p *PostChatRequest) SetThreadKey(threadKey *string)

SetThreadKey sets the ThreadKey field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetThreadTimestamp

func (p *PostChatRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) SetUserIDs

func (p *PostChatRequest) SetUserIDs(userIDs []string)

SetUserIDs sets the UserIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequest) UnmarshalJSON

func (p *PostChatRequest) UnmarshalJSON(data []byte) error

type PostChatRequestBlocksItem

type PostChatRequestBlocksItem struct {
	// The block type.
	Type *PostChatRequestBlocksItemType `json:"type,omitempty" url:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*PostChatRequestBlocksItem) GetExtraProperties

func (p *PostChatRequestBlocksItem) GetExtraProperties() map[string]interface{}

func (*PostChatRequestBlocksItem) GetType

func (*PostChatRequestBlocksItem) MarshalJSON

func (p *PostChatRequestBlocksItem) MarshalJSON() ([]byte, error)

func (*PostChatRequestBlocksItem) SetType

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequestBlocksItem) String

func (p *PostChatRequestBlocksItem) String() string

func (*PostChatRequestBlocksItem) UnmarshalJSON

func (p *PostChatRequestBlocksItem) UnmarshalJSON(data []byte) error

type PostChatRequestBlocksItemType

type PostChatRequestBlocksItemType string

The block type.

const (
	PostChatRequestBlocksItemTypeHeader  PostChatRequestBlocksItemType = "header"
	PostChatRequestBlocksItemTypeSection PostChatRequestBlocksItemType = "section"
	PostChatRequestBlocksItemTypeContext PostChatRequestBlocksItemType = "context"
	PostChatRequestBlocksItemTypeDivider PostChatRequestBlocksItemType = "divider"
	PostChatRequestBlocksItemTypeActions PostChatRequestBlocksItemType = "actions"
)

func NewPostChatRequestBlocksItemTypeFromString

func NewPostChatRequestBlocksItemTypeFromString(s string) (PostChatRequestBlocksItemType, error)

func (PostChatRequestBlocksItemType) Ptr

type PostChatRequestPoll

type PostChatRequestPoll struct {
	// The poll question (1–256 characters).
	Question string `json:"question" url:"question"`
	// Poll answer options (at least 2, each 1–128 characters).
	Options []string `json:"options" url:"options"`
	// Whether voters can select multiple options. Defaults to false.
	AllowMultipleAnswers *bool `json:"allowMultipleAnswers,omitempty" url:"allowMultipleAnswers,omitempty"`
	// Optional RFC-3339 datetime when the poll automatically closes.
	ClosesAt *time.Time `json:"closesAt,omitempty" url:"closesAt,omitempty"`
	// contains filtered or unexported fields
}

func (*PostChatRequestPoll) GetAllowMultipleAnswers

func (p *PostChatRequestPoll) GetAllowMultipleAnswers() *bool

func (*PostChatRequestPoll) GetClosesAt

func (p *PostChatRequestPoll) GetClosesAt() *time.Time

func (*PostChatRequestPoll) GetExtraProperties

func (p *PostChatRequestPoll) GetExtraProperties() map[string]interface{}

func (*PostChatRequestPoll) GetOptions

func (p *PostChatRequestPoll) GetOptions() []string

func (*PostChatRequestPoll) GetQuestion

func (p *PostChatRequestPoll) GetQuestion() string

func (*PostChatRequestPoll) MarshalJSON

func (p *PostChatRequestPoll) MarshalJSON() ([]byte, error)

func (*PostChatRequestPoll) SetAllowMultipleAnswers

func (p *PostChatRequestPoll) SetAllowMultipleAnswers(allowMultipleAnswers *bool)

SetAllowMultipleAnswers sets the AllowMultipleAnswers field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequestPoll) SetClosesAt

func (p *PostChatRequestPoll) SetClosesAt(closesAt *time.Time)

SetClosesAt sets the ClosesAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequestPoll) SetOptions

func (p *PostChatRequestPoll) SetOptions(options []string)

SetOptions sets the Options field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequestPoll) SetQuestion

func (p *PostChatRequestPoll) SetQuestion(question string)

SetQuestion sets the Question field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatRequestPoll) String

func (p *PostChatRequestPoll) String() string

func (*PostChatRequestPoll) UnmarshalJSON

func (p *PostChatRequestPoll) UnmarshalJSON(data []byte) error

type PostChatResponse

type PostChatResponse struct {
	Ok *bool `json:"ok,omitempty" url:"ok,omitempty"`
	// ID of the chat where the message was (or will be) posted
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Thread timestamp if replying to a thread
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// Message timestamp (present if sync is set; omitted for scheduled posts)
	Timestamp *int `json:"timestamp,omitempty" url:"timestamp,omitempty"`
	// ID of the scheduled message (only when `sendAt` was provided). Pass to `/chat.scheduled.cancel` to cancel, or find it later via `/chat.scheduled.list`.
	ScheduledMessageID *string `json:"scheduledMessageId,omitempty" url:"scheduledMessageId,omitempty"`
	// Scheduled send time echoed from the request (only when `sendAt` was provided)
	SendAt *time.Time `json:"sendAt,omitempty" url:"sendAt,omitempty"`
	// contains filtered or unexported fields
}

func (*PostChatResponse) GetChatID

func (p *PostChatResponse) GetChatID() *string

func (*PostChatResponse) GetExtraProperties

func (p *PostChatResponse) GetExtraProperties() map[string]interface{}

func (*PostChatResponse) GetOk

func (p *PostChatResponse) GetOk() *bool

func (*PostChatResponse) GetScheduledMessageID

func (p *PostChatResponse) GetScheduledMessageID() *string

func (*PostChatResponse) GetSendAt

func (p *PostChatResponse) GetSendAt() *time.Time

func (*PostChatResponse) GetThreadTimestamp

func (p *PostChatResponse) GetThreadTimestamp() *int

func (*PostChatResponse) GetTimestamp

func (p *PostChatResponse) GetTimestamp() *int

func (*PostChatResponse) MarshalJSON

func (p *PostChatResponse) MarshalJSON() ([]byte, error)

func (*PostChatResponse) SetChatID

func (p *PostChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatResponse) SetOk

func (p *PostChatResponse) SetOk(ok *bool)

SetOk sets the Ok field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatResponse) SetScheduledMessageID

func (p *PostChatResponse) SetScheduledMessageID(scheduledMessageID *string)

SetScheduledMessageID sets the ScheduledMessageID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatResponse) SetSendAt

func (p *PostChatResponse) SetSendAt(sendAt *time.Time)

SetSendAt sets the SendAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatResponse) SetThreadTimestamp

func (p *PostChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatResponse) SetTimestamp

func (p *PostChatResponse) SetTimestamp(timestamp *int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostChatResponse) String

func (p *PostChatResponse) String() string

func (*PostChatResponse) UnmarshalJSON

func (p *PostChatResponse) UnmarshalJSON(data []byte) error

type PostEphemeralChatRequest

type PostEphemeralChatRequest struct {
	// The chat to post into. Use [`/chat.list`](https://developer.ro.am/docs/api/chat-list) or a `chat.message` webhook payload to obtain chat IDs.
	ChatID string `json:"chatId" url:"-"`
	// The user who should see the message. Must be a member of the chat.
	UserID string `json:"userId" url:"-"`
	// Show the ephemeral message inside an existing thread instead of the
	// main channel view. Channels only — returns 400 in DMs and Multi-DMs.
	// The value is not validated against an existing thread: pass a real
	// thread's timestamp, or the message is keyed under a thread view the
	// recipient can never open and is effectively never seen.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// Message text in GitHub-flavored markdown (always rendered as
	// markdown; there is no plain-text mode). Maximum 8,000 bytes.
	// Mention markup is not supported.
	Text   string  `json:"text" url:"-"`
	Sender *Sender `json:"sender,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*PostEphemeralChatRequest) MarshalJSON

func (p *PostEphemeralChatRequest) MarshalJSON() ([]byte, error)

func (*PostEphemeralChatRequest) SetChatID

func (p *PostEphemeralChatRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatRequest) SetSender

func (p *PostEphemeralChatRequest) SetSender(sender *Sender)

SetSender sets the Sender field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatRequest) SetText

func (p *PostEphemeralChatRequest) SetText(text string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatRequest) SetThreadTimestamp

func (p *PostEphemeralChatRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatRequest) SetUserID

func (p *PostEphemeralChatRequest) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatRequest) UnmarshalJSON

func (p *PostEphemeralChatRequest) UnmarshalJSON(data []byte) error

type PostEphemeralChatResponse

type PostEphemeralChatResponse struct {
	Ok *bool `json:"ok,omitempty" url:"ok,omitempty"`
	// ID of the chat the message was delivered into
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Message timestamp in microseconds
	Timestamp *int `json:"timestamp,omitempty" url:"timestamp,omitempty"`
	// Echoed thread timestamp when the message was posted into a thread
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*PostEphemeralChatResponse) GetChatID

func (p *PostEphemeralChatResponse) GetChatID() *string

func (*PostEphemeralChatResponse) GetExtraProperties

func (p *PostEphemeralChatResponse) GetExtraProperties() map[string]interface{}

func (*PostEphemeralChatResponse) GetOk

func (p *PostEphemeralChatResponse) GetOk() *bool

func (*PostEphemeralChatResponse) GetThreadTimestamp

func (p *PostEphemeralChatResponse) GetThreadTimestamp() *int

func (*PostEphemeralChatResponse) GetTimestamp

func (p *PostEphemeralChatResponse) GetTimestamp() *int

func (*PostEphemeralChatResponse) MarshalJSON

func (p *PostEphemeralChatResponse) MarshalJSON() ([]byte, error)

func (*PostEphemeralChatResponse) SetChatID

func (p *PostEphemeralChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatResponse) SetOk

func (p *PostEphemeralChatResponse) SetOk(ok *bool)

SetOk sets the Ok field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatResponse) SetThreadTimestamp

func (p *PostEphemeralChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatResponse) SetTimestamp

func (p *PostEphemeralChatResponse) SetTimestamp(timestamp *int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostEphemeralChatResponse) String

func (p *PostEphemeralChatResponse) String() string

func (*PostEphemeralChatResponse) UnmarshalJSON

func (p *PostEphemeralChatResponse) UnmarshalJSON(data []byte) error

type PostStoryRequest

type PostStoryRequest struct {
	// ID of a processed asset created via [asset.create](https://developer.ro.am/docs/api/asset-create)
	// with `purpose: "story"`. The asset must be owned by the authenticated user.
	AssetID string `json:"assetId" url:"-"`
	// Optional caption displayed with the story.
	Caption *string `json:"caption,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*PostStoryRequest) MarshalJSON

func (p *PostStoryRequest) MarshalJSON() ([]byte, error)

func (*PostStoryRequest) SetAssetID

func (p *PostStoryRequest) SetAssetID(assetID string)

SetAssetID sets the AssetID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostStoryRequest) SetCaption

func (p *PostStoryRequest) SetCaption(caption *string)

SetCaption sets the Caption field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostStoryRequest) UnmarshalJSON

func (p *PostStoryRequest) UnmarshalJSON(data []byte) error

type PostStoryResponse

type PostStoryResponse struct {
	// ID of the created story item.
	ItemID *string `json:"itemId,omitempty" url:"itemId,omitempty"`
	// ID of the Roam's story chat the story was posted into.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// When the story expires (24 hours after posting).
	ExpiresAt *time.Time `json:"expiresAt,omitempty" url:"expiresAt,omitempty"`
	// contains filtered or unexported fields
}

func (*PostStoryResponse) GetChatID

func (p *PostStoryResponse) GetChatID() *string

func (*PostStoryResponse) GetExpiresAt

func (p *PostStoryResponse) GetExpiresAt() *time.Time

func (*PostStoryResponse) GetExtraProperties

func (p *PostStoryResponse) GetExtraProperties() map[string]interface{}

func (*PostStoryResponse) GetItemID

func (p *PostStoryResponse) GetItemID() *string

func (*PostStoryResponse) MarshalJSON

func (p *PostStoryResponse) MarshalJSON() ([]byte, error)

func (*PostStoryResponse) SetChatID

func (p *PostStoryResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostStoryResponse) SetExpiresAt

func (p *PostStoryResponse) SetExpiresAt(expiresAt *time.Time)

SetExpiresAt sets the ExpiresAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostStoryResponse) SetItemID

func (p *PostStoryResponse) SetItemID(itemID *string)

SetItemID sets the ItemID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PostStoryResponse) String

func (p *PostStoryResponse) String() string

func (*PostStoryResponse) UnmarshalJSON

func (p *PostStoryResponse) UnmarshalJSON(data []byte) error

type PromptMeetingRequest

type PromptMeetingRequest struct {
	// The meeting ID.
	ID string `json:"id" url:"-"`
	// The question to ask about the meeting.
	Prompt string `json:"prompt" url:"-"`
	// contains filtered or unexported fields
}

func (*PromptMeetingRequest) MarshalJSON

func (p *PromptMeetingRequest) MarshalJSON() ([]byte, error)

func (*PromptMeetingRequest) SetID

func (p *PromptMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PromptMeetingRequest) SetPrompt

func (p *PromptMeetingRequest) SetPrompt(prompt string)

SetPrompt sets the Prompt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PromptMeetingRequest) UnmarshalJSON

func (p *PromptMeetingRequest) UnmarshalJSON(data []byte) error

type PromptMeetingResponse

type PromptMeetingResponse struct {
	// AI-generated response to the prompt
	Response string `json:"response" url:"response"`
	// contains filtered or unexported fields
}

func (*PromptMeetingResponse) GetExtraProperties

func (p *PromptMeetingResponse) GetExtraProperties() map[string]interface{}

func (*PromptMeetingResponse) GetResponse

func (p *PromptMeetingResponse) GetResponse() string

func (*PromptMeetingResponse) MarshalJSON

func (p *PromptMeetingResponse) MarshalJSON() ([]byte, error)

func (*PromptMeetingResponse) SetResponse

func (p *PromptMeetingResponse) SetResponse(response string)

SetResponse sets the Response field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*PromptMeetingResponse) String

func (p *PromptMeetingResponse) String() string

func (*PromptMeetingResponse) UnmarshalJSON

func (p *PromptMeetingResponse) UnmarshalJSON(data []byte) error

type Reaction

type Reaction struct {
	// Reaction shortcode without surrounding colons (e.g. `thumbs_up`, `wave`,
	// `heart`). Matches the `name` accepted by `reaction.add` / `reaction.remove`
	// and delivered on the `chat.reaction` webhook.
	Name string `json:"name" url:"name"`
	// Number of users who added this reaction.
	Count int `json:"count" url:"count"`
	// Visible principal IDs of reactors. Hydrate with `user.list?ids`; unauthorized IDs are omitted and `count` reflects this array.
	Users []string `json:"users" url:"users"`
	// contains filtered or unexported fields
}

func (*Reaction) GetCount

func (r *Reaction) GetCount() int

func (*Reaction) GetExtraProperties

func (r *Reaction) GetExtraProperties() map[string]interface{}

func (*Reaction) GetName

func (r *Reaction) GetName() string

func (*Reaction) GetUsers

func (r *Reaction) GetUsers() []string

func (*Reaction) MarshalJSON

func (r *Reaction) MarshalJSON() ([]byte, error)

func (*Reaction) SetCount

func (r *Reaction) SetCount(count int)

SetCount sets the Count field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Reaction) SetName

func (r *Reaction) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Reaction) SetUsers

func (r *Reaction) SetUsers(users []string)

SetUsers sets the Users field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Reaction) String

func (r *Reaction) String() string

func (*Reaction) UnmarshalJSON

func (r *Reaction) UnmarshalJSON(data []byte) error

type RecordingListRequest

type RecordingListRequest struct {
	// The datetime to begin listing recordings (YYYY-MM-DD or RFC-3339).
	// Defaults to "no filter".
	After *string `json:"-" url:"after,omitempty"`
	// The datetime until which to list recordings (YYYY-MM-DD or RFC-3339).
	// Defaults to "now".
	Before *string `json:"-" url:"before,omitempty"`
	// The number of recordings to return per response. Default is 10.
	Limit *int `json:"-" url:"limit,omitempty"`
	// Opaque pagination cursor from a previous response's `nextCursor`. Do not construct cursors manually.
	Cursor *string `json:"-" url:"cursor,omitempty"`
	// contains filtered or unexported fields
}

func (*RecordingListRequest) SetAfter

func (r *RecordingListRequest) SetAfter(after *string)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListRequest) SetBefore

func (r *RecordingListRequest) SetBefore(before *string)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListRequest) SetCursor

func (r *RecordingListRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListRequest) SetLimit

func (r *RecordingListRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type RecordingListResponse

type RecordingListResponse struct {
	Recordings []*RecordingListResponseRecordingsItem `json:"recordings,omitempty" url:"recordings,omitempty"`
	// Returned if there is a subsequent page of recordings.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// contains filtered or unexported fields
}

func (*RecordingListResponse) GetExtraProperties

func (r *RecordingListResponse) GetExtraProperties() map[string]interface{}

func (*RecordingListResponse) GetNextCursor

func (r *RecordingListResponse) GetNextCursor() *string

func (*RecordingListResponse) GetRecordings

func (*RecordingListResponse) MarshalJSON

func (r *RecordingListResponse) MarshalJSON() ([]byte, error)

func (*RecordingListResponse) SetNextCursor

func (r *RecordingListResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponse) SetRecordings

func (r *RecordingListResponse) SetRecordings(recordings []*RecordingListResponseRecordingsItem)

SetRecordings sets the Recordings field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponse) String

func (r *RecordingListResponse) String() string

func (*RecordingListResponse) UnmarshalJSON

func (r *RecordingListResponse) UnmarshalJSON(data []byte) error

type RecordingListResponseRecordingsItem

type RecordingListResponseRecordingsItem struct {
	// A unique identifier for the recording
	RecordingID *string `json:"recordingId,omitempty" url:"recordingId,omitempty"`
	// Name of the Roam room where the recording took place
	Location *string `json:"location,omitempty" url:"location,omitempty"`
	// Exact time when the recording began
	StartTime *time.Time `json:"startTime,omitempty" url:"startTime,omitempty"`
	// Exact time when the recording stopped
	EndTime *time.Time `json:"endTime,omitempty" url:"endTime,omitempty"`
	// URL where the video file may be downloaded
	VideoURL *string `json:"videoUrl,omitempty" url:"videoUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*RecordingListResponseRecordingsItem) GetEndTime

func (*RecordingListResponseRecordingsItem) GetExtraProperties

func (r *RecordingListResponseRecordingsItem) GetExtraProperties() map[string]interface{}

func (*RecordingListResponseRecordingsItem) GetLocation

func (r *RecordingListResponseRecordingsItem) GetLocation() *string

func (*RecordingListResponseRecordingsItem) GetRecordingID

func (r *RecordingListResponseRecordingsItem) GetRecordingID() *string

func (*RecordingListResponseRecordingsItem) GetStartTime

func (r *RecordingListResponseRecordingsItem) GetStartTime() *time.Time

func (*RecordingListResponseRecordingsItem) GetVideoURL

func (r *RecordingListResponseRecordingsItem) GetVideoURL() *string

func (*RecordingListResponseRecordingsItem) MarshalJSON

func (r *RecordingListResponseRecordingsItem) MarshalJSON() ([]byte, error)

func (*RecordingListResponseRecordingsItem) SetEndTime

func (r *RecordingListResponseRecordingsItem) SetEndTime(endTime *time.Time)

SetEndTime sets the EndTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponseRecordingsItem) SetLocation

func (r *RecordingListResponseRecordingsItem) SetLocation(location *string)

SetLocation sets the Location field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponseRecordingsItem) SetRecordingID

func (r *RecordingListResponseRecordingsItem) SetRecordingID(recordingID *string)

SetRecordingID sets the RecordingID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponseRecordingsItem) SetStartTime

func (r *RecordingListResponseRecordingsItem) SetStartTime(startTime *time.Time)

SetStartTime sets the StartTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponseRecordingsItem) SetVideoURL

func (r *RecordingListResponseRecordingsItem) SetVideoURL(videoURL *string)

SetVideoURL sets the VideoURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RecordingListResponseRecordingsItem) String

func (*RecordingListResponseRecordingsItem) UnmarshalJSON

func (r *RecordingListResponseRecordingsItem) UnmarshalJSON(data []byte) error

type RemoveGroupRequest

type RemoveGroupRequest struct {
	// Group ID
	ID string `json:"id" url:"-"`
	// List of member IDs or email addresses to remove
	Members []string `json:"members" url:"-"`
	// contains filtered or unexported fields
}

func (*RemoveGroupRequest) MarshalJSON

func (r *RemoveGroupRequest) MarshalJSON() ([]byte, error)

func (*RemoveGroupRequest) SetID

func (r *RemoveGroupRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RemoveGroupRequest) SetMembers

func (r *RemoveGroupRequest) SetMembers(members []string)

SetMembers sets the Members field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RemoveGroupRequest) UnmarshalJSON

func (r *RemoveGroupRequest) UnmarshalJSON(data []byte) error

type RemoveReactionRequest

type RemoveReactionRequest struct {
	// The chat containing the message.
	ChatID string `json:"chatId" url:"-"`
	// Timestamp of the message (Unix microseconds).
	Timestamp int `json:"timestamp" url:"-"`
	// Timestamp of the parent thread message (Unix microseconds), if removing from a thread reply.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// Name of the reaction to remove (e.g. "thumbs_up", "heart").
	Name string `json:"name" url:"-"`
	// contains filtered or unexported fields
}

func (*RemoveReactionRequest) MarshalJSON

func (r *RemoveReactionRequest) MarshalJSON() ([]byte, error)

func (*RemoveReactionRequest) SetChatID

func (r *RemoveReactionRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RemoveReactionRequest) SetName

func (r *RemoveReactionRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RemoveReactionRequest) SetThreadTimestamp

func (r *RemoveReactionRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RemoveReactionRequest) SetTimestamp

func (r *RemoveReactionRequest) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RemoveReactionRequest) UnmarshalJSON

func (r *RemoveReactionRequest) UnmarshalJSON(data []byte) error

type RenameGroupRequest

type RenameGroupRequest struct {
	// The group ID
	ID string `json:"id" url:"-"`
	// The new name for the group
	Name string `json:"name" url:"-"`
	// contains filtered or unexported fields
}

func (*RenameGroupRequest) MarshalJSON

func (r *RenameGroupRequest) MarshalJSON() ([]byte, error)

func (*RenameGroupRequest) SetID

func (r *RenameGroupRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RenameGroupRequest) SetName

func (r *RenameGroupRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*RenameGroupRequest) UnmarshalJSON

func (r *RenameGroupRequest) UnmarshalJSON(data []byte) error

type ResolveLinkChatRequest

type ResolveLinkChatRequest struct {
	// A Roam chat deep link URL that contains a message reference.
	Link string `json:"link" url:"-"`
	// contains filtered or unexported fields
}

func (*ResolveLinkChatRequest) MarshalJSON

func (r *ResolveLinkChatRequest) MarshalJSON() ([]byte, error)
func (r *ResolveLinkChatRequest) SetLink(link string)

SetLink sets the Link field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ResolveLinkChatRequest) UnmarshalJSON

func (r *ResolveLinkChatRequest) UnmarshalJSON(data []byte) error

type ResolveLinkChatResponse

type ResolveLinkChatResponse struct {
	// ID of the chat referenced by the link.
	ChatID string `json:"chatId" url:"chatId"`
	// Timestamp of the referenced message (microseconds).
	Timestamp int `json:"timestamp" url:"timestamp"`
	// Thread timestamp if the referenced message is in a thread.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// `true` if the caller has access to the chat and `message` is populated.
	// `false` if the caller lacks access; no message content is returned.
	Readable bool         `json:"readable" url:"readable"`
	Message  *ChatMessage `json:"message,omitempty" url:"message,omitempty"`
	// contains filtered or unexported fields
}

func (*ResolveLinkChatResponse) GetChatID

func (r *ResolveLinkChatResponse) GetChatID() string

func (*ResolveLinkChatResponse) GetExtraProperties

func (r *ResolveLinkChatResponse) GetExtraProperties() map[string]interface{}

func (*ResolveLinkChatResponse) GetMessage

func (r *ResolveLinkChatResponse) GetMessage() *ChatMessage

func (*ResolveLinkChatResponse) GetReadable

func (r *ResolveLinkChatResponse) GetReadable() bool

func (*ResolveLinkChatResponse) GetThreadTimestamp

func (r *ResolveLinkChatResponse) GetThreadTimestamp() *int

func (*ResolveLinkChatResponse) GetTimestamp

func (r *ResolveLinkChatResponse) GetTimestamp() int

func (*ResolveLinkChatResponse) MarshalJSON

func (r *ResolveLinkChatResponse) MarshalJSON() ([]byte, error)

func (*ResolveLinkChatResponse) SetChatID

func (r *ResolveLinkChatResponse) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ResolveLinkChatResponse) SetMessage

func (r *ResolveLinkChatResponse) SetMessage(message *ChatMessage)

SetMessage sets the Message field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ResolveLinkChatResponse) SetReadable

func (r *ResolveLinkChatResponse) SetReadable(readable bool)

SetReadable sets the Readable field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ResolveLinkChatResponse) SetThreadTimestamp

func (r *ResolveLinkChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ResolveLinkChatResponse) SetTimestamp

func (r *ResolveLinkChatResponse) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ResolveLinkChatResponse) String

func (r *ResolveLinkChatResponse) String() string

func (*ResolveLinkChatResponse) UnmarshalJSON

func (r *ResolveLinkChatResponse) UnmarshalJSON(data []byte) error

type SearchChatRequest

type SearchChatRequest struct {
	// Free-text search query. Empty matches all messages.
	Query *string `json:"query,omitempty" url:"-"`
	// Group names to search within.
	In []string `json:"in,omitempty" url:"-"`
	// Filter to messages sent by these email addresses.
	From []string `json:"from,omitempty" url:"-"`
	// Filter to chats including these email addresses.
	With []string `json:"with,omitempty" url:"-"`
	// Only include messages before this date (`YYYY-MM-DD`, caller's timezone).
	Before *string `json:"before,omitempty" url:"-"`
	// Only include messages on or after this date (`YYYY-MM-DD`, caller's timezone).
	After *string `json:"after,omitempty" url:"-"`
	// Restrict to messages that contain a mention or an item.
	Has []SearchChatRequestHasItem `json:"has,omitempty" url:"-"`
	// Restrict to specific chat types. Defaults to all types
	// (channels, all-hands "team Roam" groups, and DMs).
	ChatTypes []SearchChatRequestChatTypesItem `json:"chatTypes,omitempty" url:"-"`
	// Chat IDs to exclude from results.
	ExcludeChatIDs []string `json:"excludeChatIds,omitempty" url:"-"`
	// Sender user IDs to exclude from results.
	ExcludeUserIDs []string `json:"excludeUserIds,omitempty" url:"-"`
	// `relevant` (default) ranks by relevance to `query`; `recent`
	// sorts newest first. With an empty `query`, results are
	// sorted chronologically regardless.
	Sort *SearchChatRequestSort `json:"sort,omitempty" url:"-"`
	// Comma-separated fields to expand. Supported: `addresses` —
	// include an `addresses` map resolving the sender (`userId`) and
	// mentioned IDs on each message to their display info.
	Expand *string `json:"expand,omitempty" url:"-"`
	// Number of messages per page (max 200).
	Limit *int `json:"limit,omitempty" url:"-"`
	// Opaque pagination cursor from a previous response's `nextCursor`.
	Cursor *string `json:"cursor,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*SearchChatRequest) MarshalJSON

func (s *SearchChatRequest) MarshalJSON() ([]byte, error)

func (*SearchChatRequest) SetAfter

func (s *SearchChatRequest) SetAfter(after *string)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetBefore

func (s *SearchChatRequest) SetBefore(before *string)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetChatTypes

func (s *SearchChatRequest) SetChatTypes(chatTypes []SearchChatRequestChatTypesItem)

SetChatTypes sets the ChatTypes field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetCursor

func (s *SearchChatRequest) SetCursor(cursor *string)

SetCursor sets the Cursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetExcludeChatIDs

func (s *SearchChatRequest) SetExcludeChatIDs(excludeChatIDs []string)

SetExcludeChatIDs sets the ExcludeChatIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetExcludeUserIDs

func (s *SearchChatRequest) SetExcludeUserIDs(excludeUserIDs []string)

SetExcludeUserIDs sets the ExcludeUserIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetExpand

func (s *SearchChatRequest) SetExpand(expand *string)

SetExpand sets the Expand field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetFrom

func (s *SearchChatRequest) SetFrom(from []string)

SetFrom sets the From field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetHas

SetHas sets the Has field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetIn

func (s *SearchChatRequest) SetIn(in []string)

SetIn sets the In field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetLimit

func (s *SearchChatRequest) SetLimit(limit *int)

SetLimit sets the Limit field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetQuery

func (s *SearchChatRequest) SetQuery(query *string)

SetQuery sets the Query field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetSort

func (s *SearchChatRequest) SetSort(sort *SearchChatRequestSort)

SetSort sets the Sort field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) SetWith

func (s *SearchChatRequest) SetWith(with []string)

SetWith sets the With field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatRequest) UnmarshalJSON

func (s *SearchChatRequest) UnmarshalJSON(data []byte) error

type SearchChatRequestChatTypesItem

type SearchChatRequestChatTypesItem string
const (
	SearchChatRequestChatTypesItemChannel  SearchChatRequestChatTypesItem = "channel"
	SearchChatRequestChatTypesItemTeamRoam SearchChatRequestChatTypesItem = "teamRoam"
	SearchChatRequestChatTypesItemAddress  SearchChatRequestChatTypesItem = "address"
)

func NewSearchChatRequestChatTypesItemFromString

func NewSearchChatRequestChatTypesItemFromString(s string) (SearchChatRequestChatTypesItem, error)

func (SearchChatRequestChatTypesItem) Ptr

type SearchChatRequestHasItem

type SearchChatRequestHasItem string
const (
	SearchChatRequestHasItemMention SearchChatRequestHasItem = "mention"
	SearchChatRequestHasItemItem    SearchChatRequestHasItem = "item"
)

func NewSearchChatRequestHasItemFromString

func NewSearchChatRequestHasItemFromString(s string) (SearchChatRequestHasItem, error)

func (SearchChatRequestHasItem) Ptr

type SearchChatRequestSort

type SearchChatRequestSort string

`relevant` (default) ranks by relevance to `query`; `recent` sorts newest first. With an empty `query`, results are sorted chronologically regardless.

const (
	SearchChatRequestSortRelevant SearchChatRequestSort = "relevant"
	SearchChatRequestSortRecent   SearchChatRequestSort = "recent"
)

func NewSearchChatRequestSortFromString

func NewSearchChatRequestSortFromString(s string) (SearchChatRequestSort, error)

func (SearchChatRequestSort) Ptr

type SearchChatResponse

type SearchChatResponse struct {
	Messages []*ChatMessage `json:"messages" url:"messages"`
	// Cursor to fetch the next page. Absent when there are no more results.
	NextCursor *string `json:"nextCursor,omitempty" url:"nextCursor,omitempty"`
	// Resolved address objects keyed by ID, for the senders and
	// mentioned entities in this response. Included only when
	// `expand=addresses` is requested.
	Addresses map[string]*Address `json:"addresses,omitempty" url:"addresses,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchChatResponse) GetAddresses

func (s *SearchChatResponse) GetAddresses() map[string]*Address

func (*SearchChatResponse) GetExtraProperties

func (s *SearchChatResponse) GetExtraProperties() map[string]interface{}

func (*SearchChatResponse) GetMessages

func (s *SearchChatResponse) GetMessages() []*ChatMessage

func (*SearchChatResponse) GetNextCursor

func (s *SearchChatResponse) GetNextCursor() *string

func (*SearchChatResponse) MarshalJSON

func (s *SearchChatResponse) MarshalJSON() ([]byte, error)

func (*SearchChatResponse) SetAddresses

func (s *SearchChatResponse) SetAddresses(addresses map[string]*Address)

SetAddresses sets the Addresses field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatResponse) SetMessages

func (s *SearchChatResponse) SetMessages(messages []*ChatMessage)

SetMessages sets the Messages field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatResponse) SetNextCursor

func (s *SearchChatResponse) SetNextCursor(nextCursor *string)

SetNextCursor sets the NextCursor field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchChatResponse) String

func (s *SearchChatResponse) String() string

func (*SearchChatResponse) UnmarshalJSON

func (s *SearchChatResponse) UnmarshalJSON(data []byte) error

type SearchMeetingRequest

type SearchMeetingRequest struct {
	// Search query string.
	Query string `json:"-" url:"query"`
	// Only return results from meetings after this date (YYYY-MM-DD).
	After *time.Time `json:"-" url:"after,omitempty" format:"date"`
	// Only return results from meetings before this date (YYYY-MM-DD).
	Before *time.Time `json:"-" url:"before,omitempty" format:"date"`
	// Timezone for date interpretation (e.g. "America/New_York").
	Timezone *string `json:"-" url:"timezone,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchMeetingRequest) SetAfter

func (s *SearchMeetingRequest) SetAfter(after *time.Time)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingRequest) SetBefore

func (s *SearchMeetingRequest) SetBefore(before *time.Time)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingRequest) SetQuery

func (s *SearchMeetingRequest) SetQuery(query string)

SetQuery sets the Query field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingRequest) SetTimezone

func (s *SearchMeetingRequest) SetTimezone(timezone *string)

SetTimezone sets the Timezone field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type SearchMeetingResponse

type SearchMeetingResponse struct {
	Results []*SearchMeetingResponseResultsItem `json:"results,omitempty" url:"results,omitempty"`
	// AI-inferred search filters
	InferredFilter *SearchMeetingResponseInferredFilter `json:"inferredFilter,omitempty" url:"inferredFilter,omitempty"`
	// AI-refined search query
	InferredQuery *string `json:"inferredQuery,omitempty" url:"inferredQuery,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchMeetingResponse) GetExtraProperties

func (s *SearchMeetingResponse) GetExtraProperties() map[string]interface{}

func (*SearchMeetingResponse) GetInferredFilter

func (*SearchMeetingResponse) GetInferredQuery

func (s *SearchMeetingResponse) GetInferredQuery() *string

func (*SearchMeetingResponse) GetResults

func (*SearchMeetingResponse) MarshalJSON

func (s *SearchMeetingResponse) MarshalJSON() ([]byte, error)

func (*SearchMeetingResponse) SetInferredFilter

func (s *SearchMeetingResponse) SetInferredFilter(inferredFilter *SearchMeetingResponseInferredFilter)

SetInferredFilter sets the InferredFilter field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponse) SetInferredQuery

func (s *SearchMeetingResponse) SetInferredQuery(inferredQuery *string)

SetInferredQuery sets the InferredQuery field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponse) SetResults

func (s *SearchMeetingResponse) SetResults(results []*SearchMeetingResponseResultsItem)

SetResults sets the Results field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponse) String

func (s *SearchMeetingResponse) String() string

func (*SearchMeetingResponse) UnmarshalJSON

func (s *SearchMeetingResponse) UnmarshalJSON(data []byte) error

type SearchMeetingResponseInferredFilter

type SearchMeetingResponseInferredFilter struct {
	// Inferred start date (YYYY-MM-DD)
	After *string `json:"after,omitempty" url:"after,omitempty"`
	// Inferred end date (YYYY-MM-DD)
	Before *string `json:"before,omitempty" url:"before,omitempty"`
	// Inferred attendee filter
	Attendees []string `json:"attendees,omitempty" url:"attendees,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchMeetingResponseInferredFilter) GetAfter

func (*SearchMeetingResponseInferredFilter) GetAttendees

func (s *SearchMeetingResponseInferredFilter) GetAttendees() []string

func (*SearchMeetingResponseInferredFilter) GetBefore

func (*SearchMeetingResponseInferredFilter) GetExtraProperties

func (s *SearchMeetingResponseInferredFilter) GetExtraProperties() map[string]interface{}

func (*SearchMeetingResponseInferredFilter) MarshalJSON

func (s *SearchMeetingResponseInferredFilter) MarshalJSON() ([]byte, error)

func (*SearchMeetingResponseInferredFilter) SetAfter

func (s *SearchMeetingResponseInferredFilter) SetAfter(after *string)

SetAfter sets the After field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseInferredFilter) SetAttendees

func (s *SearchMeetingResponseInferredFilter) SetAttendees(attendees []string)

SetAttendees sets the Attendees field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseInferredFilter) SetBefore

func (s *SearchMeetingResponseInferredFilter) SetBefore(before *string)

SetBefore sets the Before field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseInferredFilter) String

func (*SearchMeetingResponseInferredFilter) UnmarshalJSON

func (s *SearchMeetingResponseInferredFilter) UnmarshalJSON(data []byte) error

type SearchMeetingResponseResultsItem

type SearchMeetingResponseResultsItem struct {
	// Meeting ID
	MeetingID *string `json:"meetingId,omitempty" url:"meetingId,omitempty"`
	// Meeting title
	MeetingName *string `json:"meetingName,omitempty" url:"meetingName,omitempty"`
	// Meeting date (RFC-3339)
	MeetingDate *time.Time `json:"meetingDate,omitempty" url:"meetingDate,omitempty"`
	// Participant names
	Participants []string `json:"participants,omitempty" url:"participants,omitempty"`
	// Relevant summary excerpt
	HighlightedSummary *string `json:"highlightedSummary,omitempty" url:"highlightedSummary,omitempty"`
	// Relevant transcript excerpt
	HighlightedTranscript *string `json:"highlightedTranscript,omitempty" url:"highlightedTranscript,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchMeetingResponseResultsItem) GetExtraProperties

func (s *SearchMeetingResponseResultsItem) GetExtraProperties() map[string]interface{}

func (*SearchMeetingResponseResultsItem) GetHighlightedSummary

func (s *SearchMeetingResponseResultsItem) GetHighlightedSummary() *string

func (*SearchMeetingResponseResultsItem) GetHighlightedTranscript

func (s *SearchMeetingResponseResultsItem) GetHighlightedTranscript() *string

func (*SearchMeetingResponseResultsItem) GetMeetingDate

func (s *SearchMeetingResponseResultsItem) GetMeetingDate() *time.Time

func (*SearchMeetingResponseResultsItem) GetMeetingID

func (s *SearchMeetingResponseResultsItem) GetMeetingID() *string

func (*SearchMeetingResponseResultsItem) GetMeetingName

func (s *SearchMeetingResponseResultsItem) GetMeetingName() *string

func (*SearchMeetingResponseResultsItem) GetParticipants

func (s *SearchMeetingResponseResultsItem) GetParticipants() []string

func (*SearchMeetingResponseResultsItem) MarshalJSON

func (s *SearchMeetingResponseResultsItem) MarshalJSON() ([]byte, error)

func (*SearchMeetingResponseResultsItem) SetHighlightedSummary

func (s *SearchMeetingResponseResultsItem) SetHighlightedSummary(highlightedSummary *string)

SetHighlightedSummary sets the HighlightedSummary field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseResultsItem) SetHighlightedTranscript

func (s *SearchMeetingResponseResultsItem) SetHighlightedTranscript(highlightedTranscript *string)

SetHighlightedTranscript sets the HighlightedTranscript field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseResultsItem) SetMeetingDate

func (s *SearchMeetingResponseResultsItem) SetMeetingDate(meetingDate *time.Time)

SetMeetingDate sets the MeetingDate field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseResultsItem) SetMeetingID

func (s *SearchMeetingResponseResultsItem) SetMeetingID(meetingID *string)

SetMeetingID sets the MeetingID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseResultsItem) SetMeetingName

func (s *SearchMeetingResponseResultsItem) SetMeetingName(meetingName *string)

SetMeetingName sets the MeetingName field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseResultsItem) SetParticipants

func (s *SearchMeetingResponseResultsItem) SetParticipants(participants []string)

SetParticipants sets the Participants field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*SearchMeetingResponseResultsItem) String

func (*SearchMeetingResponseResultsItem) UnmarshalJSON

func (s *SearchMeetingResponseResultsItem) UnmarshalJSON(data []byte) error

type Sender

type Sender struct {
	// Code of a configured bot persona to author the message as (trimmed,
	// case-insensitive). Omitted, empty, or `_` posts as the app's root
	// identity. Unconfigured ids are accepted and ignored — supplying an id
	// never creates a persona.
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// Display name override for this message only (max 128 characters).
	// Does not rename the app or persona.
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Avatar URL override for this message only. Must be an absolute HTTP(S)
	// URL. From API version `2026-08-25` it must be a Roam-hosted avatar URL
	// from [`/asset.create`](https://developer.ro.am/docs/api/asset-create) with `purpose: "avatar"`
	// (the response `imageUrl`), or a legacy `/card-images/` or
	// `/photos/people/` URL. Third-party image URLs return 400. Older version
	// pins still accept any absolute HTTP(S) URL.
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// contains filtered or unexported fields
}

func (*Sender) GetExtraProperties

func (s *Sender) GetExtraProperties() map[string]interface{}

func (*Sender) GetID

func (s *Sender) GetID() *string

func (*Sender) GetImageURL

func (s *Sender) GetImageURL() *string

func (*Sender) GetName

func (s *Sender) GetName() *string

func (*Sender) MarshalJSON

func (s *Sender) MarshalJSON() ([]byte, error)

func (*Sender) SetID

func (s *Sender) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Sender) SetImageURL

func (s *Sender) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Sender) SetName

func (s *Sender) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Sender) String

func (s *Sender) String() string

func (*Sender) UnmarshalJSON

func (s *Sender) UnmarshalJSON(data []byte) error

type ShareLinkMeetingRequest

type ShareLinkMeetingRequest struct {
	// The meeting ID.
	ID string `json:"id" url:"-"`
	// contains filtered or unexported fields
}

func (*ShareLinkMeetingRequest) MarshalJSON

func (s *ShareLinkMeetingRequest) MarshalJSON() ([]byte, error)

func (*ShareLinkMeetingRequest) SetID

func (s *ShareLinkMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ShareLinkMeetingRequest) UnmarshalJSON

func (s *ShareLinkMeetingRequest) UnmarshalJSON(data []byte) error

type ShareLinkMeetingResponse

type ShareLinkMeetingResponse struct {
	// The meeting ID.
	ID string `json:"id" url:"id"`
	// The shareable meeting URL.
	URL string `json:"url" url:"url"`
	// contains filtered or unexported fields
}

func (*ShareLinkMeetingResponse) GetExtraProperties

func (s *ShareLinkMeetingResponse) GetExtraProperties() map[string]interface{}

func (*ShareLinkMeetingResponse) GetID

func (s *ShareLinkMeetingResponse) GetID() string

func (*ShareLinkMeetingResponse) GetURL

func (s *ShareLinkMeetingResponse) GetURL() string

func (*ShareLinkMeetingResponse) MarshalJSON

func (s *ShareLinkMeetingResponse) MarshalJSON() ([]byte, error)

func (*ShareLinkMeetingResponse) SetID

func (s *ShareLinkMeetingResponse) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ShareLinkMeetingResponse) SetURL

func (s *ShareLinkMeetingResponse) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*ShareLinkMeetingResponse) String

func (s *ShareLinkMeetingResponse) String() string

func (*ShareLinkMeetingResponse) UnmarshalJSON

func (s *ShareLinkMeetingResponse) UnmarshalJSON(data []byte) error

type StartStreamChatRequest

type StartStreamChatRequest struct {
	// Stream into an existing chat by ID (mutually exclusive with groupId/userIds).
	ChatID *string `json:"chatId,omitempty" url:"-"`
	// Stream into a group chat (mutually exclusive with chatId/userIds).
	GroupID *string `json:"groupId,omitempty" url:"-"`
	// Stream into a DM or Multi-DM with these users (mutually exclusive with chatId/groupId).
	UserIDs []string `json:"userIds,omitempty" url:"-"`
	// Stream kind. `thinking` finalizes as a thought-bubble message.
	Kind *StartStreamChatRequestKind `json:"kind,omitempty" url:"-"`
	// Optional thread to reply within.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// Optional initial text. May be empty to defer destination resolution until the first append/stop.
	Text   *string `json:"text,omitempty" url:"-"`
	Sender *Sender `json:"sender,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*StartStreamChatRequest) MarshalJSON

func (s *StartStreamChatRequest) MarshalJSON() ([]byte, error)

func (*StartStreamChatRequest) SetChatID

func (s *StartStreamChatRequest) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) SetGroupID

func (s *StartStreamChatRequest) SetGroupID(groupID *string)

SetGroupID sets the GroupID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) SetKind

SetKind sets the Kind field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) SetSender

func (s *StartStreamChatRequest) SetSender(sender *Sender)

SetSender sets the Sender field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) SetText

func (s *StartStreamChatRequest) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) SetThreadTimestamp

func (s *StartStreamChatRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) SetUserIDs

func (s *StartStreamChatRequest) SetUserIDs(userIDs []string)

SetUserIDs sets the UserIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatRequest) UnmarshalJSON

func (s *StartStreamChatRequest) UnmarshalJSON(data []byte) error

type StartStreamChatRequestKind

type StartStreamChatRequestKind string

Stream kind. `thinking` finalizes as a thought-bubble message.

const (
	StartStreamChatRequestKindText     StartStreamChatRequestKind = "text"
	StartStreamChatRequestKindThinking StartStreamChatRequestKind = "thinking"
)

func NewStartStreamChatRequestKindFromString

func NewStartStreamChatRequestKindFromString(s string) (StartStreamChatRequestKind, error)

func (StartStreamChatRequestKind) Ptr

type StartStreamChatResponse

type StartStreamChatResponse struct {
	// Unique ID for this stream. Pass it to appendStream and stopStream.
	StreamID *string `json:"streamId,omitempty" url:"streamId,omitempty"`
	// ID of the destination chat.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Thread timestamp if the stream is a thread reply.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*StartStreamChatResponse) GetChatID

func (s *StartStreamChatResponse) GetChatID() *string

func (*StartStreamChatResponse) GetExtraProperties

func (s *StartStreamChatResponse) GetExtraProperties() map[string]interface{}

func (*StartStreamChatResponse) GetStreamID

func (s *StartStreamChatResponse) GetStreamID() *string

func (*StartStreamChatResponse) GetThreadTimestamp

func (s *StartStreamChatResponse) GetThreadTimestamp() *int

func (*StartStreamChatResponse) MarshalJSON

func (s *StartStreamChatResponse) MarshalJSON() ([]byte, error)

func (*StartStreamChatResponse) SetChatID

func (s *StartStreamChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatResponse) SetStreamID

func (s *StartStreamChatResponse) SetStreamID(streamID *string)

SetStreamID sets the StreamID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatResponse) SetThreadTimestamp

func (s *StartStreamChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StartStreamChatResponse) String

func (s *StartStreamChatResponse) String() string

func (*StartStreamChatResponse) UnmarshalJSON

func (s *StartStreamChatResponse) UnmarshalJSON(data []byte) error

type StopStreamChatRequest

type StopStreamChatRequest struct {
	// The stream ID returned by chat.startStream.
	StreamID string `json:"streamId" url:"-"`
	// Optional trailing text appended before the message is finalized.
	Text *string `json:"text,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*StopStreamChatRequest) MarshalJSON

func (s *StopStreamChatRequest) MarshalJSON() ([]byte, error)

func (*StopStreamChatRequest) SetStreamID

func (s *StopStreamChatRequest) SetStreamID(streamID string)

SetStreamID sets the StreamID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StopStreamChatRequest) SetText

func (s *StopStreamChatRequest) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StopStreamChatRequest) UnmarshalJSON

func (s *StopStreamChatRequest) UnmarshalJSON(data []byte) error

type StopStreamChatResponse

type StopStreamChatResponse struct {
	StreamID *string `json:"streamId,omitempty" url:"streamId,omitempty"`
	// ID of the chat where the message was posted.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Timestamp of the finalized message (microseconds since epoch).
	Timestamp *int `json:"timestamp,omitempty" url:"timestamp,omitempty"`
	// Thread timestamp if the stream was a thread reply.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*StopStreamChatResponse) GetChatID

func (s *StopStreamChatResponse) GetChatID() *string

func (*StopStreamChatResponse) GetExtraProperties

func (s *StopStreamChatResponse) GetExtraProperties() map[string]interface{}

func (*StopStreamChatResponse) GetStreamID

func (s *StopStreamChatResponse) GetStreamID() *string

func (*StopStreamChatResponse) GetThreadTimestamp

func (s *StopStreamChatResponse) GetThreadTimestamp() *int

func (*StopStreamChatResponse) GetTimestamp

func (s *StopStreamChatResponse) GetTimestamp() *int

func (*StopStreamChatResponse) MarshalJSON

func (s *StopStreamChatResponse) MarshalJSON() ([]byte, error)

func (*StopStreamChatResponse) SetChatID

func (s *StopStreamChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StopStreamChatResponse) SetStreamID

func (s *StopStreamChatResponse) SetStreamID(streamID *string)

SetStreamID sets the StreamID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StopStreamChatResponse) SetThreadTimestamp

func (s *StopStreamChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StopStreamChatResponse) SetTimestamp

func (s *StopStreamChatResponse) SetTimestamp(timestamp *int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*StopStreamChatResponse) String

func (s *StopStreamChatResponse) String() string

func (*StopStreamChatResponse) UnmarshalJSON

func (s *StopStreamChatResponse) UnmarshalJSON(data []byte) error

type TooManyRequestsError

type TooManyRequestsError struct {
	*core.APIError
	Body *Error
}

Rate limited. Body uses the standard error envelope with `error: "ratelimited"`. Honor `Retry-After` (and any `X-RateLimit-*` headers) before retrying with backoff. See [Rate Limiting](/docs/api/api#rate-limiting).

func (*TooManyRequestsError) MarshalJSON

func (t *TooManyRequestsError) MarshalJSON() ([]byte, error)

func (*TooManyRequestsError) UnmarshalJSON

func (t *TooManyRequestsError) UnmarshalJSON(data []byte) error

func (*TooManyRequestsError) Unwrap

func (t *TooManyRequestsError) Unwrap() error

type TranscriptMeetingRequest

type TranscriptMeetingRequest struct {
	// The meeting ID.
	ID string `json:"-" url:"id"`
	// contains filtered or unexported fields
}

func (*TranscriptMeetingRequest) SetID

func (t *TranscriptMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type TranscriptMeetingResponse

type TranscriptMeetingResponse struct {
	// Meeting ID
	ID string `json:"id" url:"id"`
	// Transcript cues in chronological order
	Cues []*TranscriptMeetingResponseCuesItem `json:"cues" url:"cues"`
	// contains filtered or unexported fields
}

func (*TranscriptMeetingResponse) GetCues

func (*TranscriptMeetingResponse) GetExtraProperties

func (t *TranscriptMeetingResponse) GetExtraProperties() map[string]interface{}

func (*TranscriptMeetingResponse) GetID

func (t *TranscriptMeetingResponse) GetID() string

func (*TranscriptMeetingResponse) MarshalJSON

func (t *TranscriptMeetingResponse) MarshalJSON() ([]byte, error)

func (*TranscriptMeetingResponse) SetCues

SetCues sets the Cues field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TranscriptMeetingResponse) SetID

func (t *TranscriptMeetingResponse) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TranscriptMeetingResponse) String

func (t *TranscriptMeetingResponse) String() string

func (*TranscriptMeetingResponse) UnmarshalJSON

func (t *TranscriptMeetingResponse) UnmarshalJSON(data []byte) error

type TranscriptMeetingResponseCuesItem

type TranscriptMeetingResponseCuesItem struct {
	// Address ID of the speaker
	SpeakerID *string `json:"speakerId,omitempty" url:"speakerId,omitempty"`
	// Spoken text
	Text string `json:"text" url:"text"`
	// Start time in milliseconds from meeting start
	Start int `json:"start" url:"start"`
	// End time in milliseconds from meeting start
	End int `json:"end" url:"end"`
	// contains filtered or unexported fields
}

func (*TranscriptMeetingResponseCuesItem) GetEnd

func (*TranscriptMeetingResponseCuesItem) GetExtraProperties

func (t *TranscriptMeetingResponseCuesItem) GetExtraProperties() map[string]interface{}

func (*TranscriptMeetingResponseCuesItem) GetSpeakerID

func (t *TranscriptMeetingResponseCuesItem) GetSpeakerID() *string

func (*TranscriptMeetingResponseCuesItem) GetStart

func (t *TranscriptMeetingResponseCuesItem) GetStart() int

func (*TranscriptMeetingResponseCuesItem) GetText

func (*TranscriptMeetingResponseCuesItem) MarshalJSON

func (t *TranscriptMeetingResponseCuesItem) MarshalJSON() ([]byte, error)

func (*TranscriptMeetingResponseCuesItem) SetEnd

func (t *TranscriptMeetingResponseCuesItem) SetEnd(end int)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TranscriptMeetingResponseCuesItem) SetSpeakerID

func (t *TranscriptMeetingResponseCuesItem) SetSpeakerID(speakerID *string)

SetSpeakerID sets the SpeakerID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TranscriptMeetingResponseCuesItem) SetStart

func (t *TranscriptMeetingResponseCuesItem) SetStart(start int)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TranscriptMeetingResponseCuesItem) SetText

func (t *TranscriptMeetingResponseCuesItem) SetText(text string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TranscriptMeetingResponseCuesItem) String

func (*TranscriptMeetingResponseCuesItem) UnmarshalJSON

func (t *TranscriptMeetingResponseCuesItem) UnmarshalJSON(data []byte) error

type TypingChatRequest

type TypingChatRequest struct {
	// Send to an existing chat by ID (mutually exclusive with groupId/userIds)
	ChatID *string `json:"chatId,omitempty" url:"-"`
	// Send to a group channel (mutually exclusive with chatId/userIds)
	GroupID *string `json:"groupId,omitempty" url:"-"`
	// Send to a DM or Multi-DM with these users (mutually exclusive with chatId/groupId)
	UserIDs []string `json:"userIds,omitempty" url:"-"`
	// Timestamp of the message being replied to.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// Optional configured bot persona to show the indicator as. Only
	// `id` is accepted — `name` and `imageUrl` are rejected on this
	// endpoint. Personal access tokens reject this field entirely.
	// See the [Sender Profiles guide](https://developer.ro.am/docs/guides/sender-profiles).
	Sender *TypingChatRequestSender `json:"sender,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*TypingChatRequest) MarshalJSON

func (t *TypingChatRequest) MarshalJSON() ([]byte, error)

func (*TypingChatRequest) SetChatID

func (t *TypingChatRequest) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TypingChatRequest) SetGroupID

func (t *TypingChatRequest) SetGroupID(groupID *string)

SetGroupID sets the GroupID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TypingChatRequest) SetSender

func (t *TypingChatRequest) SetSender(sender *TypingChatRequestSender)

SetSender sets the Sender field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TypingChatRequest) SetThreadTimestamp

func (t *TypingChatRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TypingChatRequest) SetUserIDs

func (t *TypingChatRequest) SetUserIDs(userIDs []string)

SetUserIDs sets the UserIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TypingChatRequest) UnmarshalJSON

func (t *TypingChatRequest) UnmarshalJSON(data []byte) error

type TypingChatRequestSender

type TypingChatRequestSender struct {
	// Code of a configured bot persona (lookup-only; never
	// creates one). Ids that don't match a configured persona
	// are accepted and ignored.
	ID *string `json:"id,omitempty" url:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*TypingChatRequestSender) GetExtraProperties

func (t *TypingChatRequestSender) GetExtraProperties() map[string]interface{}

func (*TypingChatRequestSender) GetID

func (t *TypingChatRequestSender) GetID() *string

func (*TypingChatRequestSender) MarshalJSON

func (t *TypingChatRequestSender) MarshalJSON() ([]byte, error)

func (*TypingChatRequestSender) SetID

func (t *TypingChatRequestSender) SetID(id *string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*TypingChatRequestSender) String

func (t *TypingChatRequestSender) String() string

func (*TypingChatRequestSender) UnmarshalJSON

func (t *TypingChatRequestSender) UnmarshalJSON(data []byte) error

type UnauthorizedError

type UnauthorizedError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*UnauthorizedError) MarshalJSON

func (u *UnauthorizedError) MarshalJSON() ([]byte, error)

func (*UnauthorizedError) UnmarshalJSON

func (u *UnauthorizedError) UnmarshalJSON(data []byte) error

func (*UnauthorizedError) Unwrap

func (u *UnauthorizedError) Unwrap() error

type UnfurlChatRequest

type UnfurlChatRequest struct {
	ChatID string `json:"chatId" url:"-"`
	// Timestamp of a top-level or threaded message in Unix microseconds.
	MessageTimestamp int `json:"messageTimestamp" url:"-"`
	// Preview content keyed by the exact URL from the message.
	Unfurls map[string]*UnfurlContent `json:"unfurls" url:"-"`
	// contains filtered or unexported fields
}

func (*UnfurlChatRequest) MarshalJSON

func (u *UnfurlChatRequest) MarshalJSON() ([]byte, error)

func (*UnfurlChatRequest) SetChatID

func (u *UnfurlChatRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlChatRequest) SetMessageTimestamp

func (u *UnfurlChatRequest) SetMessageTimestamp(messageTimestamp int)

SetMessageTimestamp sets the MessageTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlChatRequest) SetUnfurls

func (u *UnfurlChatRequest) SetUnfurls(unfurls map[string]*UnfurlContent)

SetUnfurls sets the Unfurls field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlChatRequest) UnmarshalJSON

func (u *UnfurlChatRequest) UnmarshalJSON(data []byte) error

type UnfurlChatResponse

type UnfurlChatResponse struct {
	Ok bool `json:"ok" url:"ok"`
	// contains filtered or unexported fields
}

func (*UnfurlChatResponse) GetExtraProperties

func (u *UnfurlChatResponse) GetExtraProperties() map[string]interface{}

func (*UnfurlChatResponse) GetOk

func (u *UnfurlChatResponse) GetOk() bool

func (*UnfurlChatResponse) MarshalJSON

func (u *UnfurlChatResponse) MarshalJSON() ([]byte, error)

func (*UnfurlChatResponse) SetOk

func (u *UnfurlChatResponse) SetOk(ok bool)

SetOk sets the Ok field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlChatResponse) String

func (u *UnfurlChatResponse) String() string

func (*UnfurlChatResponse) UnmarshalJSON

func (u *UnfurlChatResponse) UnmarshalJSON(data []byte) error

type UnfurlContent

type UnfurlContent struct {
	// Title displayed on the preview card.
	Title string `json:"title" url:"title"`
	// Optional preview summary.
	Description *string `json:"description,omitempty" url:"description,omitempty"`
	// Optional service or website name.
	SiteName *string `json:"siteName,omitempty" url:"siteName,omitempty"`
	// Optional HTTPS favicon URL. Roam's server does not fetch it.
	Favicon *string             `json:"favicon,omitempty" url:"favicon,omitempty"`
	Image   *UnfurlContentImage `json:"image,omitempty" url:"image,omitempty"`
	// contains filtered or unexported fields
}

func (*UnfurlContent) GetDescription

func (u *UnfurlContent) GetDescription() *string

func (*UnfurlContent) GetExtraProperties

func (u *UnfurlContent) GetExtraProperties() map[string]interface{}

func (*UnfurlContent) GetFavicon

func (u *UnfurlContent) GetFavicon() *string

func (*UnfurlContent) GetImage

func (u *UnfurlContent) GetImage() *UnfurlContentImage

func (*UnfurlContent) GetSiteName

func (u *UnfurlContent) GetSiteName() *string

func (*UnfurlContent) GetTitle

func (u *UnfurlContent) GetTitle() string

func (*UnfurlContent) MarshalJSON

func (u *UnfurlContent) MarshalJSON() ([]byte, error)

func (*UnfurlContent) SetDescription

func (u *UnfurlContent) SetDescription(description *string)

SetDescription sets the Description field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContent) SetFavicon

func (u *UnfurlContent) SetFavicon(favicon *string)

SetFavicon sets the Favicon field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContent) SetImage

func (u *UnfurlContent) SetImage(image *UnfurlContentImage)

SetImage sets the Image field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContent) SetSiteName

func (u *UnfurlContent) SetSiteName(siteName *string)

SetSiteName sets the SiteName field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContent) SetTitle

func (u *UnfurlContent) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContent) String

func (u *UnfurlContent) String() string

func (*UnfurlContent) UnmarshalJSON

func (u *UnfurlContent) UnmarshalJSON(data []byte) error

type UnfurlContentImage

type UnfurlContentImage struct {
	// HTTPS image URL. Roam's server does not fetch it.
	URL string `json:"url" url:"url"`
	// Image media type, such as `image/png`.
	Type   *string `json:"type,omitempty" url:"type,omitempty"`
	Width  *int    `json:"width,omitempty" url:"width,omitempty"`
	Height *int    `json:"height,omitempty" url:"height,omitempty"`
	// Accessible alternative text for the image.
	Alt *string `json:"alt,omitempty" url:"alt,omitempty"`
	// contains filtered or unexported fields
}

func (*UnfurlContentImage) GetAlt

func (u *UnfurlContentImage) GetAlt() *string

func (*UnfurlContentImage) GetExtraProperties

func (u *UnfurlContentImage) GetExtraProperties() map[string]interface{}

func (*UnfurlContentImage) GetHeight

func (u *UnfurlContentImage) GetHeight() *int

func (*UnfurlContentImage) GetType

func (u *UnfurlContentImage) GetType() *string

func (*UnfurlContentImage) GetURL

func (u *UnfurlContentImage) GetURL() string

func (*UnfurlContentImage) GetWidth

func (u *UnfurlContentImage) GetWidth() *int

func (*UnfurlContentImage) MarshalJSON

func (u *UnfurlContentImage) MarshalJSON() ([]byte, error)

func (*UnfurlContentImage) SetAlt

func (u *UnfurlContentImage) SetAlt(alt *string)

SetAlt sets the Alt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContentImage) SetHeight

func (u *UnfurlContentImage) SetHeight(height *int)

SetHeight sets the Height field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContentImage) SetType

func (u *UnfurlContentImage) SetType(type_ *string)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContentImage) SetURL

func (u *UnfurlContentImage) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContentImage) SetWidth

func (u *UnfurlContentImage) SetWidth(width *int)

SetWidth sets the Width field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UnfurlContentImage) String

func (u *UnfurlContentImage) String() string

func (*UnfurlContentImage) UnmarshalJSON

func (u *UnfurlContentImage) UnmarshalJSON(data []byte) error

type UnsupportedMediaTypeError

type UnsupportedMediaTypeError struct {
	*core.APIError
	Body *Error
}

Error response. `ok` is always false; branch on the machine-readable `error` code. See the Responses and Errors guide.

func (*UnsupportedMediaTypeError) MarshalJSON

func (u *UnsupportedMediaTypeError) MarshalJSON() ([]byte, error)

func (*UnsupportedMediaTypeError) UnmarshalJSON

func (u *UnsupportedMediaTypeError) UnmarshalJSON(data []byte) error

func (*UnsupportedMediaTypeError) Unwrap

func (u *UnsupportedMediaTypeError) Unwrap() error

type UpdateChatRequest

type UpdateChatRequest struct {
	// ID of the chat containing the message.
	ChatID string `json:"chatId" url:"-"`
	// Timestamp of the message to update.
	Timestamp int `json:"timestamp" url:"-"`
	// Thread timestamp, if the message is in a thread.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"-"`
	// Updated markdown-formatted text content. Required unless `blocks` is provided.
	// Cannot be combined with `blocks`.
	Text *string `json:"text,omitempty" url:"-"`
	// Text is markdown by default. If this is set to false, markdown interpretation will be disabled.
	Markdown *bool `json:"markdown,omitempty" url:"-"`
	// Array of Item IDs to attach to this message. Cannot be combined with `blocks`.
	Items []string `json:"items,omitempty" url:"-"`
	// Array of asset IDs from [`/asset.create`](https://developer.ro.am/docs/api/asset-create)
	// to attach to this message. Each asset must be owned by your app
	// and fully uploaded (processed and ready). Cannot be combined with `blocks`.
	AssetIDs []string `json:"assetIds,omitempty" url:"-"`
	// Array of [Block Kit](https://developer.ro.am/docs/guides/block-kit) block objects for rich message formatting.
	// Cannot be combined with `text` or `items`. Maximum 10 blocks, 8,000 bytes total payload.
	Blocks []*UpdateChatRequestBlocksItem `json:"blocks,omitempty" url:"-"`
	// Colored vertical strip on the side of the message. Only used with `blocks`.
	// Named values: `good` (green), `warning` (yellow), `danger` (red), or a hex color like `#5B3FD9`.
	Color *string `json:"color,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*UpdateChatRequest) MarshalJSON

func (u *UpdateChatRequest) MarshalJSON() ([]byte, error)

func (*UpdateChatRequest) SetAssetIDs

func (u *UpdateChatRequest) SetAssetIDs(assetIDs []string)

SetAssetIDs sets the AssetIDs field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetBlocks

func (u *UpdateChatRequest) SetBlocks(blocks []*UpdateChatRequestBlocksItem)

SetBlocks sets the Blocks field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetChatID

func (u *UpdateChatRequest) SetChatID(chatID string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetColor

func (u *UpdateChatRequest) SetColor(color *string)

SetColor sets the Color field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetItems

func (u *UpdateChatRequest) SetItems(items []string)

SetItems sets the Items field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetMarkdown

func (u *UpdateChatRequest) SetMarkdown(markdown *bool)

SetMarkdown sets the Markdown field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetText

func (u *UpdateChatRequest) SetText(text *string)

SetText sets the Text field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetThreadTimestamp

func (u *UpdateChatRequest) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) SetTimestamp

func (u *UpdateChatRequest) SetTimestamp(timestamp int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequest) UnmarshalJSON

func (u *UpdateChatRequest) UnmarshalJSON(data []byte) error

type UpdateChatRequestBlocksItem

type UpdateChatRequestBlocksItem struct {
	// The block type.
	Type *UpdateChatRequestBlocksItemType `json:"type,omitempty" url:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*UpdateChatRequestBlocksItem) GetExtraProperties

func (u *UpdateChatRequestBlocksItem) GetExtraProperties() map[string]interface{}

func (*UpdateChatRequestBlocksItem) GetType

func (*UpdateChatRequestBlocksItem) MarshalJSON

func (u *UpdateChatRequestBlocksItem) MarshalJSON() ([]byte, error)

func (*UpdateChatRequestBlocksItem) SetType

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatRequestBlocksItem) String

func (u *UpdateChatRequestBlocksItem) String() string

func (*UpdateChatRequestBlocksItem) UnmarshalJSON

func (u *UpdateChatRequestBlocksItem) UnmarshalJSON(data []byte) error

type UpdateChatRequestBlocksItemType

type UpdateChatRequestBlocksItemType string

The block type.

const (
	UpdateChatRequestBlocksItemTypeHeader  UpdateChatRequestBlocksItemType = "header"
	UpdateChatRequestBlocksItemTypeSection UpdateChatRequestBlocksItemType = "section"
	UpdateChatRequestBlocksItemTypeContext UpdateChatRequestBlocksItemType = "context"
	UpdateChatRequestBlocksItemTypeDivider UpdateChatRequestBlocksItemType = "divider"
	UpdateChatRequestBlocksItemTypeActions UpdateChatRequestBlocksItemType = "actions"
)

func NewUpdateChatRequestBlocksItemTypeFromString

func NewUpdateChatRequestBlocksItemTypeFromString(s string) (UpdateChatRequestBlocksItemType, error)

func (UpdateChatRequestBlocksItemType) Ptr

type UpdateChatResponse

type UpdateChatResponse struct {
	// ID of the chat.
	ChatID *string `json:"chatId,omitempty" url:"chatId,omitempty"`
	// Timestamp of the updated message.
	Timestamp *int `json:"timestamp,omitempty" url:"timestamp,omitempty"`
	// Thread timestamp, if the message is in a thread.
	ThreadTimestamp *int `json:"threadTimestamp,omitempty" url:"threadTimestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*UpdateChatResponse) GetChatID

func (u *UpdateChatResponse) GetChatID() *string

func (*UpdateChatResponse) GetExtraProperties

func (u *UpdateChatResponse) GetExtraProperties() map[string]interface{}

func (*UpdateChatResponse) GetThreadTimestamp

func (u *UpdateChatResponse) GetThreadTimestamp() *int

func (*UpdateChatResponse) GetTimestamp

func (u *UpdateChatResponse) GetTimestamp() *int

func (*UpdateChatResponse) MarshalJSON

func (u *UpdateChatResponse) MarshalJSON() ([]byte, error)

func (*UpdateChatResponse) SetChatID

func (u *UpdateChatResponse) SetChatID(chatID *string)

SetChatID sets the ChatID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatResponse) SetThreadTimestamp

func (u *UpdateChatResponse) SetThreadTimestamp(threadTimestamp *int)

SetThreadTimestamp sets the ThreadTimestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatResponse) SetTimestamp

func (u *UpdateChatResponse) SetTimestamp(timestamp *int)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateChatResponse) String

func (u *UpdateChatResponse) String() string

func (*UpdateChatResponse) UnmarshalJSON

func (u *UpdateChatResponse) UnmarshalJSON(data []byte) error

type UpdateLinkMeetingRequest

type UpdateLinkMeetingRequest struct {
	// Meeting Link ID
	ID string `json:"id" url:"-"`
	// Meeting Name
	Name string `json:"name" url:"-"`
	// (Optional) Meeting Host Email.
	//
	// The Host may NOT be updated.
	// As a result, this property may be omitted or empty.
	// If it is provided, it MUST match the existing value.
	Host *string `json:"host,omitempty" url:"-"`
	// (Optional) Meeting start time in RFC3339.
	Start *time.Time `json:"start,omitempty" url:"-"`
	// (Optional) Meeting end time in RFC3339.
	End *time.Time `json:"end,omitempty" url:"-"`
	// (Optional) If true, guests must verify ownership of their email address before joining.
	RequireUnconfirmedEmail *bool `json:"requireUnconfirmedEmail,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*UpdateLinkMeetingRequest) MarshalJSON

func (u *UpdateLinkMeetingRequest) MarshalJSON() ([]byte, error)

func (*UpdateLinkMeetingRequest) SetEnd

func (u *UpdateLinkMeetingRequest) SetEnd(end *time.Time)

SetEnd sets the End field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateLinkMeetingRequest) SetHost

func (u *UpdateLinkMeetingRequest) SetHost(host *string)

SetHost sets the Host field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateLinkMeetingRequest) SetID

func (u *UpdateLinkMeetingRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateLinkMeetingRequest) SetName

func (u *UpdateLinkMeetingRequest) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateLinkMeetingRequest) SetRequireUnconfirmedEmail

func (u *UpdateLinkMeetingRequest) SetRequireUnconfirmedEmail(requireUnconfirmedEmail *bool)

SetRequireUnconfirmedEmail sets the RequireUnconfirmedEmail field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateLinkMeetingRequest) SetStart

func (u *UpdateLinkMeetingRequest) SetStart(start *time.Time)

SetStart sets the Start field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UpdateLinkMeetingRequest) UnmarshalJSON

func (u *UpdateLinkMeetingRequest) UnmarshalJSON(data []byte) error

type User

type User struct {
	// The principal's unique address identifier.
	ID string `json:"id" url:"id"`
	// Stable public principal type. All automated actors are `bot`.
	Type UserType `json:"type" url:"type"`
	// Display name of the principal.
	Name string `json:"name" url:"name"`
	// URL of the principal's profile image.
	ImageURL *string `json:"imageUrl,omitempty" url:"imageUrl,omitempty"`
	// Email address for a member or guest (requires `user:read.email`). Omitted for bots.
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// Present and true only for users without membership in the caller's account.
	IsGuest *bool `json:"isGuest,omitempty" url:"isGuest,omitempty"`
	// Whether a workspace member is an admin. Present for members even when false; omitted for guests and bots.
	IsAdmin *bool `json:"isAdmin,omitempty" url:"isAdmin,omitempty"`
	// Workspace member's job title. Omitted for guests and bots.
	JobTitle *string `json:"jobTitle,omitempty" url:"jobTitle,omitempty"`
	// Workspace member's location. Omitted for guests and bots.
	Location *string `json:"location,omitempty" url:"location,omitempty"`
	// User's current presence status. Only included when `expand=status` is requested and the `user:read.status` scope is granted.
	Status *UserStatus `json:"status,omitempty" url:"status,omitempty"`
	// Out-of-office / "Will Return" status. Present only when `expand=status` is requested, the `user:read.status` scope is granted, and the user has a future return time. A user can be `checkedIn` and still have `willReturn` (multi-day Out of Roam) — key off the presence of this object rather than `status` alone.
	WillReturn *UserWillReturn `json:"willReturn,omitempty" url:"willReturn,omitempty"`
	// Whether the user is currently available for visitors. Only included when `expand=available` is requested and the `user:read.status` scope is granted.
	Available *bool `json:"available,omitempty" url:"available,omitempty"`
	// Classic bot persona identifier, when available.
	BotCode *string `json:"botCode,omitempty" url:"botCode,omitempty"`
	// Integration/client identifier for an automated actor, when available.
	IntegrationID *string `json:"integrationId,omitempty" url:"integrationId,omitempty"`
	// contains filtered or unexported fields
}

func (*User) GetAvailable

func (u *User) GetAvailable() *bool

func (*User) GetBotCode

func (u *User) GetBotCode() *string

func (*User) GetEmail

func (u *User) GetEmail() *string

func (*User) GetExtraProperties

func (u *User) GetExtraProperties() map[string]interface{}

func (*User) GetID

func (u *User) GetID() string

func (*User) GetImageURL

func (u *User) GetImageURL() *string

func (*User) GetIntegrationID

func (u *User) GetIntegrationID() *string

func (*User) GetIsAdmin

func (u *User) GetIsAdmin() *bool

func (*User) GetIsGuest

func (u *User) GetIsGuest() *bool

func (*User) GetJobTitle

func (u *User) GetJobTitle() *string

func (*User) GetLocation

func (u *User) GetLocation() *string

func (*User) GetName

func (u *User) GetName() string

func (*User) GetStatus

func (u *User) GetStatus() *UserStatus

func (*User) GetType

func (u *User) GetType() UserType

func (*User) GetWillReturn

func (u *User) GetWillReturn() *UserWillReturn

func (*User) MarshalJSON

func (u *User) MarshalJSON() ([]byte, error)

func (*User) SetAvailable

func (u *User) SetAvailable(available *bool)

SetAvailable sets the Available field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetBotCode

func (u *User) SetBotCode(botCode *string)

SetBotCode sets the BotCode field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetEmail

func (u *User) SetEmail(email *string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetID

func (u *User) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetImageURL

func (u *User) SetImageURL(imageURL *string)

SetImageURL sets the ImageURL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetIntegrationID

func (u *User) SetIntegrationID(integrationID *string)

SetIntegrationID sets the IntegrationID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetIsAdmin

func (u *User) SetIsAdmin(isAdmin *bool)

SetIsAdmin sets the IsAdmin field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetIsGuest

func (u *User) SetIsGuest(isGuest *bool)

SetIsGuest sets the IsGuest field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetJobTitle

func (u *User) SetJobTitle(jobTitle *string)

SetJobTitle sets the JobTitle field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetLocation

func (u *User) SetLocation(location *string)

SetLocation sets the Location field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetName

func (u *User) SetName(name string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetStatus

func (u *User) SetStatus(status *UserStatus)

SetStatus sets the Status field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetType

func (u *User) SetType(type_ UserType)

SetType sets the Type field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) SetWillReturn

func (u *User) SetWillReturn(willReturn *UserWillReturn)

SetWillReturn sets the WillReturn field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*User) String

func (u *User) String() string

func (*User) UnmarshalJSON

func (u *User) UnmarshalJSON(data []byte) error

type UserActivity

type UserActivity struct {
	// Bare UUID of the target user.
	UserID string `json:"userId" url:"userId"`
	// Caller-chosen id for this session, unique per integration and user
	// (for example `justcall:call:CA123`). At most 128 Unicode code points.
	ExternalID string               `json:"externalId" url:"externalId"`
	Display    *UserActivityDisplay `json:"display" url:"display"`
	// Whether this activity currently contributes Do Not Disturb on the
	// user's assigned office.
	Dnd bool `json:"dnd" url:"dnd"`
	// When this session started (RFC3339). A heartbeat that omits
	// `startedAt` keeps the original value.
	StartedAt time.Time `json:"startedAt" url:"startedAt"`
	// Server-stamped expiry (RFC3339). The indicator vanishes from the map
	// and from `.list` once this instant has passed.
	ExpiresAt time.Time `json:"expiresAt" url:"expiresAt"`
	// contains filtered or unexported fields
}

func (*UserActivity) GetDisplay

func (u *UserActivity) GetDisplay() *UserActivityDisplay

func (*UserActivity) GetDnd

func (u *UserActivity) GetDnd() bool

func (*UserActivity) GetExpiresAt

func (u *UserActivity) GetExpiresAt() time.Time

func (*UserActivity) GetExternalID

func (u *UserActivity) GetExternalID() string

func (*UserActivity) GetExtraProperties

func (u *UserActivity) GetExtraProperties() map[string]interface{}

func (*UserActivity) GetStartedAt

func (u *UserActivity) GetStartedAt() time.Time

func (*UserActivity) GetUserID

func (u *UserActivity) GetUserID() string

func (*UserActivity) MarshalJSON

func (u *UserActivity) MarshalJSON() ([]byte, error)

func (*UserActivity) SetDisplay

func (u *UserActivity) SetDisplay(display *UserActivityDisplay)

SetDisplay sets the Display field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivity) SetDnd

func (u *UserActivity) SetDnd(dnd bool)

SetDnd sets the Dnd field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivity) SetExpiresAt

func (u *UserActivity) SetExpiresAt(expiresAt time.Time)

SetExpiresAt sets the ExpiresAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivity) SetExternalID

func (u *UserActivity) SetExternalID(externalID string)

SetExternalID sets the ExternalID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivity) SetStartedAt

func (u *UserActivity) SetStartedAt(startedAt time.Time)

SetStartedAt sets the StartedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivity) SetUserID

func (u *UserActivity) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivity) String

func (u *UserActivity) String() string

func (*UserActivity) UnmarshalJSON

func (u *UserActivity) UnmarshalJSON(data []byte) error

type UserActivityClearRequest

type UserActivityClearRequest struct {
	// Target user. Bare or tagged UUID. Personal tokens may only
	// pass their own user.
	UserID string `json:"userId" url:"-"`
	// The `externalId` previously passed to `user.activity.set`.
	ExternalID string `json:"externalId" url:"-"`
	// contains filtered or unexported fields
}

func (*UserActivityClearRequest) MarshalJSON

func (u *UserActivityClearRequest) MarshalJSON() ([]byte, error)

func (*UserActivityClearRequest) SetExternalID

func (u *UserActivityClearRequest) SetExternalID(externalID string)

SetExternalID sets the ExternalID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityClearRequest) SetUserID

func (u *UserActivityClearRequest) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityClearRequest) UnmarshalJSON

func (u *UserActivityClearRequest) UnmarshalJSON(data []byte) error

type UserActivityDisplay

type UserActivityDisplay struct {
	// Badge shown on the user's seat. Required. At most 16 Unicode code
	// points, so ZWJ sequences (family emoji, flags) stay valid.
	Emoji string `json:"emoji" url:"emoji"`
	// Required hover-tooltip title. At most 140 Unicode code points.
	Title string `json:"title" url:"title"`
	// Optional supporting line after the title (for example the source app
	// and a customer name). At most 140 Unicode code points. Omitted when
	// empty.
	Subtitle *string `json:"subtitle,omitempty" url:"subtitle,omitempty"`
	// Curated glow palette name. Omit (or send empty) for a quiet badge-only
	// activity. Unknown names are rejected at set time. Clients resolve the
	// name to light/dark hex — hex is not part of the API. First-party agent
	// glows (Claude, Codex, Pi, room agents) are not in this palette.
	Color *UserActivityDisplayColor `json:"color,omitempty" url:"color,omitempty"`
	// contains filtered or unexported fields
}

func (*UserActivityDisplay) GetColor

func (*UserActivityDisplay) GetEmoji

func (u *UserActivityDisplay) GetEmoji() string

func (*UserActivityDisplay) GetExtraProperties

func (u *UserActivityDisplay) GetExtraProperties() map[string]interface{}

func (*UserActivityDisplay) GetSubtitle

func (u *UserActivityDisplay) GetSubtitle() *string

func (*UserActivityDisplay) GetTitle

func (u *UserActivityDisplay) GetTitle() string

func (*UserActivityDisplay) MarshalJSON

func (u *UserActivityDisplay) MarshalJSON() ([]byte, error)

func (*UserActivityDisplay) SetColor

func (u *UserActivityDisplay) SetColor(color *UserActivityDisplayColor)

SetColor sets the Color field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityDisplay) SetEmoji

func (u *UserActivityDisplay) SetEmoji(emoji string)

SetEmoji sets the Emoji field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityDisplay) SetSubtitle

func (u *UserActivityDisplay) SetSubtitle(subtitle *string)

SetSubtitle sets the Subtitle field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityDisplay) SetTitle

func (u *UserActivityDisplay) SetTitle(title string)

SetTitle sets the Title field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityDisplay) String

func (u *UserActivityDisplay) String() string

func (*UserActivityDisplay) UnmarshalJSON

func (u *UserActivityDisplay) UnmarshalJSON(data []byte) error

type UserActivityDisplayColor

type UserActivityDisplayColor string

Curated glow palette name. Omit (or send empty) for a quiet badge-only activity. Unknown names are rejected at set time. Clients resolve the name to light/dark hex — hex is not part of the API. First-party agent glows (Claude, Codex, Pi, room agents) are not in this palette.

const (
	UserActivityDisplayColorBlue   UserActivityDisplayColor = "blue"
	UserActivityDisplayColorGold   UserActivityDisplayColor = "gold"
	UserActivityDisplayColorGray   UserActivityDisplayColor = "gray"
	UserActivityDisplayColorGreen  UserActivityDisplayColor = "green"
	UserActivityDisplayColorIndigo UserActivityDisplayColor = "indigo"
	UserActivityDisplayColorLime   UserActivityDisplayColor = "lime"
	UserActivityDisplayColorOrange UserActivityDisplayColor = "orange"
	UserActivityDisplayColorPink   UserActivityDisplayColor = "pink"
	UserActivityDisplayColorPurple UserActivityDisplayColor = "purple"
	UserActivityDisplayColorRed    UserActivityDisplayColor = "red"
	UserActivityDisplayColorTeal   UserActivityDisplayColor = "teal"
	UserActivityDisplayColorYellow UserActivityDisplayColor = "yellow"
)

func NewUserActivityDisplayColorFromString

func NewUserActivityDisplayColorFromString(s string) (UserActivityDisplayColor, error)

func (UserActivityDisplayColor) Ptr

type UserActivityListRequest

type UserActivityListRequest struct {
	// Target user. Bare or tagged UUID. Personal tokens may only pass
	// their own user.
	UserID string `json:"-" url:"userId"`
	// contains filtered or unexported fields
}

func (*UserActivityListRequest) SetUserID

func (u *UserActivityListRequest) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

type UserActivityListResponse

type UserActivityListResponse struct {
	Activities []*UserActivity `json:"activities" url:"activities"`
	// contains filtered or unexported fields
}

func (*UserActivityListResponse) GetActivities

func (u *UserActivityListResponse) GetActivities() []*UserActivity

func (*UserActivityListResponse) GetExtraProperties

func (u *UserActivityListResponse) GetExtraProperties() map[string]interface{}

func (*UserActivityListResponse) MarshalJSON

func (u *UserActivityListResponse) MarshalJSON() ([]byte, error)

func (*UserActivityListResponse) SetActivities

func (u *UserActivityListResponse) SetActivities(activities []*UserActivity)

SetActivities sets the Activities field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivityListResponse) String

func (u *UserActivityListResponse) String() string

func (*UserActivityListResponse) UnmarshalJSON

func (u *UserActivityListResponse) UnmarshalJSON(data []byte) error

type UserActivitySetRequest

type UserActivitySetRequest struct {
	// Target user. Bare or tagged UUID. Personal tokens may only
	// pass their own user.
	UserID string `json:"userId" url:"-"`
	// Caller-chosen session id, unique per integration and user.
	// Re-using it upserts the existing row (heartbeat). At most
	// 128 Unicode code points.
	ExternalID string               `json:"externalId" url:"-"`
	Display    *UserActivityDisplay `json:"display" url:"-"`
	// Seconds from now until expiry. Mutually exclusive with
	// `expiresAt`. Values above 3600 are **clamped** to 60
	// minutes, not rejected. Default when both are omitted: 600
	// (10 minutes).
	TTLSeconds *int `json:"ttlSeconds,omitempty" url:"-"`
	// Absolute expiry (RFC3339, must be in the future). Mutually
	// exclusive with `ttlSeconds`. Instants more than 60 minutes
	// ahead are clamped to that maximum.
	ExpiresAt *time.Time `json:"expiresAt,omitempty" url:"-"`
	// Optional session start (RFC3339). Omit on heartbeats to
	// preserve the original. A future value is clamped to the
	// server's now (clock skew; also so one integration cannot
	// pin the newest-first projection slot).
	StartedAt *time.Time `json:"startedAt,omitempty" url:"-"`
	// If true, this activity contributes Do Not Disturb on the
	// user's **own assigned office** until it is cleared or
	// expires. Defaults to false — a badge does not lock an
	// office unless you opt in. Stacks with Zoom/Meet auto-DND
	// and other integrations' DND-flagged rows.
	Dnd *bool `json:"dnd,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*UserActivitySetRequest) MarshalJSON

func (u *UserActivitySetRequest) MarshalJSON() ([]byte, error)

func (*UserActivitySetRequest) SetDisplay

func (u *UserActivitySetRequest) SetDisplay(display *UserActivityDisplay)

SetDisplay sets the Display field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) SetDnd

func (u *UserActivitySetRequest) SetDnd(dnd *bool)

SetDnd sets the Dnd field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) SetExpiresAt

func (u *UserActivitySetRequest) SetExpiresAt(expiresAt *time.Time)

SetExpiresAt sets the ExpiresAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) SetExternalID

func (u *UserActivitySetRequest) SetExternalID(externalID string)

SetExternalID sets the ExternalID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) SetStartedAt

func (u *UserActivitySetRequest) SetStartedAt(startedAt *time.Time)

SetStartedAt sets the StartedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) SetTTLSeconds

func (u *UserActivitySetRequest) SetTTLSeconds(ttlSeconds *int)

SetTTLSeconds sets the TTLSeconds field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) SetUserID

func (u *UserActivitySetRequest) SetUserID(userID string)

SetUserID sets the UserID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserActivitySetRequest) UnmarshalJSON

func (u *UserActivitySetRequest) UnmarshalJSON(data []byte) error

type UserAuditLog

type UserAuditLog struct {
	// Time at which the audit log entry occurred (UTC)
	Timestamp *time.Time `json:"timestamp,omitempty" url:"timestamp,omitempty"`
	// Type of the audit event
	EventType *string `json:"eventType,omitempty" url:"eventType,omitempty"`
	// Name of the user associated with this event
	Name *string `json:"name,omitempty" url:"name,omitempty"`
	// Email address of the user associated with this event
	Email *string `json:"email,omitempty" url:"email,omitempty"`
	// JSON payload containing event type specific data, such as chat recipients or which room was knocked on
	Data map[string]any `json:"data,omitempty" url:"data,omitempty"`
	// Best-effort client platform the user was on for this event. Reliably present for ENTER_ROAM events; may be absent for some events. Maps to usage categories as: mobile = ios/android, desktop = electron, web = web.
	Platform *UserAuditLogPlatform `json:"platform,omitempty" url:"platform,omitempty"`
	// contains filtered or unexported fields
}

func (*UserAuditLog) GetData

func (u *UserAuditLog) GetData() map[string]any

func (*UserAuditLog) GetEmail

func (u *UserAuditLog) GetEmail() *string

func (*UserAuditLog) GetEventType

func (u *UserAuditLog) GetEventType() *string

func (*UserAuditLog) GetExtraProperties

func (u *UserAuditLog) GetExtraProperties() map[string]interface{}

func (*UserAuditLog) GetName

func (u *UserAuditLog) GetName() *string

func (*UserAuditLog) GetPlatform

func (u *UserAuditLog) GetPlatform() *UserAuditLogPlatform

func (*UserAuditLog) GetTimestamp

func (u *UserAuditLog) GetTimestamp() *time.Time

func (*UserAuditLog) MarshalJSON

func (u *UserAuditLog) MarshalJSON() ([]byte, error)

func (*UserAuditLog) SetData

func (u *UserAuditLog) SetData(data map[string]any)

SetData sets the Data field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserAuditLog) SetEmail

func (u *UserAuditLog) SetEmail(email *string)

SetEmail sets the Email field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserAuditLog) SetEventType

func (u *UserAuditLog) SetEventType(eventType *string)

SetEventType sets the EventType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserAuditLog) SetName

func (u *UserAuditLog) SetName(name *string)

SetName sets the Name field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserAuditLog) SetPlatform

func (u *UserAuditLog) SetPlatform(platform *UserAuditLogPlatform)

SetPlatform sets the Platform field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserAuditLog) SetTimestamp

func (u *UserAuditLog) SetTimestamp(timestamp *time.Time)

SetTimestamp sets the Timestamp field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserAuditLog) String

func (u *UserAuditLog) String() string

func (*UserAuditLog) UnmarshalJSON

func (u *UserAuditLog) UnmarshalJSON(data []byte) error

type UserAuditLogPlatform

type UserAuditLogPlatform string

Best-effort client platform the user was on for this event. Reliably present for ENTER_ROAM events; may be absent for some events. Maps to usage categories as: mobile = ios/android, desktop = electron, web = web.

const (
	UserAuditLogPlatformWeb      UserAuditLogPlatform = "web"
	UserAuditLogPlatformElectron UserAuditLogPlatform = "electron"
	UserAuditLogPlatformIos      UserAuditLogPlatform = "ios"
	UserAuditLogPlatformAndroid  UserAuditLogPlatform = "android"
	UserAuditLogPlatformSip      UserAuditLogPlatform = "sip"
	UserAuditLogPlatformBot      UserAuditLogPlatform = "bot"
)

func NewUserAuditLogPlatformFromString

func NewUserAuditLogPlatformFromString(s string) (UserAuditLogPlatform, error)

func (UserAuditLogPlatform) Ptr

type UserStatus

type UserStatus string

User's current presence status. Only included when `expand=status` is requested and the `user:read.status` scope is granted.

const (
	UserStatusCheckedIn  UserStatus = "checkedIn"
	UserStatusCheckedOut UserStatus = "checkedOut"
)

func NewUserStatusFromString

func NewUserStatusFromString(s string) (UserStatus, error)

func (UserStatus) Ptr

func (u UserStatus) Ptr() *UserStatus

type UserType

type UserType string

Stable public principal type. All automated actors are `bot`.

const (
	UserTypeUser UserType = "user"
	UserTypeBot  UserType = "bot"
)

func NewUserTypeFromString

func NewUserTypeFromString(s string) (UserType, error)

func (UserType) Ptr

func (u UserType) Ptr() *UserType

type UserWillReturn

type UserWillReturn struct {
	// When the user is expected to return (RFC 3339).
	ReturnTime time.Time `json:"returnTime" url:"returnTime"`
	// Optional absence message (e.g. "On Vacation").
	Reason *string `json:"reason,omitempty" url:"reason,omitempty"`
	// When true, multi-day Out of Roam that persists across check-ins. When false or omitted, same-day Will Return Today.
	OutOfRoam *bool `json:"outOfRoam,omitempty" url:"outOfRoam,omitempty"`
	// contains filtered or unexported fields
}

func (*UserWillReturn) GetExtraProperties

func (u *UserWillReturn) GetExtraProperties() map[string]interface{}

func (*UserWillReturn) GetOutOfRoam

func (u *UserWillReturn) GetOutOfRoam() *bool

func (*UserWillReturn) GetReason

func (u *UserWillReturn) GetReason() *string

func (*UserWillReturn) GetReturnTime

func (u *UserWillReturn) GetReturnTime() time.Time

func (*UserWillReturn) MarshalJSON

func (u *UserWillReturn) MarshalJSON() ([]byte, error)

func (*UserWillReturn) SetOutOfRoam

func (u *UserWillReturn) SetOutOfRoam(outOfRoam *bool)

SetOutOfRoam sets the OutOfRoam field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserWillReturn) SetReason

func (u *UserWillReturn) SetReason(reason *string)

SetReason sets the Reason field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserWillReturn) SetReturnTime

func (u *UserWillReturn) SetReturnTime(returnTime time.Time)

SetReturnTime sets the ReturnTime field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*UserWillReturn) String

func (u *UserWillReturn) String() string

func (*UserWillReturn) UnmarshalJSON

func (u *UserWillReturn) UnmarshalJSON(data []byte) error

type Webhook

type Webhook struct {
	// Unique identifier of the webhook subscription.
	ID string `json:"id" url:"id"`
	// Subscribed event name.
	Event WebhookEvent `json:"event" url:"event"`
	// Destination URL for webhook deliveries.
	URL string `json:"url" url:"url"`
	// Event-specific filter applied to the subscription.
	Filter *WebhookSubscriptionFilter `json:"filter,omitempty" url:"filter,omitempty"`
	// `true` if the subscription was created via `/webhook.subscribe`.
	// `false` if it was configured statically in the Roam Administration UI.
	Dynamic bool `json:"dynamic" url:"dynamic"`
	// When the subscription was created.
	Created *time.Time `json:"created,omitempty" url:"created,omitempty"`
	// Last terminal 2xx (RFC3339 UTC). Omitted until the destination has
	// succeeded at least once. Kept when a pause is cleared.
	LastSuccessAt *time.Time `json:"lastSuccessAt,omitempty" url:"lastSuccessAt,omitempty"`
	// Start of the current consecutive-failure span (RFC3339 UTC). Cleared
	// on 2xx and on [`/webhook.subscribe`](https://developer.ro.am/docs/webhooks/webhook-subscribe)
	// to the same event+URL. Omitted when healthy.
	FailStreakStartedAt *time.Time `json:"failStreakStartedAt,omitempty" url:"failStreakStartedAt,omitempty"`
	// When the fail streak reached 24 hours (RFC3339 UTC). While set the
	// subscription is paused (one probe event per day). Omitted when active.
	// See [Subscription health](https://developer.ro.am/docs/webhooks/webhooks#subscription-health).
	DisabledAt *time.Time `json:"disabledAt,omitempty" url:"disabledAt,omitempty"`
	// contains filtered or unexported fields
}

func (*Webhook) GetCreated

func (w *Webhook) GetCreated() *time.Time

func (*Webhook) GetDisabledAt

func (w *Webhook) GetDisabledAt() *time.Time

func (*Webhook) GetDynamic

func (w *Webhook) GetDynamic() bool

func (*Webhook) GetEvent

func (w *Webhook) GetEvent() WebhookEvent

func (*Webhook) GetExtraProperties

func (w *Webhook) GetExtraProperties() map[string]interface{}

func (*Webhook) GetFailStreakStartedAt

func (w *Webhook) GetFailStreakStartedAt() *time.Time

func (*Webhook) GetFilter

func (w *Webhook) GetFilter() *WebhookSubscriptionFilter

func (*Webhook) GetID

func (w *Webhook) GetID() string

func (*Webhook) GetLastSuccessAt

func (w *Webhook) GetLastSuccessAt() *time.Time

func (*Webhook) GetURL

func (w *Webhook) GetURL() string

func (*Webhook) MarshalJSON

func (w *Webhook) MarshalJSON() ([]byte, error)

func (*Webhook) SetCreated

func (w *Webhook) SetCreated(created *time.Time)

SetCreated sets the Created field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetDisabledAt

func (w *Webhook) SetDisabledAt(disabledAt *time.Time)

SetDisabledAt sets the DisabledAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetDynamic

func (w *Webhook) SetDynamic(dynamic bool)

SetDynamic sets the Dynamic field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetEvent

func (w *Webhook) SetEvent(event WebhookEvent)

SetEvent sets the Event field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetFailStreakStartedAt

func (w *Webhook) SetFailStreakStartedAt(failStreakStartedAt *time.Time)

SetFailStreakStartedAt sets the FailStreakStartedAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetFilter

func (w *Webhook) SetFilter(filter *WebhookSubscriptionFilter)

SetFilter sets the Filter field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetID

func (w *Webhook) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetLastSuccessAt

func (w *Webhook) SetLastSuccessAt(lastSuccessAt *time.Time)

SetLastSuccessAt sets the LastSuccessAt field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) SetURL

func (w *Webhook) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*Webhook) String

func (w *Webhook) String() string

func (*Webhook) UnmarshalJSON

func (w *Webhook) UnmarshalJSON(data []byte) error

type WebhookEvent

type WebhookEvent string

Subscribed event name.

const (
	WebhookEventChatMessage        WebhookEvent = "chat.message"
	WebhookEventChatReaction       WebhookEvent = "chat.reaction"
	WebhookEventChatLinkShared     WebhookEvent = "chat.link.shared"
	WebhookEventLobbyBooked        WebhookEvent = "lobby.booked"
	WebhookEventMagicastCreated    WebhookEvent = "magicast.created"
	WebhookEventMeetingStarted     WebhookEvent = "meeting.started"
	WebhookEventMeetingEnded       WebhookEvent = "meeting.ended"
	WebhookEventUserStatusUpdate   WebhookEvent = "user.status.update"
	WebhookEventOnairEventCreated  WebhookEvent = "onair.event.created"
	WebhookEventOnairEventUpdated  WebhookEvent = "onair.event.updated"
	WebhookEventOnairEventCanceled WebhookEvent = "onair.event.canceled"
	WebhookEventOnairGuestRsvp     WebhookEvent = "onair.guest.rsvp"
	WebhookEventOnairGuestAdded    WebhookEvent = "onair.guest.added"
	WebhookEventTokenRevoked       WebhookEvent = "token.revoked"
	WebhookEventAppUninstalled     WebhookEvent = "app.uninstalled"
)

func NewWebhookEventFromString

func NewWebhookEventFromString(s string) (WebhookEvent, error)

func (WebhookEvent) Ptr

func (w WebhookEvent) Ptr() *WebhookEvent

type WebhookSubscriptionFilter

type WebhookSubscriptionFilter struct {
	// For `chat.message`: restrict to direct messages (`dm`) or group messages (`group`).
	ChatType *WebhookSubscriptionFilterChatType `json:"chatType,omitempty" url:"chatType,omitempty"`
	// For `chat.message`: restrict to messages that @mention your app.
	Mention *bool `json:"mention,omitempty" url:"mention,omitempty"`
	// For `chat.reaction`: restrict to events where the changed reaction is one of these names (e.g. 'thumbs_up', 'heart'), matching the `name` field of `/reaction.add` and `/reaction.list`.
	Names []string `json:"names,omitempty" url:"names,omitempty"`
	// For `meeting.ended`: restrict to meetings that were video recorded, i.e. a video track exists. This keys on "was recorded", not "is ready to fetch" — the recording upload is a separate pipeline that has almost never finished when the event fires, so a matching delivery normally arrives while the upload is still in flight. Call `/meeting.info` and read `videoStatus` to learn when the recording is playable. Only `true` is accepted — `{"hasVideo": false}` is rejected at subscribe time rather than silently treated as no filter, so omit the filter to receive every `meeting.ended` event.
	HasVideo *bool `json:"hasVideo,omitempty" url:"hasVideo,omitempty"`
	// For On-Air events (`onair.event.*`, `onair.guest.*`): restrict to the specified event.
	EventID *string `json:"eventId,omitempty" url:"eventId,omitempty"`
	// For `onair.guest.rsvp`: restrict to the specified RSVP status.
	Status *WebhookSubscriptionFilterStatus `json:"status,omitempty" url:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*WebhookSubscriptionFilter) GetChatType

func (*WebhookSubscriptionFilter) GetEventID

func (w *WebhookSubscriptionFilter) GetEventID() *string

func (*WebhookSubscriptionFilter) GetExtraProperties

func (w *WebhookSubscriptionFilter) GetExtraProperties() map[string]interface{}

func (*WebhookSubscriptionFilter) GetHasVideo

func (w *WebhookSubscriptionFilter) GetHasVideo() *bool

func (*WebhookSubscriptionFilter) GetMention

func (w *WebhookSubscriptionFilter) GetMention() *bool

func (*WebhookSubscriptionFilter) GetNames

func (w *WebhookSubscriptionFilter) GetNames() []string

func (*WebhookSubscriptionFilter) GetStatus

func (*WebhookSubscriptionFilter) MarshalJSON

func (w *WebhookSubscriptionFilter) MarshalJSON() ([]byte, error)

func (*WebhookSubscriptionFilter) SetChatType

SetChatType sets the ChatType field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionFilter) SetEventID

func (w *WebhookSubscriptionFilter) SetEventID(eventID *string)

SetEventID sets the EventID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionFilter) SetHasVideo

func (w *WebhookSubscriptionFilter) SetHasVideo(hasVideo *bool)

SetHasVideo sets the HasVideo field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionFilter) SetMention

func (w *WebhookSubscriptionFilter) SetMention(mention *bool)

SetMention sets the Mention field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionFilter) SetNames

func (w *WebhookSubscriptionFilter) SetNames(names []string)

SetNames sets the Names field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionFilter) SetStatus

SetStatus sets the Status field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionFilter) String

func (w *WebhookSubscriptionFilter) String() string

func (*WebhookSubscriptionFilter) UnmarshalJSON

func (w *WebhookSubscriptionFilter) UnmarshalJSON(data []byte) error

type WebhookSubscriptionFilterChatType

type WebhookSubscriptionFilterChatType string

For `chat.message`: restrict to direct messages (`dm`) or group messages (`group`).

const (
	WebhookSubscriptionFilterChatTypeDm    WebhookSubscriptionFilterChatType = "dm"
	WebhookSubscriptionFilterChatTypeGroup WebhookSubscriptionFilterChatType = "group"
)

func NewWebhookSubscriptionFilterChatTypeFromString

func NewWebhookSubscriptionFilterChatTypeFromString(s string) (WebhookSubscriptionFilterChatType, error)

func (WebhookSubscriptionFilterChatType) Ptr

type WebhookSubscriptionFilterStatus

type WebhookSubscriptionFilterStatus string

For `onair.guest.rsvp`: restrict to the specified RSVP status.

const (
	WebhookSubscriptionFilterStatusInvited  WebhookSubscriptionFilterStatus = "invited"
	WebhookSubscriptionFilterStatusGoing    WebhookSubscriptionFilterStatus = "going"
	WebhookSubscriptionFilterStatusMaybe    WebhookSubscriptionFilterStatus = "maybe"
	WebhookSubscriptionFilterStatusNotGoing WebhookSubscriptionFilterStatus = "notGoing"
)

func NewWebhookSubscriptionFilterStatusFromString

func NewWebhookSubscriptionFilterStatusFromString(s string) (WebhookSubscriptionFilterStatus, error)

func (WebhookSubscriptionFilterStatus) Ptr

type WebhookSubscriptionRequest

type WebhookSubscriptionRequest struct {
	// Destination URL for webhook deliveries (max 1024 characters). HTTPS is required outside local environments.
	URL string `json:"url" url:"-"`
	// Event to subscribe to.
	Event  WebhookSubscriptionRequestEvent `json:"event" url:"-"`
	Filter *WebhookSubscriptionFilter      `json:"filter,omitempty" url:"-"`
	// Optional [API version](https://developer.ro.am/docs/guides/api-versioning) (`YYYY-MM-DD`) to pin
	// this subscription's payload shape to. When omitted, the subscription is
	// frozen at your integration's default version. Unsupported values return
	// `400`.
	APIVersion *string `json:"apiVersion,omitempty" url:"-"`
	// contains filtered or unexported fields
}

func (*WebhookSubscriptionRequest) MarshalJSON

func (w *WebhookSubscriptionRequest) MarshalJSON() ([]byte, error)

func (*WebhookSubscriptionRequest) SetAPIVersion

func (w *WebhookSubscriptionRequest) SetAPIVersion(apiVersion *string)

SetAPIVersion sets the APIVersion field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionRequest) SetEvent

SetEvent sets the Event field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionRequest) SetFilter

SetFilter sets the Filter field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionRequest) SetURL

func (w *WebhookSubscriptionRequest) SetURL(url string)

SetURL sets the URL field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookSubscriptionRequest) UnmarshalJSON

func (w *WebhookSubscriptionRequest) UnmarshalJSON(data []byte) error

type WebhookSubscriptionRequestEvent

type WebhookSubscriptionRequestEvent string

Event to subscribe to.

const (
	WebhookSubscriptionRequestEventChatMessage        WebhookSubscriptionRequestEvent = "chat.message"
	WebhookSubscriptionRequestEventChatReaction       WebhookSubscriptionRequestEvent = "chat.reaction"
	WebhookSubscriptionRequestEventChatLinkShared     WebhookSubscriptionRequestEvent = "chat.link.shared"
	WebhookSubscriptionRequestEventLobbyBooked        WebhookSubscriptionRequestEvent = "lobby.booked"
	WebhookSubscriptionRequestEventMagicastCreated    WebhookSubscriptionRequestEvent = "magicast.created"
	WebhookSubscriptionRequestEventMeetingStarted     WebhookSubscriptionRequestEvent = "meeting.started"
	WebhookSubscriptionRequestEventMeetingEnded       WebhookSubscriptionRequestEvent = "meeting.ended"
	WebhookSubscriptionRequestEventUserStatusUpdate   WebhookSubscriptionRequestEvent = "user.status.update"
	WebhookSubscriptionRequestEventOnairEventCreated  WebhookSubscriptionRequestEvent = "onair.event.created"
	WebhookSubscriptionRequestEventOnairEventUpdated  WebhookSubscriptionRequestEvent = "onair.event.updated"
	WebhookSubscriptionRequestEventOnairEventCanceled WebhookSubscriptionRequestEvent = "onair.event.canceled"
	WebhookSubscriptionRequestEventOnairGuestRsvp     WebhookSubscriptionRequestEvent = "onair.guest.rsvp"
	WebhookSubscriptionRequestEventOnairGuestAdded    WebhookSubscriptionRequestEvent = "onair.guest.added"
	WebhookSubscriptionRequestEventTokenRevoked       WebhookSubscriptionRequestEvent = "token.revoked"
	WebhookSubscriptionRequestEventAppUninstalled     WebhookSubscriptionRequestEvent = "app.uninstalled"
)

func NewWebhookSubscriptionRequestEventFromString

func NewWebhookSubscriptionRequestEventFromString(s string) (WebhookSubscriptionRequestEvent, error)

func (WebhookSubscriptionRequestEvent) Ptr

type WebhookUnsubscribeRequest

type WebhookUnsubscribeRequest struct {
	// Identifier of the webhook subscription to remove.
	ID string `json:"id" url:"-"`
	// contains filtered or unexported fields
}

func (*WebhookUnsubscribeRequest) MarshalJSON

func (w *WebhookUnsubscribeRequest) MarshalJSON() ([]byte, error)

func (*WebhookUnsubscribeRequest) SetID

func (w *WebhookUnsubscribeRequest) SetID(id string)

SetID sets the ID field and marks it as non-optional; this prevents an empty or null value for this field from being omitted during serialization.

func (*WebhookUnsubscribeRequest) UnmarshalJSON

func (w *WebhookUnsubscribeRequest) UnmarshalJSON(data []byte) error

Directories

Path Synopsis
Send and receive messages, manage reactions
Send and receive messages, manage reactions
Create and manage groups
Create and manage groups
List and look up magicasts
List and look up magicasts
List meetings, view transcripts, and search meeting content
List meetings, view transcripts, and search meeting content
List and look up users; set external activity indicators
List and look up users; set external activity indicators
Package webhooks verifies Roam webhook deliveries.
Package webhooks verifies Roam webhook deliveries.

Jump to

Keyboard shortcuts

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