Help us shape the future of Go! Take the 2026 Go Developer Survey

openapi

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package openapi provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.0 DO NOT EDIT.

Index

Constants

View Source
const (
	ApiKeyScopes = "ApiKey.Scopes"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountTypeEnum

type AccountTypeEnum string

AccountTypeEnum defines model for AccountTypeEnum.

const (
	AccountTypeEnumInfluencer AccountTypeEnum = "influencer"
	AccountTypeEnumOwned      AccountTypeEnum = "owned"
	AccountTypeEnumTracked    AccountTypeEnum = "tracked"
)

Defines values for AccountTypeEnum.

type AiAnalysis

type AiAnalysis struct {
	// Analyses The runs that make up this analysis, one per scope, ordered newest first.
	Analyses []AiAnalysisRun `json:"analyses"`

	// AnalysisType Always `AI_ANALYSIS` here.
	AnalysisType string `json:"analysis_type"`

	// CreatedAt When the analysis was created (UTC, ISO-8601).
	CreatedAt time.Time `json:"created_at"`

	// Id ID of the analysis. Use this value on follow-up calls.
	Id string `json:"id"`

	// ModifiedAt When the analysis was last modified (UTC, ISO-8601).
	ModifiedAt time.Time `json:"modified_at"`

	// Name The analysis label.
	Name string `json:"name"`

	// Topic The subject the analysis focuses on.
	Topic nullable.Nullable[string] `json:"topic"`
}

AiAnalysis Response body for the AI analysis root.

type AiAnalysisContentStatisticsParams

type AiAnalysisContentStatisticsParams struct {
	// AnalysisId Analysis id, as returned by `ai_analysis.list`.
	AnalysisId string `form:"analysis_id" json:"analysis_id"`
}

AiAnalysisContentStatisticsParams defines parameters for AiAnalysisContentStatistics.

type AiAnalysisContentsParams

type AiAnalysisContentsParams struct {
	// AnalysisId Analysis id, as returned by `ai_analysis.list`.
	AnalysisId string `form:"analysis_id" json:"analysis_id"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

AiAnalysisContentsParams defines parameters for AiAnalysisContents.

type AiAnalysisCreateFormdataRequestBody

type AiAnalysisCreateFormdataRequestBody = AiAnalysisCreateRequest

AiAnalysisCreateFormdataRequestBody defines body for AiAnalysisCreate for application/x-www-form-urlencoded ContentType.

type AiAnalysisCreateJSONRequestBody

type AiAnalysisCreateJSONRequestBody = AiAnalysisCreateRequest

AiAnalysisCreateJSONRequestBody defines body for AiAnalysisCreate for application/json ContentType.

type AiAnalysisCreateMultipartRequestBody

type AiAnalysisCreateMultipartRequestBody = AiAnalysisCreateRequest

AiAnalysisCreateMultipartRequestBody defines body for AiAnalysisCreate for multipart/form-data ContentType.

type AiAnalysisCreateRequest

type AiAnalysisCreateRequest struct {
	// AnalysisScope What to analyze: any of `CONTENT`, `COMMENT`. Defaults to `["CONTENT"]`.
	AnalysisScope *[]AnalysisScopeEnum `json:"analysis_scope,omitempty"`

	// ContentFilters Selects which content the analysis runs over. At least one of `search`, `creator_id`, `creator_username`, `external_id`, or `brand_id` is required to scope it. When both `posted_after` and `posted_before` are omitted, the analysis defaults to content from the last 7 days.
	ContentFilters ContentFilterInputRequest `json:"content_filters"`

	// Name A label for this analysis.
	Name string `json:"name"`

	// Topic The brand, product, person or event to analyze, as a short term. For example `Levi's` or `Running shoes`. Keep it under five words. Do not write a question: every run reports sentiment, price, quality, competitors and products for the topic. To narrow the posts, use `content_filters`.
	Topic string `json:"topic"`
}

AiAnalysisCreateRequest Request body for “POST /api/v1/ai_analysis/“.

type AiAnalysisListParams

type AiAnalysisListParams struct {
	// Id Optional analysis id. When supplied, only that analysis is returned. Returns `INVALID_ID` if malformed.
	Id *string `form:"id,omitempty" json:"id,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

AiAnalysisListParams defines parameters for AiAnalysisList.

type AiAnalysisResult

type AiAnalysisResult struct {
	// AnalysisId ID of the analysis this run belongs to.
	AnalysisId string `json:"analysis_id"`

	// CreatedAt When the run was created (UTC, ISO-8601).
	CreatedAt time.Time `json:"created_at"`

	// Id ID of the analysis run.
	Id string `json:"id"`

	// ModifiedAt When the run was last modified (UTC, ISO-8601).
	ModifiedAt time.Time `json:"modified_at"`

	// Result Signed, time-limited download of an analysis run's result payload.
	Result *ResultFile `json:"result,omitempty"`

	// Scope What this run covers: `CONTENT` or `COMMENT`.
	Scope string `json:"scope"`

	// Status Run status: one of `IN_PROGRESS`, `COMPLETED`, `EMPTY_RESULT` (finished with no matching content), or `FAILED`.
	Status string `json:"status"`
}

AiAnalysisResult A single analysis run with its downloadable “result“.

type AiAnalysisResultsParams

type AiAnalysisResultsParams struct {
	// AnalysisId Analysis id (from `ai_analysis.list`). Returns every run of that analysis. Exactly one of `analysis_id` and `id` is required, and a request carrying both is rejected. Returns `INVALID_ID` if malformed.
	AnalysisId *string `form:"analysis_id,omitempty" json:"analysis_id,omitempty"`

	// Id Single run id. Returns only that run. Exactly one of `analysis_id` and `id` is required, and a request carrying both is rejected. Returns `INVALID_ID` if malformed.
	Id *string `form:"id,omitempty" json:"id,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

AiAnalysisResultsParams defines parameters for AiAnalysisResults.

type AiAnalysisRun

type AiAnalysisRun struct {
	// Id ID of the analysis run.
	Id string `json:"id"`

	// Scope What this run covers: `CONTENT` or `COMMENT`.
	Scope string `json:"scope"`

	// Status Run status: one of `IN_PROGRESS`, `COMPLETED`, `EMPTY_RESULT` (finished with no matching content), or `FAILED`.
	Status string `json:"status"`
}

AiAnalysisRun A single analysis run, without its result payload.

The run “result“ is not included; retrieve it from `ai_analysis.results` once “status“ is `COMPLETED`.

type AnalysisScopeEnum

type AnalysisScopeEnum string

AnalysisScopeEnum defines model for AnalysisScopeEnum.

const (
	COMMENT AnalysisScopeEnum = "COMMENT"
	CONTENT AnalysisScopeEnum = "CONTENT"
)

Defines values for AnalysisScopeEnum.

type AnalyticsBrand added in v1.1.0

type AnalyticsBrand struct {
	// Id Unique identifier for the brand.
	Id string `json:"id"`

	// IsPrimary `true` for the brand the request named, `false` for a sub-brand.
	IsPrimary bool `json:"is_primary"`

	// SubBrandType `COMPETITIVE` or `THEME` for a sub-brand; `null` for the top-level brand the request named.
	SubBrandType nullable.Nullable[string] `json:"sub_brand_type"`

	// Title Display name of the brand.
	Title nullable.Nullable[string] `json:"title"`
}

AnalyticsBrand The brand a row of analytics belongs to.

type AnalyticsBrandComparisonParams added in v1.1.0

type AnalyticsBrandComparisonParams struct {
	// BrandId The top-level brand to analyse, as returned by `brands.list`. A sub-brand is refused with the id of the parent to use instead.
	BrandId string `form:"brand_id" json:"brand_id"`

	// Platform Platforms to include, comma-separated. Defaults to all of them.
	Platform *[]AnalyticsBrandComparisonParamsPlatform `form:"platform,omitempty" json:"platform,omitempty"`

	// PostedAfter Start of the window (UTC, ISO 8601). Supplying more than one start is accepted and only one applies: this one wins over `posted_within_hours`, which wins over `posted_within_days`.
	PostedAfter *time.Time `form:"posted_after,omitempty" json:"posted_after,omitempty"`

	// PostedBefore End of the window (UTC, ISO 8601). Defaults to the current time, and a relative start is counted back from it.
	PostedBefore *time.Time `form:"posted_before,omitempty" json:"posted_before,omitempty"`

	// PostedWithinDays Start of the window, counted back from `posted_before` or the current time, in days (1-365). Defaults to 7 when no date parameter is supplied, and loses to `posted_after` and `posted_within_hours`.
	PostedWithinDays *int `form:"posted_within_days,omitempty" json:"posted_within_days,omitempty"`

	// PostedWithinHours Start of the window, counted back from `posted_before` or the current time, in hours (1-8760). `posted_after` wins over it; it wins over `posted_within_days`.
	PostedWithinHours *int `form:"posted_within_hours,omitempty" json:"posted_within_hours,omitempty"`
}

AnalyticsBrandComparisonParams defines parameters for AnalyticsBrandComparison.

type AnalyticsBrandComparisonParamsPlatform added in v1.1.0

type AnalyticsBrandComparisonParamsPlatform string

AnalyticsBrandComparisonParamsPlatform defines parameters for AnalyticsBrandComparison.

const (
	AnalyticsBrandComparisonParamsPlatformInstagram AnalyticsBrandComparisonParamsPlatform = "instagram"
	AnalyticsBrandComparisonParamsPlatformTiktok    AnalyticsBrandComparisonParamsPlatform = "tiktok"
	AnalyticsBrandComparisonParamsPlatformYoutube   AnalyticsBrandComparisonParamsPlatform = "youtube"
)

Defines values for AnalyticsBrandComparisonParamsPlatform.

type AnalyticsFollowerTimeseriesParams added in v1.1.0

type AnalyticsFollowerTimeseriesParams struct {
	// BrandId The top-level brand to analyse, as returned by `brands.list`. A sub-brand is refused with the id of the parent to use instead.
	BrandId string `form:"brand_id" json:"brand_id"`

	// Period Size of each bucket in the series. Defaults to `day`.
	Period *AnalyticsFollowerTimeseriesParamsPeriod `form:"period,omitempty" json:"period,omitempty"`

	// Platform Platforms to include, comma-separated. Defaults to all of them.
	Platform *[]AnalyticsFollowerTimeseriesParamsPlatform `form:"platform,omitempty" json:"platform,omitempty"`

	// PostedAfter Start of the window (UTC, ISO 8601). Supplying more than one start is accepted and only one applies: this one wins over `posted_within_hours`, which wins over `posted_within_days`.
	PostedAfter *time.Time `form:"posted_after,omitempty" json:"posted_after,omitempty"`

	// PostedBefore End of the window (UTC, ISO 8601). Defaults to the current time, and a relative start is counted back from it.
	PostedBefore *time.Time `form:"posted_before,omitempty" json:"posted_before,omitempty"`

	// PostedWithinDays Start of the window, counted back from `posted_before` or the current time, in days (1-365). Defaults to 7 when no date parameter is supplied, and loses to `posted_after` and `posted_within_hours`.
	PostedWithinDays *int `form:"posted_within_days,omitempty" json:"posted_within_days,omitempty"`

	// PostedWithinHours Start of the window, counted back from `posted_before` or the current time, in hours (1-8760). `posted_after` wins over it; it wins over `posted_within_days`.
	PostedWithinHours *int `form:"posted_within_hours,omitempty" json:"posted_within_hours,omitempty"`
}

AnalyticsFollowerTimeseriesParams defines parameters for AnalyticsFollowerTimeseries.

type AnalyticsFollowerTimeseriesParamsPeriod added in v1.1.0

type AnalyticsFollowerTimeseriesParamsPeriod string

AnalyticsFollowerTimeseriesParamsPeriod defines parameters for AnalyticsFollowerTimeseries.

Defines values for AnalyticsFollowerTimeseriesParamsPeriod.

type AnalyticsFollowerTimeseriesParamsPlatform added in v1.1.0

type AnalyticsFollowerTimeseriesParamsPlatform string

AnalyticsFollowerTimeseriesParamsPlatform defines parameters for AnalyticsFollowerTimeseries.

const (
	AnalyticsFollowerTimeseriesParamsPlatformInstagram AnalyticsFollowerTimeseriesParamsPlatform = "instagram"
	AnalyticsFollowerTimeseriesParamsPlatformTiktok    AnalyticsFollowerTimeseriesParamsPlatform = "tiktok"
	AnalyticsFollowerTimeseriesParamsPlatformYoutube   AnalyticsFollowerTimeseriesParamsPlatform = "youtube"
)

Defines values for AnalyticsFollowerTimeseriesParamsPlatform.

type AnalyticsPostedCommentsParams added in v1.1.0

type AnalyticsPostedCommentsParams struct {
	// BrandId The top-level brand to analyse, as returned by `brands.list`. A sub-brand is refused with the id of the parent to use instead.
	BrandId string `form:"brand_id" json:"brand_id"`

	// Platform Platforms to include, comma-separated. Defaults to all of them.
	Platform *[]AnalyticsPostedCommentsParamsPlatform `form:"platform,omitempty" json:"platform,omitempty"`

	// PostedAfter Start of the window (UTC, ISO 8601). Supplying more than one start is accepted and only one applies: this one wins over `posted_within_hours`, which wins over `posted_within_days`.
	PostedAfter *time.Time `form:"posted_after,omitempty" json:"posted_after,omitempty"`

	// PostedBefore End of the window (UTC, ISO 8601). Defaults to the current time, and a relative start is counted back from it.
	PostedBefore *time.Time `form:"posted_before,omitempty" json:"posted_before,omitempty"`

	// PostedWithinDays Start of the window, counted back from `posted_before` or the current time, in days (1-365). Defaults to 7 when no date parameter is supplied, and loses to `posted_after` and `posted_within_hours`.
	PostedWithinDays *int `form:"posted_within_days,omitempty" json:"posted_within_days,omitempty"`

	// PostedWithinHours Start of the window, counted back from `posted_before` or the current time, in hours (1-8760). `posted_after` wins over it; it wins over `posted_within_days`.
	PostedWithinHours *int `form:"posted_within_hours,omitempty" json:"posted_within_hours,omitempty"`
}

AnalyticsPostedCommentsParams defines parameters for AnalyticsPostedComments.

type AnalyticsPostedCommentsParamsPlatform added in v1.1.0

type AnalyticsPostedCommentsParamsPlatform string

AnalyticsPostedCommentsParamsPlatform defines parameters for AnalyticsPostedComments.

const (
	AnalyticsPostedCommentsParamsPlatformInstagram AnalyticsPostedCommentsParamsPlatform = "instagram"
	AnalyticsPostedCommentsParamsPlatformTiktok    AnalyticsPostedCommentsParamsPlatform = "tiktok"
	AnalyticsPostedCommentsParamsPlatformYoutube   AnalyticsPostedCommentsParamsPlatform = "youtube"
)

Defines values for AnalyticsPostedCommentsParamsPlatform.

type BlankEnum

type BlankEnum = interface{}

BlankEnum defines model for BlankEnum.

type Brand

type Brand struct {
	// Id Unique identifier for the brand. Supply it wherever a `brand_id` accepts a brand id.
	Id string `json:"id"`

	// IsPrimary `true` for the brand this access belongs to, and `false` for every other brand the request can access.
	IsPrimary bool `json:"is_primary"`

	// Keywords The terms this brand uses to monitor social platforms. All arrays are always present, though they may be empty, and are never null.
	Keywords BrandKeywords `json:"keywords"`

	// ParentBrandId Id of the parent brand for a sub-brand; `null` for a top-level brand.
	ParentBrandId nullable.Nullable[string] `json:"parent_brand_id"`

	// SubBrandType `COMPETITIVE` or `THEME` for a sub-brand; `null` for a top-level brand.
	SubBrandType nullable.Nullable[string] `json:"sub_brand_type"`

	// Title Display name of the brand.
	Title string `json:"title"`
}

Brand A brand you can reach.

type BrandAccount

type BrandAccount struct {
	// ExternalUrl The account's profile URL, when available.
	ExternalUrl nullable.Nullable[string] `json:"external_url,omitempty"`

	// Platform `instagram`, `tiktok` or `youtube`.
	Platform string `json:"platform"`

	// Username The account's handle.
	Username string `json:"username"`
}

BrandAccount An account tracked, marked as an influencer, or owned by the brand.

type BrandAccountGroups

type BrandAccountGroups struct {
	// Influencer Accounts the brand treats as partnership candidates.
	Influencer *[]BrandAccount `json:"influencer,omitempty"`

	// Owned Profiles the brand operates itself.
	Owned *[]BrandAccount `json:"owned,omitempty"`

	// Tracked Accounts the brand monitors.
	Tracked *[]BrandAccount `json:"tracked,omitempty"`
}

BrandAccountGroups A brand's accounts, grouped into one list per account type.

Every key is optional because `account_type` narrows the response to the single list it names.

type BrandAccountsAddFormdataRequestBody

type BrandAccountsAddFormdataRequestBody = BrandAccountsWriteRequest

BrandAccountsAddFormdataRequestBody defines body for BrandAccountsAdd for application/x-www-form-urlencoded ContentType.

type BrandAccountsAddJSONRequestBody

type BrandAccountsAddJSONRequestBody = BrandAccountsWriteRequest

BrandAccountsAddJSONRequestBody defines body for BrandAccountsAdd for application/json ContentType.

type BrandAccountsAddMultipartRequestBody

type BrandAccountsAddMultipartRequestBody = BrandAccountsWriteRequest

BrandAccountsAddMultipartRequestBody defines body for BrandAccountsAdd for multipart/form-data ContentType.

type BrandAccountsListParams

type BrandAccountsListParams struct {
	// AccountType Restricts the response to a single list (`tracked`, `influencer` or `owned`).
	AccountType *BrandAccountsListParamsAccountType `form:"account_type,omitempty" json:"account_type,omitempty"`

	// BrandId Identifies the brand to operate on. Defaults to the brand the key acts on when `brand_id` is omitted. Every `id` returned by `brands.list` is accepted. That set includes linked top-level brands and their sub-brands, not only sub-brands. Returns `INVALID_ID` if the value is malformed, and `403` for a brand outside the key's reach.
	BrandId *string `form:"brand_id,omitempty" json:"brand_id,omitempty"`
}

BrandAccountsListParams defines parameters for BrandAccountsList.

type BrandAccountsListParamsAccountType

type BrandAccountsListParamsAccountType string

BrandAccountsListParamsAccountType defines parameters for BrandAccountsList.

const (
	BrandAccountsListParamsAccountTypeInfluencer BrandAccountsListParamsAccountType = "influencer"
	BrandAccountsListParamsAccountTypeOwned      BrandAccountsListParamsAccountType = "owned"
	BrandAccountsListParamsAccountTypeTracked    BrandAccountsListParamsAccountType = "tracked"
)

Defines values for BrandAccountsListParamsAccountType.

type BrandAccountsRemoveFormdataRequestBody

type BrandAccountsRemoveFormdataRequestBody = BrandAccountsWriteRequest

BrandAccountsRemoveFormdataRequestBody defines body for BrandAccountsRemove for application/x-www-form-urlencoded ContentType.

type BrandAccountsRemoveJSONRequestBody

type BrandAccountsRemoveJSONRequestBody = BrandAccountsWriteRequest

BrandAccountsRemoveJSONRequestBody defines body for BrandAccountsRemove for application/json ContentType.

type BrandAccountsRemoveMultipartRequestBody

type BrandAccountsRemoveMultipartRequestBody = BrandAccountsWriteRequest

BrandAccountsRemoveMultipartRequestBody defines body for BrandAccountsRemove for multipart/form-data ContentType.

type BrandAccountsWriteRequest

type BrandAccountsWriteRequest struct {
	// AccountType The list to modify: `tracked`, `influencer`, or `owned` for the brand's own profiles.
	AccountType AccountTypeEnum `json:"account_type"`

	// BrandId Brand to modify, specified as an `id` from `brands.list`. Omit to modify the workspace brand.
	BrandId *string `json:"brand_id,omitempty"`

	// ProfileUrls Profile URLs on a supported platform (`instagram`, `tiktok` or `youtube`).
	ProfileUrls []string `json:"profile_urls"`
}

BrandAccountsWriteRequest Add or remove profiles in a brand's tracked/influencer/owned list.

type BrandCatalog

type BrandCatalog struct {
	BrandLogo nullable.Nullable[string] `json:"brand_logo"`

	// CategoryId Identifier of the brand's category.
	CategoryId nullable.Nullable[string] `json:"category_id"`

	// CategoryName Name of the brand's category.
	CategoryName nullable.Nullable[string] `json:"category_name"`

	// Id Unique identifier for the brand. Supply it as `brand_id` on the content and AI analysis endpoints to read this brand's content.
	Id string `json:"id"`

	// IndustryId Identifier of the brand's industry.
	IndustryId nullable.Nullable[string] `json:"industry_id"`

	// IndustryName Name of the brand's industry.
	IndustryName nullable.Nullable[string] `json:"industry_name"`

	// Title Display name of the brand.
	Title string `json:"title"`
}

BrandCatalog A brand in the curated catalog, readable by every api key.

type BrandCatalogItem

type BrandCatalogItem struct {
	// Id Identifier to pass as `industry_id` or `category_id` to `brands.catalog`.
	Id string `json:"id"`

	// Level `industry` or `category`.
	Level string `json:"level"`

	// Name Display name of the industry or category.
	Name string `json:"name"`

	// ParentId Industry id a category belongs to; `null` for an industry.
	ParentId nullable.Nullable[string] `json:"parent_id"`
}

BrandCatalogItem An industry or a category, used to filter the brand catalog.

type BrandComparison added in v1.1.0

type BrandComparison struct {
	// Brand The brand this row covers.
	Brand AnalyticsBrand `json:"brand"`

	// Followers Follower counts as they stand now, not over the window.
	Followers BrandFollowers `json:"followers"`

	// Statistics Totals over the window.
	Statistics BrandStatistics `json:"statistics"`
}

BrandComparison One brand's performance in the comparison.

type BrandCreateSubBrandRequest

type BrandCreateSubBrandRequest struct {
	// AllowedLanguages ISO 639-1 codes to track, or the single value `all`. An empty array means all languages are tracked. A code outside ISO 639-1 is rejected, because a brand tracking it would match no content.
	AllowedLanguages *[]string `json:"allowed_languages,omitempty"`

	// BooleanQuery Full-text search across the caption, transcript, summary, and hashtags.
	//
	// **Syntax**
	// - Multiple words are combined with AND: `nike running` matches content containing both `nike` and `running`.
	// - `OR` (case-insensitive) matches either side: `nike OR adidas`.
	// - `NOT` (case-insensitive) excludes a term: `running NOT marathon` matches `running` but not `marathon`.
	// - Wrap a phrase in double quotes to match the words in order: `"summer collection"`.
	// - Negate a phrase with `NOT`: `NOT "out of stock"`.
	// - Group with parentheses to combine operators: `(nike OR adidas) running`.
	// - `ONEAR/n` (case-insensitive) matches terms within `n` words of each other, in order: `apple ONEAR/2 watch` matches `apple watch` and `apple smart watch`, but not `watch ... apple`. It binds more tightly than `AND` and `OR`, so `apple ONEAR/2 watch AND cheap` is interpreted as `(apple near watch) AND cheap`.
	//
	// **Examples**
	// - `nike running` - contains both terms.
	// - `nike OR adidas` - contains either brand.
	// - `"summer sale" NOT clearance` - the exact phrase, without `clearance`.
	// - `(running OR cycling) NOT "beginner guide"` - either sport, excluding the phrase.
	// - `apple ONEAR/2 watch` - `apple` within two words before `watch`.
	//
	// Content matching this query is connected to (associated with) this brand.
	BooleanQuery nullable.Nullable[string] `json:"boolean_query,omitempty"`

	// CompoundInclusionTerms Secondary inclusion terms layered on top of `inclusion_terms`.
	CompoundInclusionTerms *[]string `json:"compound_inclusion_terms,omitempty"`

	// ExclusionTerms Terms that disqualify content from matching.
	ExclusionTerms *[]string `json:"exclusion_terms,omitempty"`

	// InclusionTerms Terms that must be present for content to match.
	InclusionTerms *[]string `json:"inclusion_terms,omitempty"`

	// InfluencerTerms Terms that mark matched content as influencer content.
	InfluencerTerms *[]string `json:"influencer_terms,omitempty"`

	// SearchTerms Plain keywords the brand monitors across platforms, matched as-is (case-insensitive, no operators).
	SearchTerms *[]string `json:"search_terms,omitempty"`

	// SubBrandType Type of sub-brand: `COMPETITIVE` or `THEME`.
	SubBrandType SubBrandTypeEnum `json:"sub_brand_type"`

	// Title Display name of the new sub-brand.
	Title string `json:"title"`
}

BrandCreateSubBrandRequest Create a sub-brand under the workspace brand.

type BrandFollowers added in v1.1.0

type BrandFollowers struct {
	// Accounts Per handle counts that add up to `total`.
	Accounts []FollowerAccount `json:"accounts"`

	// Total Followers across every owned handle.
	Total int `json:"total"`
}

BrandFollowers Followers across the handles a brand owns.

type BrandKeywords

type BrandKeywords struct {
	// AllowedLanguages ISO 639-1 codes for the languages the brand tracks. An empty array indicates that all languages are tracked.
	AllowedLanguages []string `json:"allowed_languages"`

	// BooleanQuery Full-text search across the caption, transcript, summary, and hashtags.
	//
	// **Syntax**
	// - Multiple words are combined with AND: `nike running` matches content containing both `nike` and `running`.
	// - `OR` (case-insensitive) matches either side: `nike OR adidas`.
	// - `NOT` (case-insensitive) excludes a term: `running NOT marathon` matches `running` but not `marathon`.
	// - Wrap a phrase in double quotes to match the words in order: `"summer collection"`.
	// - Negate a phrase with `NOT`: `NOT "out of stock"`.
	// - Group with parentheses to combine operators: `(nike OR adidas) running`.
	// - `ONEAR/n` (case-insensitive) matches terms within `n` words of each other, in order: `apple ONEAR/2 watch` matches `apple watch` and `apple smart watch`, but not `watch ... apple`. It binds more tightly than `AND` and `OR`, so `apple ONEAR/2 watch AND cheap` is interpreted as `(apple near watch) AND cheap`.
	//
	// **Examples**
	// - `nike running` - contains both terms.
	// - `nike OR adidas` - contains either brand.
	// - `"summer sale" NOT clearance` - the exact phrase, without `clearance`.
	// - `(running OR cycling) NOT "beginner guide"` - either sport, excluding the phrase.
	// - `apple ONEAR/2 watch` - `apple` within two words before `watch`.
	//
	// Content matching this query is connected to (associated with) this brand.
	BooleanQuery nullable.Nullable[string] `json:"boolean_query"`

	// CompoundInclusionTerms Secondary inclusion terms layered on top of `inclusion_terms`. A match requires at least one term from `inclusion_terms` and at least one from `compound_inclusion_terms`.
	CompoundInclusionTerms []string `json:"compound_inclusion_terms"`

	// ExclusionTerms Terms that disqualify content from matching, even when other criteria are met.
	ExclusionTerms []string `json:"exclusion_terms"`

	// InclusionTerms Terms that must be present for content to match.
	InclusionTerms []string `json:"inclusion_terms"`

	// InfluencerTerms Terms that mark matched content as influencer content (for example, `sponsored`, `ad`, or `gifted`).
	InfluencerTerms []string `json:"influencer_terms"`

	// SearchTerms Plain keywords the brand monitors across platforms, matched as-is (case-insensitive, no operators).
	SearchTerms []string `json:"search_terms"`
}

BrandKeywords The terms this brand uses to monitor social platforms.

type BrandStatistics added in v1.1.0

type BrandStatistics struct {
	// EngagementRate Total engagement divided by total views. Null when the set has no recorded views.
	EngagementRate nullable.Nullable[float64] `json:"engagement_rate"`

	// PostCount Number of posts matched to the brand.
	PostCount int `json:"post_count"`

	// TotalComments Total comments across those posts.
	TotalComments int `json:"total_comments"`

	// TotalEarnedMediaValueCents Estimated marketing value across those posts, in US cents.
	TotalEarnedMediaValueCents int `json:"total_earned_media_value_cents"`

	// TotalEngagement Likes, comments and shares across those posts.
	TotalEngagement int `json:"total_engagement"`

	// TotalLikes Total likes across those posts.
	TotalLikes int `json:"total_likes"`

	// TotalNegativeNps Engagement on negative posts.
	TotalNegativeNps int `json:"total_negative_nps"`

	// TotalNeutralNps Engagement on neutral posts.
	TotalNeutralNps int `json:"total_neutral_nps"`

	// TotalPositiveNps Engagement on positive posts.
	TotalPositiveNps int `json:"total_positive_nps"`

	// TotalShares Total shares across those posts.
	TotalShares int `json:"total_shares"`

	// TotalViews Total views across those posts.
	TotalViews int `json:"total_views"`

	// UniqueCreatorCount Number of distinct creators who posted.
	UniqueCreatorCount int `json:"unique_creator_count"`
}

BrandStatistics Totals over the content matched to a brand in the window.

type BrandsCatalogParams

type BrandsCatalogParams struct {
	// CategoryId Category id from `brands.catalog_categories`. Case is ignored.
	CategoryId *string `form:"category_id,omitempty" json:"category_id,omitempty"`

	// IndustryId Industry id from `brands.catalog_categories`. Case is ignored.
	IndustryId *string `form:"industry_id,omitempty" json:"industry_id,omitempty"`

	// OrderBy **Sort direction is inverted:** `order_by=field` sorts descending and `order_by=-field` sorts ascending. Comma-separate to sort by multiple fields.
	OrderBy *[]BrandsCatalogParamsOrderBy `form:"order_by,omitempty" json:"order_by,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// Search Brand title substring (case-insensitive).
	Search *string `form:"search,omitempty" json:"search,omitempty"`
}

BrandsCatalogParams defines parameters for BrandsCatalog.

type BrandsCatalogParamsOrderBy

type BrandsCatalogParamsOrderBy string

BrandsCatalogParamsOrderBy defines parameters for BrandsCatalog.

const (
	MinusTitle BrandsCatalogParamsOrderBy = "-title"
	Title      BrandsCatalogParamsOrderBy = "title"
)

Defines values for BrandsCatalogParamsOrderBy.

type BrandsListParams

type BrandsListParams struct {
	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`
}

BrandsListParams defines parameters for BrandsList.

type BrandsUpdateFormdataRequestBody

type BrandsUpdateFormdataRequestBody = PatchedBrandUpdateRequest

BrandsUpdateFormdataRequestBody defines body for BrandsUpdate for application/x-www-form-urlencoded ContentType.

type BrandsUpdateJSONRequestBody

type BrandsUpdateJSONRequestBody = PatchedBrandUpdateRequest

BrandsUpdateJSONRequestBody defines body for BrandsUpdate for application/json ContentType.

type BrandsUpdateMultipartRequestBody

type BrandsUpdateMultipartRequestBody = PatchedBrandUpdateRequest

BrandsUpdateMultipartRequestBody defines body for BrandsUpdate for multipart/form-data ContentType.

type Comment

type Comment struct {
	// Author The creator who wrote the comment. Null when the author is unknown.
	Author CommentAuthor `json:"author"`

	// ContentId Identifier of the content the comment was left on.
	ContentId nullable.Nullable[string] `json:"content_id"`

	// Id Unique identifier for the comment.
	Id string `json:"id"`

	// IsParentComment Whether this is a top-level comment, rather than a reply to another comment.
	IsParentComment bool `json:"is_parent_comment"`

	// LikeCount Number of likes the comment has received.
	LikeCount nullable.Nullable[int] `json:"like_count"`

	// ParentCommentId Identifier of the comment this is a reply to. Null for top-level comments.
	ParentCommentId nullable.Nullable[string] `json:"parent_comment_id"`

	// Platform The platform the comment was posted on: `instagram`, `tiktok` or `youtube`.
	Platform nullable.Nullable[string] `json:"platform"`

	// PostedAt Time the comment was posted on its platform (UTC).
	PostedAt nullable.Nullable[time.Time] `json:"posted_at"`

	// Text The comment's text content.
	Text string `json:"text"`
}

Comment A comment left on a piece of content.

type CommentAuthor

type CommentAuthor struct {
	// Id Unique identifier for the author.
	Id string `json:"id"`

	// Name The author's display name on the platform.
	Name nullable.Nullable[string] `json:"name"`

	// ProfilePictureUrl URL of the author's profile picture.
	ProfilePictureUrl nullable.Nullable[string] `json:"profile_picture_url"`

	// Username The author's username or handle on the platform (without the leading `@`).
	Username nullable.Nullable[string] `json:"username"`
}

CommentAuthor A short profile of the creator who wrote the comment.

type CommentsListParams

type CommentsListParams struct {
	// ContentId Id of the content to list comments for.
	ContentId *string `form:"content_id,omitempty" json:"content_id,omitempty"`

	// Id Id of a single comment to fetch.
	Id *string `form:"id,omitempty" json:"id,omitempty"`

	// IsParentComment True to only top-level comments, false to only replies.
	IsParentComment *bool `form:"is_parent_comment,omitempty" json:"is_parent_comment,omitempty"`

	// OrderBy Sort by `like_count`. A bare key sorts descending.
	//
	// **Sort direction is inverted:** `order_by=field` sorts descending and `order_by=-field` sorts ascending. Comma-separate to sort by multiple fields.
	OrderBy *[]CommentsListParamsOrderBy `form:"order_by,omitempty" json:"order_by,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`

	// ParentCommentId Id of the parent comment to list replies for.
	ParentCommentId *string `form:"parent_comment_id,omitempty" json:"parent_comment_id,omitempty"`
}

CommentsListParams defines parameters for CommentsList.

type CommentsListParamsOrderBy

type CommentsListParamsOrderBy string

CommentsListParamsOrderBy defines parameters for CommentsList.

const (
	CommentsListParamsOrderByLikeCount      CommentsListParamsOrderBy = "like_count"
	CommentsListParamsOrderByMinusLikeCount CommentsListParamsOrderBy = "-like_count"
)

Defines values for CommentsListParamsOrderBy.

type Content

type Content struct {
	// AiSummary Short AI-generated summary of the content.
	AiSummary nullable.Nullable[string] `json:"ai_summary"`

	// BrandId Identifier of the brand that the brand-specific signals on this row (`is_owned`, `is_tagged`, `is_influencer`, `mention_type`, `net_promoter_score`) are scoped to. Returned as `null` when the request omits `brand_id`.
	BrandId nullable.Nullable[string] `json:"brand_id"`

	// Caption Short caption or title of the post (the primary user-visible text).
	Caption string `json:"caption"`

	// CommentCount Total number of comments on the content.
	CommentCount nullable.Nullable[int] `json:"comment_count"`

	// ContentForm Whether the content is a video or an image.
	ContentForm nullable.Nullable[string] `json:"content_form"`

	// Creator The creator who published the content.
	Creator ContentCreator `json:"creator"`

	// Description Long-form description of the post.
	Description string `json:"description"`

	// EarnedMediaValueCents Estimated marketing value of the content, in US cents.
	EarnedMediaValueCents nullable.Nullable[int] `json:"earned_media_value_cents"`

	// EngagementRate Engagement per view (likes plus comments plus shares, divided by views). Null when the content has no recorded views.
	EngagementRate nullable.Nullable[float64] `json:"engagement_rate"`

	// Hashtags Hashtags used in the post, normalized to lowercase and without the leading `#`.
	Hashtags []string `json:"hashtags"`

	// Id Unique identifier for this piece of content. Use it to retrieve the content anywhere a content id is accepted.
	Id string `json:"id"`

	// IsInfluencer Whether the scoped brand counts the content as influencer content: it matches the brand's influencer terms, comes from an account on its influencer list, was reported as branded content by the platform, or was marked by hand. Content the brand owns is never influencer content. Returned as `null` when the request omits `brand_id`.
	IsInfluencer nullable.Nullable[bool] `json:"is_influencer"`

	// IsOwned Whether the scoped brand owns the content; that is, whether it was published by an account the brand controls. Returned as `null` when the request omits `brand_id`.
	IsOwned nullable.Nullable[bool] `json:"is_owned"`

	// IsTagged Whether the post tags the scoped brand on the platform. Returned as `null` when the request omits `brand_id`.
	IsTagged nullable.Nullable[bool] `json:"is_tagged"`

	// Language ISO 639 code of the content's primary language.
	Language nullable.Nullable[string] `json:"language"`

	// LastKeyword The search term the content was most recently found by. Null when the content was not picked up through a keyword search.
	LastKeyword nullable.Nullable[string] `json:"last_keyword"`

	// LikeCount Total number of likes the content has received.
	LikeCount nullable.Nullable[int] `json:"like_count"`

	// MediaDuration Length of the media in seconds. Null when not known.
	MediaDuration nullable.Nullable[float64] `json:"media_duration"`

	// MentionType How the scoped brand is mentioned in the content. One of `content` or `comment`, or null when the brand is not mentioned. Returned as `null` when the request omits `brand_id`.
	MentionType nullable.Nullable[string] `json:"mention_type"`

	// NetPromoterScore Net promoter score for the content from the perspective of the scoped brand. Returned as `null` when the request omits `brand_id`.
	NetPromoterScore nullable.Nullable[int] `json:"net_promoter_score"`

	// Platform The platform the content was published on: `instagram`, `tiktok` or `youtube`.
	Platform string `json:"platform"`

	// PlatformPostId The post's identifier on its platform. This is the value at the end of the post's URL.
	//
	// Examples:
	// - Instagram: `https://instagram.com/reel/abcd` -> `abcd`
	// - TikTok: `https://www.tiktok.com/@username/video/12345678` -> `12345678`
	PlatformPostId string `json:"platform_post_id"`

	// PlatformUrl Direct URL to the post on its platform.
	//
	// Examples:
	// - `https://instagram.com/reel/abcd`
	// - `https://www.tiktok.com/@username/video/12345678`
	PlatformUrl string `json:"platform_url"`

	// PostedAt Time the content was originally published on its platform (UTC).
	PostedAt nullable.Nullable[time.Time] `json:"posted_at"`

	// ShareCount Total number of times the content has been shared.
	ShareCount nullable.Nullable[int] `json:"share_count"`

	// ThumbnailUrl URL of the content's thumbnail image.
	ThumbnailUrl nullable.Nullable[string] `json:"thumbnail_url"`

	// TotalEngagement Sum of the likes, comments, and shares the content has received.
	TotalEngagement nullable.Nullable[int] `json:"total_engagement"`

	// Transcript Transcribed speech from the content's audio, when available.
	Transcript nullable.Nullable[string] `json:"transcript"`

	// ViewCount Total number of times the content has been viewed.
	ViewCount nullable.Nullable[int] `json:"view_count"`
}

Content A piece of content (a post, video, or image) and its metrics.

type ContentActionRequestRequest

type ContentActionRequestRequest struct {
	// ContentId Identifier of the content, as returned by `content.list`.
	ContentId string `json:"content_id"`
}

ContentActionRequestRequest Request body for the content transcribe and AI summarize actions.

type ContentActionResponse

type ContentActionResponse struct {
	// ContentId Identifier of the content.
	ContentId string `json:"content_id"`

	// Status `PENDING` when the work was queued, `COMPLETED` when the content already has the result.
	Status string `json:"status"`
}

ContentActionResponse State of a content transcribe or AI summarize request.

type ContentAiSummarizeFormdataRequestBody

type ContentAiSummarizeFormdataRequestBody = ContentActionRequestRequest

ContentAiSummarizeFormdataRequestBody defines body for ContentAiSummarize for application/x-www-form-urlencoded ContentType.

type ContentAiSummarizeJSONRequestBody

type ContentAiSummarizeJSONRequestBody = ContentActionRequestRequest

ContentAiSummarizeJSONRequestBody defines body for ContentAiSummarize for application/json ContentType.

type ContentAiSummarizeMultipartRequestBody

type ContentAiSummarizeMultipartRequestBody = ContentActionRequestRequest

ContentAiSummarizeMultipartRequestBody defines body for ContentAiSummarize for multipart/form-data ContentType.

type ContentCreator

type ContentCreator struct {
	// ActiveContentCount Number of active content items attributed to the creator.
	ActiveContentCount nullable.Nullable[int] `json:"active_content_count"`

	// FollowerCount The creator's follower count as of the most recent observation.
	FollowerCount nullable.Nullable[int] `json:"follower_count"`

	// Id Unique identifier for the creator.
	Id string `json:"id"`

	// Name The creator's display name on the platform.
	Name nullable.Nullable[string] `json:"name"`

	// Platform The platform the creator publishes on. One of `instagram`, `tiktok`, `youtube`.
	Platform nullable.Nullable[string] `json:"platform"`

	// PlatformHandle The platform-side identifier of the creator's account.
	PlatformHandle nullable.Nullable[string] `json:"platform_handle"`

	// PlatformUrl Direct URL to the creator's profile on the platform.
	PlatformUrl nullable.Nullable[string] `json:"platform_url"`

	// ProfileBio The creator's profile bio as it appears on the platform.
	ProfileBio nullable.Nullable[string] `json:"profile_bio"`

	// ProfilePictureUrl URL of the creator's profile picture.
	ProfilePictureUrl nullable.Nullable[string] `json:"profile_picture_url"`

	// Username The creator's username or handle on the platform (without an `@`).
	Username nullable.Nullable[string] `json:"username"`
}

ContentCreator The creator who published the content.

type ContentDetailsParams

type ContentDetailsParams struct {
	// BrandId Optional brand id. When supplied, the content must exist under that brand, otherwise the response is an empty result set. Populates the brand-specific response fields.
	BrandId *string `form:"brand_id,omitempty" json:"brand_id,omitempty"`
}

ContentDetailsParams defines parameters for ContentDetails.

type ContentDiscoverFormdataRequestBody

type ContentDiscoverFormdataRequestBody = ContentDiscoveryRequestRequest

ContentDiscoverFormdataRequestBody defines body for ContentDiscover for application/x-www-form-urlencoded ContentType.

type ContentDiscoverJSONRequestBody

type ContentDiscoverJSONRequestBody = ContentDiscoveryRequestRequest

ContentDiscoverJSONRequestBody defines body for ContentDiscover for application/json ContentType.

type ContentDiscoverMultipartRequestBody

type ContentDiscoverMultipartRequestBody = ContentDiscoveryRequestRequest

ContentDiscoverMultipartRequestBody defines body for ContentDiscover for multipart/form-data ContentType.

type ContentDiscovery

type ContentDiscovery struct {
	// CreatedAt When the discovery job was created (UTC, ISO 8601).
	CreatedAt time.Time `json:"created_at"`

	// Dispatched Whether a new indexing job was dispatched. Returns `false` when an identical search term was already requested within the recent deduplication window, in which case the in-flight job is reused.
	Dispatched bool `json:"dispatched"`

	// Id Identifier of the discovery job. Use it to track the job's status.
	Id string `json:"id"`

	// Platforms Platforms the indexing job was dispatched to.
	Platforms nullable.Nullable[[]string] `json:"platforms"`

	// SearchTerm The search term the discovery job was started for.
	SearchTerm string `json:"search_term"`

	// Status Status of the discovery job. One of `PENDING`, `IN_PROGRESS`, `COMPLETED`, `FAILED`, `CANCELLED`.
	Status string `json:"status"`

	// UpdatedAt Time of the most recent change to the discovery job (UTC, ISO 8601).
	UpdatedAt time.Time `json:"updated_at"`
}

ContentDiscovery A content discovery job started for a search term.

type ContentDiscoveryRequestRequest

type ContentDiscoveryRequestRequest struct {
	// Platforms Platforms to index (`instagram`, `tiktok`, `youtube`). Defaults to all platforms when omitted.
	Platforms *[]PlatformEnum `json:"platforms,omitempty"`

	// SearchTerm The term to index content for (for example, `nike running`). Matching content is indexed asynchronously.
	SearchTerm string `json:"search_term"`
}

ContentDiscoveryRequestRequest Request body for “POST /api/v1/content/discovery/“.

type ContentFilterInputRequest

type ContentFilterInputRequest struct {
	// BrandId Restrict to an accessible brand id (from `brands.list`). Defaults to your own brand when omitted.
	BrandId *string `json:"brand_id,omitempty"`

	// CommentCountMax Include only content with at most this many comments.
	CommentCountMax *int `json:"comment_count_max,omitempty"`

	// CommentCountMin Include only content with at least this many comments.
	CommentCountMin *int `json:"comment_count_min,omitempty"`

	// ContentForm Content medium. One of: VIDEO, IMAGE.
	ContentForm *ContentFormEnum `json:"content_form,omitempty"`

	// CreatorFollowerCountMax Include only content whose creator has at most this many followers.
	CreatorFollowerCountMax *int `json:"creator_follower_count_max,omitempty"`

	// CreatorFollowerCountMin Include only content whose creator has at least this many followers.
	CreatorFollowerCountMin *int `json:"creator_follower_count_min,omitempty"`

	// CreatorId Restrict to a single creator by id (from `creators.list`).
	CreatorId *string `json:"creator_id,omitempty"`

	// CreatorUsername Creator username substring. Case-insensitive.
	CreatorUsername *string `json:"creator_username,omitempty"`

	// EarnedMediaValueCentsMax Maximum estimated earned media value, in cents.
	EarnedMediaValueCentsMax *int `json:"earned_media_value_cents_max,omitempty"`

	// EarnedMediaValueCentsMin Minimum estimated earned media value, in cents.
	EarnedMediaValueCentsMin *int `json:"earned_media_value_cents_min,omitempty"`

	// EngagementRateMax Maximum engagement as a fraction of views (e.g. 0.05 = 5%).
	EngagementRateMax *float64 `json:"engagement_rate_max,omitempty"`

	// EngagementRateMin Minimum engagement as a fraction of views (e.g. 0.05 = 5%).
	EngagementRateMin *float64 `json:"engagement_rate_min,omitempty"`

	// ExternalId Platform-side post id. Matched exactly.
	ExternalId *string `json:"external_id,omitempty"`

	// IsInfluencer Include only the brand's influencer content, or exclude it with `false`.
	IsInfluencer *bool `json:"is_influencer,omitempty"`

	// IsOwned Include only content owned by the brand.
	IsOwned *bool `json:"is_owned,omitempty"`

	// IsTagged Include only content where the brand is tagged.
	IsTagged *bool `json:"is_tagged,omitempty"`

	// Language Language codes to include, for example `en` or `es`.
	Language *[]string `json:"language,omitempty"`

	// LikeCountMax Include only content with at most this many likes.
	LikeCountMax *int `json:"like_count_max,omitempty"`

	// LikeCountMin Include only content with at least this many likes.
	LikeCountMin *int `json:"like_count_min,omitempty"`

	// MediaDurationMax Include only content at most this many seconds long.
	MediaDurationMax *float64 `json:"media_duration_max,omitempty"`

	// MediaDurationMin Include only content at least this many seconds long.
	MediaDurationMin *float64 `json:"media_duration_min,omitempty"`

	// MentionType Restrict to these mention kinds. Any of: content, comment.
	MentionType *[]MentionTypeEnum `json:"mention_type,omitempty"`

	// MentionTypeNot Exclude these mention kinds. Any of: content, comment.
	MentionTypeNot *[]MentionTypeEnum `json:"mention_type_not,omitempty"`

	// NetPromoterScoreMax Maximum brand net promoter score for the content.
	NetPromoterScoreMax *int `json:"net_promoter_score_max,omitempty"`

	// NetPromoterScoreMin Minimum brand net promoter score for the content.
	NetPromoterScoreMin *int `json:"net_promoter_score_min,omitempty"`

	// OrderBy Sort the selected content. Any of: posted_at, view_count, like_count, comment_count, share_count, engagement_rate, total_engagement, earned_media_value_cents, net_promoter_score, relevance_score. A bare key sorts descending; prefix with `-` to sort ascending. Determines which content is retained when the set is capped. Defaults to `earned_media_value_cents` descending.
	OrderBy *[]string `json:"order_by,omitempty"`

	// Platform Platforms to include. Any of: instagram, tiktok, youtube.
	Platform *[]PlatformEnum `json:"platform,omitempty"`

	// PostedAfter Include only content posted at or after this UTC ISO-8601 time.
	PostedAfter *time.Time `json:"posted_after,omitempty"`

	// PostedBefore Include only content posted at or before this UTC ISO-8601 time.
	PostedBefore *time.Time `json:"posted_before,omitempty"`

	// PostedWithinDays Start of the window, counted back from the current time, in days (1-365). `posted_after` and `posted_within_hours` take precedence over it.
	PostedWithinDays *int `json:"posted_within_days,omitempty"`

	// PostedWithinHours Start of the window, counted back from the current time, in hours (1-8760). Takes precedence over `posted_within_days`. Counted back from `posted_before` when that is also supplied.
	PostedWithinHours *int `json:"posted_within_hours,omitempty"`

	// Search Full-text search across caption, transcript, and summary. Space-separated terms are AND-ed.
	Search *string `json:"search,omitempty"`

	// ShareCountMax Include only content with at most this many shares.
	ShareCountMax *int `json:"share_count_max,omitempty"`

	// ShareCountMin Include only content with at least this many shares.
	ShareCountMin *int `json:"share_count_min,omitempty"`

	// TotalEngagementMax Maximum total engagement (likes + comments + shares).
	TotalEngagementMax *int `json:"total_engagement_max,omitempty"`

	// TotalEngagementMin Minimum total engagement (likes + comments + shares).
	TotalEngagementMin *int `json:"total_engagement_min,omitempty"`

	// ViewCountMax Include only content with at most this many views.
	ViewCountMax *int `json:"view_count_max,omitempty"`

	// ViewCountMin Include only content with at least this many views.
	ViewCountMin *int `json:"view_count_min,omitempty"`
}

ContentFilterInputRequest Selects which content the analysis runs over.

These parameters correspond one-to-one with the `content.list` filter parameters. At least one of `search`, `creator_id`, `creator_username`, `external_id`, or `brand_id` is required to scope the analysis. Supplied filters are combined with AND; min/max pairs are inclusive bounds, and dates are UTC ISO-8601 instants. When `posted_after`, `posted_before`, and `posted_within_days` are all omitted, the analysis defaults to the most recent window. The window between `posted_after` and `posted_before` must not exceed 366 days.

The analysis runs over the highest-ranked matching content by `order_by`, up to 500 items or the limit configured for your workspace. When `order_by` is omitted, content is ranked by `earned_media_value_cents` descending.

type ContentFormEnum

type ContentFormEnum string

ContentFormEnum defines model for ContentFormEnum.

const (
	ContentFormEnumIMAGE ContentFormEnum = "IMAGE"
	ContentFormEnumVIDEO ContentFormEnum = "VIDEO"
)

Defines values for ContentFormEnum.

type ContentListParams

type ContentListParams struct {
	// BrandId One or more brand ids, comma-separated, as returned by `brands.list`. Scopes the query to those brands, populates the brand-specific fields, and enables the brand-only filters and sorts. Any id you cannot access returns `403`, and a malformed value returns `INVALID_ID`.
	BrandId *string `form:"brand_id,omitempty" json:"brand_id,omitempty"`

	// CommentCount Number of comments on the post.
	CommentCount *int `form:"comment_count,omitempty" json:"comment_count,omitempty"`

	// CommentCountMax Number of comments on the post. (Inclusive Upper Bound)
	CommentCountMax *int `form:"comment_count_max,omitempty" json:"comment_count_max,omitempty"`

	// CommentCountMin Number of comments on the post. (Inclusive Lower Bound)
	CommentCountMin *int `form:"comment_count_min,omitempty" json:"comment_count_min,omitempty"`

	// ContentForm Content medium. Case-sensitive; values are stored and returned in uppercase.
	ContentForm *ContentListParamsContentForm `form:"content_form,omitempty" json:"content_form,omitempty"`

	// CreatorFollowerCount Follower count of the post's creator.
	CreatorFollowerCount *int `form:"creator_follower_count,omitempty" json:"creator_follower_count,omitempty"`

	// CreatorFollowerCountMax Follower count of the post's creator. (Inclusive Upper Bound)
	CreatorFollowerCountMax *int `form:"creator_follower_count_max,omitempty" json:"creator_follower_count_max,omitempty"`

	// CreatorFollowerCountMin Follower count of the post's creator. (Inclusive Lower Bound)
	CreatorFollowerCountMin *int `form:"creator_follower_count_min,omitempty" json:"creator_follower_count_min,omitempty"`

	// CreatorId Limit results to a single creator by id (from `/api/v1/creator/`).
	CreatorId *string `form:"creator_id,omitempty" json:"creator_id,omitempty"`

	// CreatorUsername Creator username substring. Case-insensitive.
	CreatorUsername *string `form:"creator_username,omitempty" json:"creator_username,omitempty"`

	// EarnedMediaValueCents Estimated earned media value, in cents.
	EarnedMediaValueCents *int `form:"earned_media_value_cents,omitempty" json:"earned_media_value_cents,omitempty"`

	// EarnedMediaValueCentsMax Estimated earned media value, in cents. (Inclusive Upper Bound)
	EarnedMediaValueCentsMax *int `form:"earned_media_value_cents_max,omitempty" json:"earned_media_value_cents_max,omitempty"`

	// EarnedMediaValueCentsMin Estimated earned media value, in cents. (Inclusive Lower Bound)
	EarnedMediaValueCentsMin *int `form:"earned_media_value_cents_min,omitempty" json:"earned_media_value_cents_min,omitempty"`

	// EngagementRate Engagement as a fraction of views (for example, 0.05 = 5%).
	EngagementRate *float32 `form:"engagement_rate,omitempty" json:"engagement_rate,omitempty"`

	// EngagementRateMax Engagement as a fraction of views (for example, 0.05 = 5%). (Inclusive Upper Bound)
	EngagementRateMax *float32 `form:"engagement_rate_max,omitempty" json:"engagement_rate_max,omitempty"`

	// EngagementRateMin Engagement as a fraction of views (for example, 0.05 = 5%). (Inclusive Lower Bound)
	EngagementRateMin *float32 `form:"engagement_rate_min,omitempty" json:"engagement_rate_min,omitempty"`

	// ExternalId Platform-side post id. Matched exactly.
	ExternalId *string `form:"external_id,omitempty" json:"external_id,omitempty"`

	// IsInfluencer Limit results to the brand's influencer content, or exclude it with `false`. Requires brand_id.
	IsInfluencer *bool `form:"is_influencer,omitempty" json:"is_influencer,omitempty"`

	// IsOwned Limit results to content owned by the brand. Requires brand_id.
	IsOwned *bool `form:"is_owned,omitempty" json:"is_owned,omitempty"`

	// IsTagged Limit results to content where the brand is tagged. Requires brand_id.
	IsTagged *bool `form:"is_tagged,omitempty" json:"is_tagged,omitempty"`

	// Language Language codes to include, comma-separated (for example, en, es).
	Language *[]string `form:"language,omitempty" json:"language,omitempty"`

	// LikeCount Number of likes on the post.
	LikeCount *int `form:"like_count,omitempty" json:"like_count,omitempty"`

	// LikeCountMax Number of likes on the post. (Inclusive Upper Bound)
	LikeCountMax *int `form:"like_count_max,omitempty" json:"like_count_max,omitempty"`

	// LikeCountMin Number of likes on the post. (Inclusive Lower Bound)
	LikeCountMin *int `form:"like_count_min,omitempty" json:"like_count_min,omitempty"`

	// MediaDuration Length of the media in seconds.
	MediaDuration *float32 `form:"media_duration,omitempty" json:"media_duration,omitempty"`

	// MediaDurationMax Length of the media in seconds. (Inclusive Upper Bound)
	MediaDurationMax *float32 `form:"media_duration_max,omitempty" json:"media_duration_max,omitempty"`

	// MediaDurationMin Length of the media in seconds. (Inclusive Lower Bound)
	MediaDurationMin *float32 `form:"media_duration_min,omitempty" json:"media_duration_min,omitempty"`

	// MentionType Limit results to these mention kinds, comma-separated. Requires brand_id.
	MentionType *[]ContentListParamsMentionType `form:"mention_type,omitempty" json:"mention_type,omitempty"`

	// MentionTypeNot Exclude these mention kinds, comma-separated. Requires brand_id.
	MentionTypeNot *[]ContentListParamsMentionTypeNot `form:"mention_type_not,omitempty" json:"mention_type_not,omitempty"`

	// NetPromoterScore Brand net promoter score for the content. Requires brand_id.
	NetPromoterScore *int `form:"net_promoter_score,omitempty" json:"net_promoter_score,omitempty"`

	// NetPromoterScoreMax Brand net promoter score for the content. Requires brand_id. (Inclusive Upper Bound)
	NetPromoterScoreMax *int `form:"net_promoter_score_max,omitempty" json:"net_promoter_score_max,omitempty"`

	// NetPromoterScoreMin Brand net promoter score for the content. Requires brand_id. (Inclusive Lower Bound)
	NetPromoterScoreMin *int `form:"net_promoter_score_min,omitempty" json:"net_promoter_score_min,omitempty"`

	// OrderBy Sort the results. Any of: posted_at, view_count, like_count, comment_count, share_count, engagement_rate, total_engagement, earned_media_value_cents, net_promoter_score, relevance_score. A bare key sorts descending; prefix with `-` to sort ascending.
	//
	// **Sort direction is inverted:** `order_by=field` sorts descending and `order_by=-field` sorts ascending. Comma-separate to sort by multiple fields.
	OrderBy *[]ContentListParamsOrderBy `form:"order_by,omitempty" json:"order_by,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`

	// Platform Platforms to include, comma-separated.
	Platform *[]ContentListParamsPlatform `form:"platform,omitempty" json:"platform,omitempty"`

	// Posted When the post was published (UTC, ISO 8601).
	Posted *time.Time `form:"posted,omitempty" json:"posted,omitempty"`

	// PostedAfter When the post was published (UTC, ISO 8601). (Inclusive Lower Bound)
	PostedAfter *time.Time `form:"posted_after,omitempty" json:"posted_after,omitempty"`

	// PostedBefore When the post was published (UTC, ISO 8601). (Inclusive Upper Bound)
	PostedBefore *time.Time `form:"posted_before,omitempty" json:"posted_before,omitempty"`

	// PostedWithinDays Start of the window, counted back from the current time, in days (1-365). Defaults to 7 when no date parameter is supplied. `posted_after` and `posted_within_hours` take precedence over it.
	PostedWithinDays *int `form:"posted_within_days,omitempty" json:"posted_within_days,omitempty"`

	// PostedWithinHours Start of the window, counted back from the current time, in hours (1-8760). Takes precedence over `posted_within_days`. Counted back from `posted_before` when that is also supplied.
	PostedWithinHours *int `form:"posted_within_hours,omitempty" json:"posted_within_hours,omitempty"`

	// Search Full-text search across the caption, transcript, summary, and hashtags.
	//
	// **Syntax**
	// - Multiple words are combined with AND: `nike running` matches content containing both `nike` and `running`.
	// - `OR` (case-insensitive) matches either side: `nike OR adidas`.
	// - `NOT` (case-insensitive) excludes a term: `running NOT marathon` matches `running` but not `marathon`.
	// - Wrap a phrase in double quotes to match the words in order: `"summer collection"`.
	// - Negate a phrase with `NOT`: `NOT "out of stock"`.
	// - Group with parentheses to combine operators: `(nike OR adidas) running`.
	// - `ONEAR/n` (case-insensitive) matches terms within `n` words of each other, in order: `apple ONEAR/2 watch` matches `apple watch` and `apple smart watch`, but not `watch ... apple`. It binds more tightly than `AND` and `OR`, so `apple ONEAR/2 watch AND cheap` is interpreted as `(apple near watch) AND cheap`.
	//
	// **Examples**
	// - `nike running` - contains both terms.
	// - `nike OR adidas` - contains either brand.
	// - `"summer sale" NOT clearance` - the exact phrase, without `clearance`.
	// - `(running OR cycling) NOT "beginner guide"` - either sport, excluding the phrase.
	// - `apple ONEAR/2 watch` - `apple` within two words before `watch`.
	Search *string `form:"search,omitempty" json:"search,omitempty"`

	// ShareCount Number of shares of the post.
	ShareCount *int `form:"share_count,omitempty" json:"share_count,omitempty"`

	// ShareCountMax Number of shares of the post. (Inclusive Upper Bound)
	ShareCountMax *int `form:"share_count_max,omitempty" json:"share_count_max,omitempty"`

	// ShareCountMin Number of shares of the post. (Inclusive Lower Bound)
	ShareCountMin *int `form:"share_count_min,omitempty" json:"share_count_min,omitempty"`

	// TotalEngagement Total engagement (likes plus comments plus shares).
	TotalEngagement *int `form:"total_engagement,omitempty" json:"total_engagement,omitempty"`

	// TotalEngagementMax Total engagement (likes plus comments plus shares). (Inclusive Upper Bound)
	TotalEngagementMax *int `form:"total_engagement_max,omitempty" json:"total_engagement_max,omitempty"`

	// TotalEngagementMin Total engagement (likes plus comments plus shares). (Inclusive Lower Bound)
	TotalEngagementMin *int `form:"total_engagement_min,omitempty" json:"total_engagement_min,omitempty"`

	// ViewCount Number of views on the post.
	ViewCount *int `form:"view_count,omitempty" json:"view_count,omitempty"`

	// ViewCountMax Number of views on the post. (Inclusive Upper Bound)
	ViewCountMax *int `form:"view_count_max,omitempty" json:"view_count_max,omitempty"`

	// ViewCountMin Number of views on the post. (Inclusive Lower Bound)
	ViewCountMin *int `form:"view_count_min,omitempty" json:"view_count_min,omitempty"`
}

ContentListParams defines parameters for ContentList.

type ContentListParamsContentForm

type ContentListParamsContentForm string

ContentListParamsContentForm defines parameters for ContentList.

const (
	ContentListParamsContentFormIMAGE ContentListParamsContentForm = "IMAGE"
	ContentListParamsContentFormVIDEO ContentListParamsContentForm = "VIDEO"
)

Defines values for ContentListParamsContentForm.

type ContentListParamsMentionType

type ContentListParamsMentionType string

ContentListParamsMentionType defines parameters for ContentList.

const (
	ContentListParamsMentionTypeComment ContentListParamsMentionType = "comment"
	ContentListParamsMentionTypeContent ContentListParamsMentionType = "content"
)

Defines values for ContentListParamsMentionType.

type ContentListParamsMentionTypeNot

type ContentListParamsMentionTypeNot string

ContentListParamsMentionTypeNot defines parameters for ContentList.

const (
	ContentListParamsMentionTypeNotComment ContentListParamsMentionTypeNot = "comment"
	ContentListParamsMentionTypeNotContent ContentListParamsMentionTypeNot = "content"
)

Defines values for ContentListParamsMentionTypeNot.

type ContentListParamsOrderBy

type ContentListParamsOrderBy string

ContentListParamsOrderBy defines parameters for ContentList.

const (
	ContentListParamsOrderByCommentCount               ContentListParamsOrderBy = "comment_count"
	ContentListParamsOrderByEarnedMediaValueCents      ContentListParamsOrderBy = "earned_media_value_cents"
	ContentListParamsOrderByEngagementRate             ContentListParamsOrderBy = "engagement_rate"
	ContentListParamsOrderByLikeCount                  ContentListParamsOrderBy = "like_count"
	ContentListParamsOrderByMinusCommentCount          ContentListParamsOrderBy = "-comment_count"
	ContentListParamsOrderByMinusEarnedMediaValueCents ContentListParamsOrderBy = "-earned_media_value_cents"
	ContentListParamsOrderByMinusEngagementRate        ContentListParamsOrderBy = "-engagement_rate"
	ContentListParamsOrderByMinusLikeCount             ContentListParamsOrderBy = "-like_count"
	ContentListParamsOrderByMinusNetPromoterScore      ContentListParamsOrderBy = "-net_promoter_score"
	ContentListParamsOrderByMinusPostedAt              ContentListParamsOrderBy = "-posted_at"
	ContentListParamsOrderByMinusRelevanceScore        ContentListParamsOrderBy = "-relevance_score"
	ContentListParamsOrderByMinusShareCount            ContentListParamsOrderBy = "-share_count"
	ContentListParamsOrderByMinusTotalEngagement       ContentListParamsOrderBy = "-total_engagement"
	ContentListParamsOrderByMinusViewCount             ContentListParamsOrderBy = "-view_count"
	ContentListParamsOrderByNetPromoterScore           ContentListParamsOrderBy = "net_promoter_score"
	ContentListParamsOrderByPostedAt                   ContentListParamsOrderBy = "posted_at"
	ContentListParamsOrderByRelevanceScore             ContentListParamsOrderBy = "relevance_score"
	ContentListParamsOrderByShareCount                 ContentListParamsOrderBy = "share_count"
	ContentListParamsOrderByTotalEngagement            ContentListParamsOrderBy = "total_engagement"
	ContentListParamsOrderByViewCount                  ContentListParamsOrderBy = "view_count"
)

Defines values for ContentListParamsOrderBy.

type ContentListParamsPlatform

type ContentListParamsPlatform string

ContentListParamsPlatform defines parameters for ContentList.

const (
	ContentListParamsPlatformInstagram ContentListParamsPlatform = "instagram"
	ContentListParamsPlatformTiktok    ContentListParamsPlatform = "tiktok"
	ContentListParamsPlatformYoutube   ContentListParamsPlatform = "youtube"
)

Defines values for ContentListParamsPlatform.

type ContentScopeRequest

type ContentScopeRequest struct {
	// Liked Whether to include content the creator liked.
	Liked *bool `json:"liked,omitempty"`

	// Owned Whether to include content the creator originally posted.
	Owned *bool `json:"owned,omitempty"`

	// Repost Whether to include content the creator reposted.
	Repost *bool `json:"repost,omitempty"`
}

ContentScopeRequest Specifies which of the creator's content relationships feed the analysis.

Flags that are omitted default to owned content only.

type ContentStatistics

type ContentStatistics struct {
	// EngagementRate Total engagement divided by total views across the filtered set. Null when the filtered set has no recorded views.
	EngagementRate nullable.Nullable[float64] `json:"engagement_rate"`

	// PostCount Number of unique pieces of content in the filtered set.
	PostCount int `json:"post_count"`

	// TotalComments Total comments across the filtered set.
	TotalComments int `json:"total_comments"`

	// TotalEarnedMediaValueCents Total estimated marketing value across the filtered set, in US cents. Each piece of content contributes once even when multiple brand contexts match it through `brand_id`.
	TotalEarnedMediaValueCents int `json:"total_earned_media_value_cents"`

	// TotalEngagement Total engagement (likes + comments + shares) across the filtered set.
	TotalEngagement int `json:"total_engagement"`

	// TotalLikes Total likes across the filtered set.
	TotalLikes int `json:"total_likes"`

	// TotalMediaDuration Total media length in seconds across the filtered set.
	TotalMediaDuration float64 `json:"total_media_duration"`

	// TotalShares Total shares across the filtered set.
	TotalShares int `json:"total_shares"`

	// TotalViews Total views across the filtered set.
	TotalViews int `json:"total_views"`

	// UniqueCreatorCount Number of distinct creators represented in the filtered set.
	UniqueCreatorCount int `json:"unique_creator_count"`
}

ContentStatistics Aggregated totals for a filtered set of content.

type ContentStatisticsParams

type ContentStatisticsParams struct {
	// BrandId One or more brand ids, comma-separated, as returned by `brands.list`. Scopes the query to those brands, populates the brand-specific fields, and enables the brand-only filters and sorts. Any id you cannot access returns `403`, and a malformed value returns `INVALID_ID`.
	BrandId *string `form:"brand_id,omitempty" json:"brand_id,omitempty"`

	// CommentCount Number of comments on the post.
	CommentCount *int `form:"comment_count,omitempty" json:"comment_count,omitempty"`

	// CommentCountMax Number of comments on the post. (Inclusive Upper Bound)
	CommentCountMax *int `form:"comment_count_max,omitempty" json:"comment_count_max,omitempty"`

	// CommentCountMin Number of comments on the post. (Inclusive Lower Bound)
	CommentCountMin *int `form:"comment_count_min,omitempty" json:"comment_count_min,omitempty"`

	// ContentForm Content medium. Case-sensitive; values are stored and returned in uppercase.
	ContentForm *ContentStatisticsParamsContentForm `form:"content_form,omitempty" json:"content_form,omitempty"`

	// CreatorFollowerCount Follower count of the post's creator.
	CreatorFollowerCount *int `form:"creator_follower_count,omitempty" json:"creator_follower_count,omitempty"`

	// CreatorFollowerCountMax Follower count of the post's creator. (Inclusive Upper Bound)
	CreatorFollowerCountMax *int `form:"creator_follower_count_max,omitempty" json:"creator_follower_count_max,omitempty"`

	// CreatorFollowerCountMin Follower count of the post's creator. (Inclusive Lower Bound)
	CreatorFollowerCountMin *int `form:"creator_follower_count_min,omitempty" json:"creator_follower_count_min,omitempty"`

	// CreatorId Limit results to a single creator by id (from `/api/v1/creator/`).
	CreatorId *string `form:"creator_id,omitempty" json:"creator_id,omitempty"`

	// CreatorUsername Creator username substring. Case-insensitive.
	CreatorUsername *string `form:"creator_username,omitempty" json:"creator_username,omitempty"`

	// EarnedMediaValueCents Estimated earned media value, in cents.
	EarnedMediaValueCents *int `form:"earned_media_value_cents,omitempty" json:"earned_media_value_cents,omitempty"`

	// EarnedMediaValueCentsMax Estimated earned media value, in cents. (Inclusive Upper Bound)
	EarnedMediaValueCentsMax *int `form:"earned_media_value_cents_max,omitempty" json:"earned_media_value_cents_max,omitempty"`

	// EarnedMediaValueCentsMin Estimated earned media value, in cents. (Inclusive Lower Bound)
	EarnedMediaValueCentsMin *int `form:"earned_media_value_cents_min,omitempty" json:"earned_media_value_cents_min,omitempty"`

	// EngagementRate Engagement as a fraction of views (for example, 0.05 = 5%).
	EngagementRate *float32 `form:"engagement_rate,omitempty" json:"engagement_rate,omitempty"`

	// EngagementRateMax Engagement as a fraction of views (for example, 0.05 = 5%). (Inclusive Upper Bound)
	EngagementRateMax *float32 `form:"engagement_rate_max,omitempty" json:"engagement_rate_max,omitempty"`

	// EngagementRateMin Engagement as a fraction of views (for example, 0.05 = 5%). (Inclusive Lower Bound)
	EngagementRateMin *float32 `form:"engagement_rate_min,omitempty" json:"engagement_rate_min,omitempty"`

	// ExternalId Platform-side post id. Matched exactly.
	ExternalId *string `form:"external_id,omitempty" json:"external_id,omitempty"`

	// IsInfluencer Limit results to the brand's influencer content, or exclude it with `false`. Requires brand_id.
	IsInfluencer *bool `form:"is_influencer,omitempty" json:"is_influencer,omitempty"`

	// IsOwned Limit results to content owned by the brand. Requires brand_id.
	IsOwned *bool `form:"is_owned,omitempty" json:"is_owned,omitempty"`

	// IsTagged Limit results to content where the brand is tagged. Requires brand_id.
	IsTagged *bool `form:"is_tagged,omitempty" json:"is_tagged,omitempty"`

	// Language Language codes to include, comma-separated (for example, en, es).
	Language *[]string `form:"language,omitempty" json:"language,omitempty"`

	// LikeCount Number of likes on the post.
	LikeCount *int `form:"like_count,omitempty" json:"like_count,omitempty"`

	// LikeCountMax Number of likes on the post. (Inclusive Upper Bound)
	LikeCountMax *int `form:"like_count_max,omitempty" json:"like_count_max,omitempty"`

	// LikeCountMin Number of likes on the post. (Inclusive Lower Bound)
	LikeCountMin *int `form:"like_count_min,omitempty" json:"like_count_min,omitempty"`

	// MediaDuration Length of the media in seconds.
	MediaDuration *float32 `form:"media_duration,omitempty" json:"media_duration,omitempty"`

	// MediaDurationMax Length of the media in seconds. (Inclusive Upper Bound)
	MediaDurationMax *float32 `form:"media_duration_max,omitempty" json:"media_duration_max,omitempty"`

	// MediaDurationMin Length of the media in seconds. (Inclusive Lower Bound)
	MediaDurationMin *float32 `form:"media_duration_min,omitempty" json:"media_duration_min,omitempty"`

	// MentionType Limit results to these mention kinds, comma-separated. Requires brand_id.
	MentionType *[]ContentStatisticsParamsMentionType `form:"mention_type,omitempty" json:"mention_type,omitempty"`

	// MentionTypeNot Exclude these mention kinds, comma-separated. Requires brand_id.
	MentionTypeNot *[]ContentStatisticsParamsMentionTypeNot `form:"mention_type_not,omitempty" json:"mention_type_not,omitempty"`

	// NetPromoterScore Brand net promoter score for the content. Requires brand_id.
	NetPromoterScore *int `form:"net_promoter_score,omitempty" json:"net_promoter_score,omitempty"`

	// NetPromoterScoreMax Brand net promoter score for the content. Requires brand_id. (Inclusive Upper Bound)
	NetPromoterScoreMax *int `form:"net_promoter_score_max,omitempty" json:"net_promoter_score_max,omitempty"`

	// NetPromoterScoreMin Brand net promoter score for the content. Requires brand_id. (Inclusive Lower Bound)
	NetPromoterScoreMin *int `form:"net_promoter_score_min,omitempty" json:"net_promoter_score_min,omitempty"`

	// OrderBy Sort the results. Any of: posted_at, view_count, like_count, comment_count, share_count, engagement_rate, total_engagement, earned_media_value_cents, net_promoter_score, relevance_score. A bare key sorts descending; prefix with `-` to sort ascending.
	//
	// **Sort direction is inverted:** `order_by=field` sorts descending and `order_by=-field` sorts ascending. Comma-separate to sort by multiple fields.
	OrderBy *[]ContentStatisticsParamsOrderBy `form:"order_by,omitempty" json:"order_by,omitempty"`

	// Platform Platforms to include, comma-separated.
	Platform *[]ContentStatisticsParamsPlatform `form:"platform,omitempty" json:"platform,omitempty"`

	// Posted When the post was published (UTC, ISO 8601).
	Posted *time.Time `form:"posted,omitempty" json:"posted,omitempty"`

	// PostedAfter When the post was published (UTC, ISO 8601). (Inclusive Lower Bound)
	PostedAfter *time.Time `form:"posted_after,omitempty" json:"posted_after,omitempty"`

	// PostedBefore When the post was published (UTC, ISO 8601). (Inclusive Upper Bound)
	PostedBefore *time.Time `form:"posted_before,omitempty" json:"posted_before,omitempty"`

	// PostedWithinDays Start of the window, counted back from the current time, in days (1-365). Defaults to 7 when no date parameter is supplied. `posted_after` and `posted_within_hours` take precedence over it.
	PostedWithinDays *int `form:"posted_within_days,omitempty" json:"posted_within_days,omitempty"`

	// PostedWithinHours Start of the window, counted back from the current time, in hours (1-8760). Takes precedence over `posted_within_days`. Counted back from `posted_before` when that is also supplied.
	PostedWithinHours *int `form:"posted_within_hours,omitempty" json:"posted_within_hours,omitempty"`

	// Search Full-text search across the caption, transcript, summary, and hashtags.
	//
	// **Syntax**
	// - Multiple words are combined with AND: `nike running` matches content containing both `nike` and `running`.
	// - `OR` (case-insensitive) matches either side: `nike OR adidas`.
	// - `NOT` (case-insensitive) excludes a term: `running NOT marathon` matches `running` but not `marathon`.
	// - Wrap a phrase in double quotes to match the words in order: `"summer collection"`.
	// - Negate a phrase with `NOT`: `NOT "out of stock"`.
	// - Group with parentheses to combine operators: `(nike OR adidas) running`.
	// - `ONEAR/n` (case-insensitive) matches terms within `n` words of each other, in order: `apple ONEAR/2 watch` matches `apple watch` and `apple smart watch`, but not `watch ... apple`. It binds more tightly than `AND` and `OR`, so `apple ONEAR/2 watch AND cheap` is interpreted as `(apple near watch) AND cheap`.
	//
	// **Examples**
	// - `nike running` - contains both terms.
	// - `nike OR adidas` - contains either brand.
	// - `"summer sale" NOT clearance` - the exact phrase, without `clearance`.
	// - `(running OR cycling) NOT "beginner guide"` - either sport, excluding the phrase.
	// - `apple ONEAR/2 watch` - `apple` within two words before `watch`.
	Search *string `form:"search,omitempty" json:"search,omitempty"`

	// ShareCount Number of shares of the post.
	ShareCount *int `form:"share_count,omitempty" json:"share_count,omitempty"`

	// ShareCountMax Number of shares of the post. (Inclusive Upper Bound)
	ShareCountMax *int `form:"share_count_max,omitempty" json:"share_count_max,omitempty"`

	// ShareCountMin Number of shares of the post. (Inclusive Lower Bound)
	ShareCountMin *int `form:"share_count_min,omitempty" json:"share_count_min,omitempty"`

	// TotalEngagement Total engagement (likes plus comments plus shares).
	TotalEngagement *int `form:"total_engagement,omitempty" json:"total_engagement,omitempty"`

	// TotalEngagementMax Total engagement (likes plus comments plus shares). (Inclusive Upper Bound)
	TotalEngagementMax *int `form:"total_engagement_max,omitempty" json:"total_engagement_max,omitempty"`

	// TotalEngagementMin Total engagement (likes plus comments plus shares). (Inclusive Lower Bound)
	TotalEngagementMin *int `form:"total_engagement_min,omitempty" json:"total_engagement_min,omitempty"`

	// ViewCount Number of views on the post.
	ViewCount *int `form:"view_count,omitempty" json:"view_count,omitempty"`

	// ViewCountMax Number of views on the post. (Inclusive Upper Bound)
	ViewCountMax *int `form:"view_count_max,omitempty" json:"view_count_max,omitempty"`

	// ViewCountMin Number of views on the post. (Inclusive Lower Bound)
	ViewCountMin *int `form:"view_count_min,omitempty" json:"view_count_min,omitempty"`
}

ContentStatisticsParams defines parameters for ContentStatistics.

type ContentStatisticsParamsContentForm

type ContentStatisticsParamsContentForm string

ContentStatisticsParamsContentForm defines parameters for ContentStatistics.

Defines values for ContentStatisticsParamsContentForm.

type ContentStatisticsParamsMentionType

type ContentStatisticsParamsMentionType string

ContentStatisticsParamsMentionType defines parameters for ContentStatistics.

const (
	ContentStatisticsParamsMentionTypeComment ContentStatisticsParamsMentionType = "comment"
	ContentStatisticsParamsMentionTypeContent ContentStatisticsParamsMentionType = "content"
)

Defines values for ContentStatisticsParamsMentionType.

type ContentStatisticsParamsMentionTypeNot

type ContentStatisticsParamsMentionTypeNot string

ContentStatisticsParamsMentionTypeNot defines parameters for ContentStatistics.

const (
	ContentStatisticsParamsMentionTypeNotComment ContentStatisticsParamsMentionTypeNot = "comment"
	ContentStatisticsParamsMentionTypeNotContent ContentStatisticsParamsMentionTypeNot = "content"
)

Defines values for ContentStatisticsParamsMentionTypeNot.

type ContentStatisticsParamsOrderBy

type ContentStatisticsParamsOrderBy string

ContentStatisticsParamsOrderBy defines parameters for ContentStatistics.

const (
	CommentCount               ContentStatisticsParamsOrderBy = "comment_count"
	EarnedMediaValueCents      ContentStatisticsParamsOrderBy = "earned_media_value_cents"
	EngagementRate             ContentStatisticsParamsOrderBy = "engagement_rate"
	LikeCount                  ContentStatisticsParamsOrderBy = "like_count"
	MinusCommentCount          ContentStatisticsParamsOrderBy = "-comment_count"
	MinusEarnedMediaValueCents ContentStatisticsParamsOrderBy = "-earned_media_value_cents"
	MinusEngagementRate        ContentStatisticsParamsOrderBy = "-engagement_rate"
	MinusLikeCount             ContentStatisticsParamsOrderBy = "-like_count"
	MinusNetPromoterScore      ContentStatisticsParamsOrderBy = "-net_promoter_score"
	MinusPostedAt              ContentStatisticsParamsOrderBy = "-posted_at"
	MinusRelevanceScore        ContentStatisticsParamsOrderBy = "-relevance_score"
	MinusShareCount            ContentStatisticsParamsOrderBy = "-share_count"
	MinusTotalEngagement       ContentStatisticsParamsOrderBy = "-total_engagement"
	MinusViewCount             ContentStatisticsParamsOrderBy = "-view_count"
	NetPromoterScore           ContentStatisticsParamsOrderBy = "net_promoter_score"
	PostedAt                   ContentStatisticsParamsOrderBy = "posted_at"
	RelevanceScore             ContentStatisticsParamsOrderBy = "relevance_score"
	ShareCount                 ContentStatisticsParamsOrderBy = "share_count"
	TotalEngagement            ContentStatisticsParamsOrderBy = "total_engagement"
	ViewCount                  ContentStatisticsParamsOrderBy = "view_count"
)

Defines values for ContentStatisticsParamsOrderBy.

type ContentStatisticsParamsPlatform

type ContentStatisticsParamsPlatform string

ContentStatisticsParamsPlatform defines parameters for ContentStatistics.

const (
	ContentStatisticsParamsPlatformInstagram ContentStatisticsParamsPlatform = "instagram"
	ContentStatisticsParamsPlatformTiktok    ContentStatisticsParamsPlatform = "tiktok"
	ContentStatisticsParamsPlatformYoutube   ContentStatisticsParamsPlatform = "youtube"
)

Defines values for ContentStatisticsParamsPlatform.

type ContentTranscribeFormdataRequestBody

type ContentTranscribeFormdataRequestBody = ContentActionRequestRequest

ContentTranscribeFormdataRequestBody defines body for ContentTranscribe for application/x-www-form-urlencoded ContentType.

type ContentTranscribeJSONRequestBody

type ContentTranscribeJSONRequestBody = ContentActionRequestRequest

ContentTranscribeJSONRequestBody defines body for ContentTranscribe for application/json ContentType.

type ContentTranscribeMultipartRequestBody

type ContentTranscribeMultipartRequestBody = ContentActionRequestRequest

ContentTranscribeMultipartRequestBody defines body for ContentTranscribe for multipart/form-data ContentType.

type Creator

type Creator struct {
	// ActiveContentCount Number of active content items attributed to the creator.
	ActiveContentCount nullable.Nullable[int] `json:"active_content_count"`

	// Email The creator's email address when known by the platform; empty otherwise.
	Email nullable.Nullable[string] `json:"email"`

	// FollowerCount The creator's follower count as of the most recent observation.
	FollowerCount int `json:"follower_count"`

	// Id Unique identifier of the creator.
	Id string `json:"id"`

	// Name The creator's display name on the platform.
	Name nullable.Nullable[string] `json:"name"`

	// Platform The platform the creator is on. One of `instagram`, `tiktok`, `youtube`.
	Platform string `json:"platform"`

	// PlatformHandle The platform-side identifier of the account.
	PlatformHandle string `json:"platform_handle"`

	// PlatformUrl Direct URL to the creator's profile on the platform.
	PlatformUrl string `json:"platform_url"`

	// ProfileBio The creator's profile bio as it appears on the platform.
	ProfileBio nullable.Nullable[string] `json:"profile_bio"`

	// ProfilePictureUrl URL of the creator's profile picture.
	ProfilePictureUrl string `json:"profile_picture_url"`

	// Username The creator's username or handle on the platform, without the `@`.
	Username nullable.Nullable[string] `json:"username"`
}

Creator A creator and their public profile fields.

type CreatorSync

type CreatorSync struct {
	// CreatedAt Time the job was created (UTC, ISO-8601).
	CreatedAt time.Time `json:"created_at"`

	// CreatorId Identifier of the synced creator. Returns `null` until the creator has been resolved, which happens once the first posts have been read.
	CreatorId nullable.Nullable[string] `json:"creator_id"`

	// Id Identifier of the sync job. Use this value on follow-up calls. It is the same identifier `creator_vetting` reports as `sync_job_id`.
	Id string `json:"id"`

	// ProfileUrl The profile URL this job syncs. Returns `null` for a job whose source URL was not recorded.
	ProfileUrl nullable.Nullable[string] `json:"profile_url,omitempty"`

	// Status Where the job has got to. One of `SCHEDULED`, `SYNCING`, `SUCCESS`, `FAILED`.
	Status string `json:"status"`

	// UpdatedAt Time the job was most recently modified (UTC, ISO-8601).
	UpdatedAt time.Time `json:"updated_at"`
}

CreatorSync One creator sync job.

type CreatorSyncCreateFormdataRequestBody

type CreatorSyncCreateFormdataRequestBody = CreatorSyncCreateRequest

CreatorSyncCreateFormdataRequestBody defines body for CreatorSyncCreate for application/x-www-form-urlencoded ContentType.

type CreatorSyncCreateJSONRequestBody

type CreatorSyncCreateJSONRequestBody = CreatorSyncCreateRequest

CreatorSyncCreateJSONRequestBody defines body for CreatorSyncCreate for application/json ContentType.

type CreatorSyncCreateMultipartRequestBody

type CreatorSyncCreateMultipartRequestBody = CreatorSyncCreateRequest

CreatorSyncCreateMultipartRequestBody defines body for CreatorSyncCreate for multipart/form-data ContentType.

type CreatorSyncCreateRequest

type CreatorSyncCreateRequest struct {
	// ProfileUrl Direct URL to the creator's profile on a supported platform (`tiktok`, `instagram`, `youtube`).
	ProfileUrl string `json:"profile_url"`
}

CreatorSyncCreateRequest Request body for “POST /api/v1/creator_sync/“.

type CreatorSyncListParams

type CreatorSyncListParams struct {
	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

CreatorSyncListParams defines parameters for CreatorSyncList.

type CreatorVetting

type CreatorVetting struct {
	// Analysis The analysis runs tied to this vetting, ordered newest first.
	Analysis []CreatorVettingRun `json:"analysis"`

	// ContentScope The content relationships analyzed for this creator.
	ContentScope map[string]interface{} `json:"content_scope"`

	// CreatedAt Time the vetting was created (UTC, ISO-8601).
	CreatedAt time.Time `json:"created_at"`

	// Creator A creator and their public profile fields.
	Creator Creator `json:"creator"`

	// CreatorId Identifier of the creator the vetting is tied to. Returns “null“ until the creator has been resolved.
	CreatorId nullable.Nullable[string] `json:"creator_id"`

	// Id Identifier of the vetting. Use this value on follow-up calls.
	Id string `json:"id"`

	// SafetyChecks The safety criteria submitted with this vetting request.
	SafetyChecks []map[string]interface{} `json:"safety_checks"`

	// Status Status of the vetting. One of `IN_PROGRESS`, `COMPLETED`, `EMPTY_RESULT` (finished with no matching content), or `FAILED`.
	Status string `json:"status"`

	// SyncJobId Identifier of the scrape job triggered for this request. Populated only when `resync_profile=true` was supplied and the creator already existed; `null` otherwise.
	SyncJobId nullable.Nullable[string] `json:"sync_job_id"`

	// Type Always `CREATOR_ANALYSIS` here.
	Type string `json:"type"`

	// UpdatedAt Time the vetting was most recently modified (UTC, ISO-8601).
	UpdatedAt time.Time `json:"updated_at"`
}

CreatorVetting A creator vetting, including its analysis runs and request settings.

type CreatorVettingContentStatisticsParams

type CreatorVettingContentStatisticsParams struct {
	// VettingId Identifier of the vetting, obtained from `creator_vetting.list`.
	VettingId string `form:"vetting_id" json:"vetting_id"`
}

CreatorVettingContentStatisticsParams defines parameters for CreatorVettingContentStatistics.

type CreatorVettingContentsParams

type CreatorVettingContentsParams struct {
	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`

	// VettingId Identifier of the vetting, obtained from `creator_vetting.list`.
	VettingId string `form:"vetting_id" json:"vetting_id"`
}

CreatorVettingContentsParams defines parameters for CreatorVettingContents.

type CreatorVettingCreateFormdataRequestBody

type CreatorVettingCreateFormdataRequestBody = CreatorVettingRequest

CreatorVettingCreateFormdataRequestBody defines body for CreatorVettingCreate for application/x-www-form-urlencoded ContentType.

type CreatorVettingCreateJSONRequestBody

type CreatorVettingCreateJSONRequestBody = CreatorVettingRequest

CreatorVettingCreateJSONRequestBody defines body for CreatorVettingCreate for application/json ContentType.

type CreatorVettingCreateMultipartRequestBody

type CreatorVettingCreateMultipartRequestBody = CreatorVettingRequest

CreatorVettingCreateMultipartRequestBody defines body for CreatorVettingCreate for multipart/form-data ContentType.

type CreatorVettingListParams

type CreatorVettingListParams struct {
	// CreatorId Identifier of a creator, obtained from `creators.list`. When supplied, only vetting analyses tied to that creator are returned. Returns `INVALID_ID` if the value is not a valid creator identifier.
	CreatorId *string `form:"creator_id,omitempty" json:"creator_id,omitempty"`

	// Id Identifier of a vetting. When supplied, only that vetting is returned. Returns `INVALID_ID` if the value is not valid.
	Id *string `form:"id,omitempty" json:"id,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

CreatorVettingListParams defines parameters for CreatorVettingList.

type CreatorVettingRequest

type CreatorVettingRequest struct {
	// ContentScope The creator's content relationships to analyze. Defaults to owned content only when omitted.
	ContentScope *ContentScopeRequest `json:"content_scope,omitempty"`

	// ProfileUrl Direct URL to the creator's profile on a supported platform (`instagram`, `tiktok`, `youtube`).
	ProfileUrl string `json:"profile_url"`

	// ResyncProfile When true, re-indexes the creator even if they already exist in our database.
	ResyncProfile *bool `json:"resync_profile,omitempty"`

	// SafetyChecks Safety criteria for the AI pipeline to evaluate for this creator.
	//
	// Example:
	// “`json
	// [
	//   {
	//     "type": "DISCLOSURE"
	//   }
	// ]
	// “`
	SafetyChecks *[]SafetyCheckRequest `json:"safety_checks,omitempty"`
}

CreatorVettingRequest Request body for “POST /api/v1/creator/vetting/“.

type CreatorVettingResult

type CreatorVettingResult struct {
	// CreatedAt Time the analysis was created (UTC, ISO-8601).
	CreatedAt time.Time `json:"created_at"`

	// Id Identifier of the analysis record.
	Id string `json:"id"`

	// ModifiedAt Time the analysis was most recently modified (UTC, ISO-8601).
	ModifiedAt time.Time `json:"modified_at"`

	// Result Signed, time-limited download of an analysis run's result payload.
	Result *ResultFile `json:"result,omitempty"`

	// Scope The subject this analysis covers: `CONTENT` or `COMMENT`.
	Scope string `json:"scope"`

	// Status Status of the analysis. One of `IN_PROGRESS`, `COMPLETED`, `EMPTY_RESULT` (finished with no matching content), or `FAILED`.
	Status string `json:"status"`

	// VettingId Identifier of the vetting this analysis belongs to.
	VettingId string `json:"vetting_id"`
}

CreatorVettingResult An analysis run together with its downloadable “result“.

Returned by `creator_vetting.results` for the analysis `creator_vetting.list` points to.

type CreatorVettingResultsParams

type CreatorVettingResultsParams struct {
	// Id Identifier of a single analysis. Returns only that analysis. Required unless `vetting_id` is supplied. Returns `INVALID_ID` if malformed.
	Id *string `form:"id,omitempty" json:"id,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`

	// VettingId Identifier of the vetting, obtained from `creator_vetting.list`. Returns every analysis of that vetting. Required unless `id` is supplied. Returns `INVALID_ID` if malformed.
	VettingId *string `form:"vetting_id,omitempty" json:"vetting_id,omitempty"`
}

CreatorVettingResultsParams defines parameters for CreatorVettingResults.

type CreatorVettingRun

type CreatorVettingRun struct {
	// Id Identifier of the analysis record.
	Id string `json:"id"`

	// Scope The subject this analysis covers: `CONTENT` or `COMMENT`.
	Scope string `json:"scope"`

	// Status Status of the analysis. One of `IN_PROGRESS`, `COMPLETED`, `EMPTY_RESULT` (finished with no matching content), or `FAILED`.
	Status string `json:"status"`
}

CreatorVettingRun A lightweight analysis run that belongs to a vetting.

This representation omits the “result“. Retrieve it from `creator_vetting.results` once “status“ is “COMPLETED“.

type CreatorsListParams

type CreatorsListParams struct {
	// Email Creator email (exact match, case-insensitive).
	Email *openapi_types.Email `form:"email,omitempty" json:"email,omitempty"`

	// Id Creator id (from a previous creator response).
	Id *string `form:"id,omitempty" json:"id,omitempty"`

	// OrderBy **Sort direction is inverted:** `order_by=field` sorts descending and `order_by=-field` sorts ascending. Comma-separate to sort by multiple fields.
	OrderBy *[]CreatorsListParamsOrderBy `form:"order_by,omitempty" json:"order_by,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`

	// Platform Platforms to include (comma-separated).
	Platform *[]CreatorsListParamsPlatform `form:"platform,omitempty" json:"platform,omitempty"`

	// Username Creator username substring (case-insensitive).
	Username *string `form:"username,omitempty" json:"username,omitempty"`
}

CreatorsListParams defines parameters for CreatorsList.

type CreatorsListParamsOrderBy

type CreatorsListParamsOrderBy string

CreatorsListParamsOrderBy defines parameters for CreatorsList.

const (
	FollowerCount      CreatorsListParamsOrderBy = "follower_count"
	Id                 CreatorsListParamsOrderBy = "id"
	MinusFollowerCount CreatorsListParamsOrderBy = "-follower_count"
	MinusId            CreatorsListParamsOrderBy = "-id"
)

Defines values for CreatorsListParamsOrderBy.

type CreatorsListParamsPlatform

type CreatorsListParamsPlatform string

CreatorsListParamsPlatform defines parameters for CreatorsList.

const (
	Instagram CreatorsListParamsPlatform = "instagram"
	Tiktok    CreatorsListParamsPlatform = "tiktok"
	Youtube   CreatorsListParamsPlatform = "youtube"
)

Defines values for CreatorsListParamsPlatform.

type Detection

type Detection struct {
	// Context The input this detection was created with.
	Context DetectionContext `json:"context"`

	// CreatedAt Time the detection was created (UTC, ISO-8601).
	CreatedAt time.Time `json:"created_at"`

	// Id Identifier of the detection. Use this value on follow-up calls.
	Id string `json:"id"`

	// Result The placements document a finished detection produces.
	Result DetectionResult `json:"result"`

	// Status Where the detection has got to. One of `SCHEDULED`, `IN_PROGRESS`, `SUCCESS`, `FAILED`.
	Status string `json:"status"`

	// UpdatedAt Time the detection was most recently modified (UTC, ISO-8601).
	UpdatedAt time.Time `json:"updated_at"`
}

Detection One brand placement detection run.

type DetectionBrandHint

type DetectionBrandHint struct {
	// Identifiers 2 to 10 words, logos and product names that count as evidence of this brand, the brand name included, each 2 to 200 characters. For example `['Nike', 'Jordan', 'Air Force 1']`.
	Identifiers []string `json:"identifiers"`

	// Name Display name of the brand, at most 60 characters. Every placement names it verbatim.
	Name string `json:"name"`

	// Negatives Up to 12 look-alikes that must not count, each at most 200 characters, for example `['Jordan (the country)']`.
	Negatives *[]string `json:"negatives,omitempty"`
}

DetectionBrandHint One brand to look for, and what counts as evidence for it.

type DetectionBrandHintRequest

type DetectionBrandHintRequest struct {
	// Identifiers 2 to 10 words, logos and product names that count as evidence of this brand, the brand name included, each 2 to 200 characters. For example `['Nike', 'Jordan', 'Air Force 1']`.
	Identifiers []string `json:"identifiers"`

	// Name Display name of the brand, at most 60 characters. Every placement names it verbatim.
	Name string `json:"name"`

	// Negatives Up to 12 look-alikes that must not count, each at most 200 characters, for example `['Jordan (the country)']`.
	Negatives *[]string `json:"negatives,omitempty"`
}

DetectionBrandHintRequest One brand to look for, and what counts as evidence for it.

type DetectionBrandResult

type DetectionBrandResult struct {
	// BrandName The requested brand, named exactly as it was asked for.
	BrandName string `json:"brand_name"`

	// Found Whether the brand was present at all.
	Found bool `json:"found"`

	// Placements Every placement for this brand, earliest first.
	Placements []DetectionPlacement `json:"placements"`

	// Summary Counts for this brand.
	Summary DetectionBrandSummary `json:"summary"`
}

DetectionBrandResult Everything found for one requested brand.

type DetectionBrandSummary

type DetectionBrandSummary struct {
	// Confirmed Of those, confirmed.
	Confirmed int `json:"confirmed"`

	// Placements Placements for this brand.
	Placements int `json:"placements"`

	// Review Of those, left for review.
	Review int `json:"review"`
}

DetectionBrandSummary Counts for one brand.

type DetectionContext

type DetectionContext struct {
	// ExternalUrl URL of the content being analysed. Read from the content this detection resolved to, falling back to the submitted `content_url` while that content is still being indexed.
	ExternalUrl *string `json:"external_url,omitempty"`

	// Hints The brands to detect and the evidence that counts for each.
	Hints DetectionHints `json:"hints"`
}

DetectionContext The input the detection run was given, as stored.

type DetectionContextInputRequest

type DetectionContextInputRequest struct {
	// Hints The brands to detect and the evidence that counts for each.
	Hints DetectionHintsRequest `json:"hints"`
}

DetectionContextInputRequest What the caller supplies as the detection's input.

type DetectionCreateFormdataRequestBody

type DetectionCreateFormdataRequestBody = DetectionCreateRequest

DetectionCreateFormdataRequestBody defines body for DetectionCreate for application/x-www-form-urlencoded ContentType.

type DetectionCreateJSONRequestBody

type DetectionCreateJSONRequestBody = DetectionCreateRequest

DetectionCreateJSONRequestBody defines body for DetectionCreate for application/json ContentType.

type DetectionCreateMultipartRequestBody

type DetectionCreateMultipartRequestBody = DetectionCreateRequest

DetectionCreateMultipartRequestBody defines body for DetectionCreate for multipart/form-data ContentType.

type DetectionCreateRequest

type DetectionCreateRequest struct {
	// ContentId Identifier of content Zelf already holds, obtained from `content.list`. Supply this or `content_url`, not both.
	ContentId *string `json:"content_id,omitempty"`

	// ContentUrl Direct URL to the post or video to analyse. Content Zelf does not hold yet is indexed first. Supply this or `content_id`, not both.
	ContentUrl *string `json:"content_url,omitempty"`

	// Context The brands to detect and the evidence that counts for each.
	Context DetectionContextInputRequest `json:"context"`
}

DetectionCreateRequest Request body for “POST /api/v1/detection/“.

type DetectionHints

type DetectionHints struct {
	// Brands 1 to 200 brands to detect, in the order the results report them.
	Brands []DetectionBrandHint `json:"brands"`
}

DetectionHints What the detector is asked to look for.

type DetectionHintsRequest

type DetectionHintsRequest struct {
	// Brands 1 to 200 brands to detect, in the order the results report them.
	Brands []DetectionBrandHintRequest `json:"brands"`
}

DetectionHintsRequest What the detector is asked to look for.

type DetectionListParams

type DetectionListParams struct {
	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

DetectionListParams defines parameters for DetectionList.

type DetectionPlacement

type DetectionPlacement struct {
	// Confidence `confirmed`: passed a final check against the video's frames. `review`: detected but did not pass that final frame check. `Audio` placements are always `review`, because a spoken mention has no frames to check; they can be used as they are.
	Confidence string `json:"confidence"`

	// Modality How it was detected. One of `Visual`, `Audio`, `Text`.
	Modality string `json:"modality"`

	// Reasoning Why the observation counts as this brand.
	Reasoning string `json:"reasoning"`

	// Timestamp `mm:ss-mm:ss`, or `mm:ss` for a single moment. Past an hour the minutes keep counting (`69:23-69:25`).
	Timestamp string `json:"timestamp"`

	// VideoUrlAtTimestamp YouTube: opens the video 5 seconds before the placement. `null` on TikTok and Instagram.
	VideoUrlAtTimestamp nullable.Nullable[string] `json:"video_url_at_timestamp"`

	// WhatDetected What was observed, in the detector's own words.
	WhatDetected string `json:"what_detected"`
}

DetectionPlacement One brand present in the content at one moment, with its evidence.

type DetectionResult

type DetectionResult struct {
	// Brands One entry per requested brand, in request order, including the brands that were not found.
	Brands []DetectionBrandResult `json:"brands"`

	// Summary Counts across the whole run.
	Summary DetectionSummary `json:"summary"`

	// Video The content that was analysed.
	Video DetectionVideo `json:"video"`
}

DetectionResult The placements document a finished detection produces.

type DetectionSummary

type DetectionSummary struct {
	// BrandsFound How many of those brands were present.
	BrandsFound int `json:"brands_found"`

	// BrandsRequested How many brands the rubric asked for.
	BrandsRequested int `json:"brands_requested"`

	// Confirmed Placements that passed the final frame check.
	Confirmed int `json:"confirmed"`

	// Placements Total placements reported.
	Placements int `json:"placements"`

	// Review Placements that did not pass the final frame check, including every `Audio` placement.
	Review int `json:"review"`
}

DetectionSummary Counts across the whole run.

type DetectionVideo

type DetectionVideo struct {
	// DurationS Length of the content in seconds.
	DurationS float64 `json:"duration_s"`

	// Platform Platform the content was posted on.
	Platform string `json:"platform"`

	// VideoUrl URL of the analysed content.
	VideoUrl string `json:"video_url"`
}

DetectionVideo The content the placements were found in.

type Error400

type Error400 struct {
	Error struct {
		Code    Error400ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error400 defines model for Error400.

type Error400ErrorCode

type Error400ErrorCode string

Error400ErrorCode defines model for Error400.Error.Code.

const (
	BRANDIDREQUIRED Error400ErrorCode = "BRAND_ID_REQUIRED"
	INVALIDID       Error400ErrorCode = "INVALID_ID"
	VALIDATIONERROR Error400ErrorCode = "VALIDATION_ERROR"
)

Defines values for Error400ErrorCode.

type Error401

type Error401 struct {
	Error struct {
		Code    Error401ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error401 defines model for Error401.

type Error401ErrorCode

type Error401ErrorCode string

Error401ErrorCode defines model for Error401.Error.Code.

const (
	EXPIREDAPIKEY Error401ErrorCode = "EXPIRED_API_KEY"
	INVALIDAPIKEY Error401ErrorCode = "INVALID_API_KEY"
	REVOKEDAPIKEY Error401ErrorCode = "REVOKED_API_KEY"
)

Defines values for Error401ErrorCode.

type Error403

type Error403 struct {
	Error struct {
		Code    Error403ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error403 defines model for Error403.

type Error403ErrorCode

type Error403ErrorCode string

Error403ErrorCode defines model for Error403.Error.Code.

const (
	PERMISSIONDENIED Error403ErrorCode = "PERMISSION_DENIED"
)

Defines values for Error403ErrorCode.

type Error404

type Error404 struct {
	Error struct {
		Code    Error404ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error404 defines model for Error404.

type Error404ErrorCode

type Error404ErrorCode string

Error404ErrorCode defines model for Error404.Error.Code.

const (
	NOTFOUND Error404ErrorCode = "NOT_FOUND"
)

Defines values for Error404ErrorCode.

type Error406

type Error406 struct {
	Error struct {
		Code    Error406ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error406 defines model for Error406.

type Error406ErrorCode

type Error406ErrorCode string

Error406ErrorCode defines model for Error406.Error.Code.

const (
	NOTACCEPTABLE Error406ErrorCode = "NOT_ACCEPTABLE"
)

Defines values for Error406ErrorCode.

type Error429

type Error429 struct {
	Error struct {
		Code    Error429ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error429 defines model for Error429.

type Error429ErrorCode

type Error429ErrorCode string

Error429ErrorCode defines model for Error429.Error.Code.

const (
	RATELIMITEXCEEDED Error429ErrorCode = "RATE_LIMIT_EXCEEDED"
)

Defines values for Error429ErrorCode.

type Error500

type Error500 struct {
	Error struct {
		Code    Error500ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error500 defines model for Error500.

type Error500ErrorCode

type Error500ErrorCode string

Error500ErrorCode defines model for Error500.Error.Code.

const (
	INTERNALERROR Error500ErrorCode = "INTERNAL_ERROR"
)

Defines values for Error500ErrorCode.

type Error503

type Error503 struct {
	Error struct {
		Code    Error503ErrorCode      `json:"code"`
		Details map[string]interface{} `json:"details"`
		Message string                 `json:"message"`
	} `json:"error"`
	LogId     string    `json:"log_id"`
	Timestamp time.Time `json:"timestamp"`
}

Error503 defines model for Error503.

type Error503ErrorCode

type Error503ErrorCode string

Error503ErrorCode defines model for Error503.Error.Code.

const (
	SERVICEUNAVAILABLE Error503ErrorCode = "SERVICE_UNAVAILABLE"
)

Defines values for Error503ErrorCode.

type FollowerAccount added in v1.1.0

type FollowerAccount struct {
	// Followers Follower count for this handle.
	Followers int `json:"followers"`

	// Platform The platform the handle is on.
	Platform string `json:"platform"`

	// Username The handle.
	Username string `json:"username"`
}

FollowerAccount One owned handle and the followers it carries.

type FollowerPeriod added in v1.1.0

type FollowerPeriod struct {
	// Accounts Per handle counts that add up to `followers`.
	Accounts []FollowerAccount `json:"accounts"`

	// EndDate Last day of the period.
	EndDate openapi_types.Date `json:"end_date"`

	// Followers Followers across every owned handle.
	Followers int `json:"followers"`

	// StartDate First day of the period.
	StartDate openapi_types.Date `json:"start_date"`
}

FollowerPeriod Followers at the end of one period.

type FollowerTimeseries added in v1.1.0

type FollowerTimeseries struct {
	// Brand The brand this row covers.
	Brand AnalyticsBrand `json:"brand"`

	// Periods One entry per period, oldest first.
	Periods []FollowerPeriod `json:"periods"`
}

FollowerTimeseries One brand's follower history.

type IntervalHoursEnum

type IntervalHoursEnum int

IntervalHoursEnum defines model for IntervalHoursEnum.

const (
	N12  IntervalHoursEnum = 12
	N168 IntervalHoursEnum = 168
	N24  IntervalHoursEnum = 24
	N720 IntervalHoursEnum = 720
)

Defines values for IntervalHoursEnum.

type KindEnum

type KindEnum string

KindEnum defines model for KindEnum.

const (
	Event    KindEnum = "event"
	Snapshot KindEnum = "snapshot"
)

Defines values for KindEnum.

type LastStatusEnum

type LastStatusEnum string

LastStatusEnum defines model for LastStatusEnum.

const (
	LastStatusEnumFAILED  LastStatusEnum = "FAILED"
	LastStatusEnumSUCCESS LastStatusEnum = "SUCCESS"
)

Defines values for LastStatusEnum.

type MentionTypeEnum

type MentionTypeEnum string

MentionTypeEnum defines model for MentionTypeEnum.

const (
	MentionTypeEnumComment MentionTypeEnum = "comment"
	MentionTypeEnumContent MentionTypeEnum = "content"
)

Defines values for MentionTypeEnum.

type NullEnum

type NullEnum = interface{}

NullEnum defines model for NullEnum.

type PaginatedAiAnalysisList

type PaginatedAiAnalysisList = []AiAnalysis

PaginatedAiAnalysisList Paginated response envelope. `results` holds this page of `AiAnalysis` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedAiAnalysisResultList

type PaginatedAiAnalysisResultList = []AiAnalysisResult

PaginatedAiAnalysisResultList Paginated response envelope. `results` holds this page of `AiAnalysisResult` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedBrandCatalogList

type PaginatedBrandCatalogList = []BrandCatalog

PaginatedBrandCatalogList Paginated response envelope. `results` holds this page of `BrandCatalog` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedBrandList

type PaginatedBrandList = []Brand

PaginatedBrandList Paginated response envelope. `results` holds this page of `Brand` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedCommentList

type PaginatedCommentList = []Comment

PaginatedCommentList Paginated response envelope. `results` holds this page of `Comment` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedContentList

type PaginatedContentList = []Content

PaginatedContentList Paginated response envelope. `results` holds this page of `Content` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedCreatorList

type PaginatedCreatorList = []Creator

PaginatedCreatorList Paginated response envelope. `results` holds this page of `Creator` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedCreatorSyncList

type PaginatedCreatorSyncList = []CreatorSync

PaginatedCreatorSyncList Paginated response envelope. `results` holds this page of `CreatorSync` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedCreatorVettingList

type PaginatedCreatorVettingList = []CreatorVetting

PaginatedCreatorVettingList Paginated response envelope. `results` holds this page of `CreatorVetting` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedCreatorVettingResultList

type PaginatedCreatorVettingResultList = []CreatorVettingResult

PaginatedCreatorVettingResultList Paginated response envelope. `results` holds this page of `CreatorVettingResult` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedDetectionList

type PaginatedDetectionList = []Detection

PaginatedDetectionList Paginated response envelope. `results` holds this page of `Detection` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedWebhookDeliveryList

type PaginatedWebhookDeliveryList = []WebhookDelivery

PaginatedWebhookDeliveryList Paginated response envelope. `results` holds this page of `WebhookDelivery` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedWebhookSecretList

type PaginatedWebhookSecretList = []WebhookSecret

PaginatedWebhookSecretList Paginated response envelope. `results` holds this page of `WebhookSecret` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PaginatedWebhookSubscriptionList

type PaginatedWebhookSubscriptionList = []WebhookSubscription

PaginatedWebhookSubscriptionList Paginated response envelope. `results` holds this page of `WebhookSubscription` objects; the envelope fields (`log_id`, `timestamp`, `item_count`, `page`, `next`, `previous`) are described under Response shape.

type PatchedBrandUpdateRequest

type PatchedBrandUpdateRequest struct {
	// AllowedLanguages ISO 639-1 codes to track, or the single value `all`. An empty array means all languages are tracked. A code outside ISO 639-1 is rejected, because a brand tracking it would match no content.
	AllowedLanguages *[]string `json:"allowed_languages,omitempty"`

	// BooleanQuery Full-text search across the caption, transcript, summary, and hashtags.
	//
	// **Syntax**
	// - Multiple words are combined with AND: `nike running` matches content containing both `nike` and `running`.
	// - `OR` (case-insensitive) matches either side: `nike OR adidas`.
	// - `NOT` (case-insensitive) excludes a term: `running NOT marathon` matches `running` but not `marathon`.
	// - Wrap a phrase in double quotes to match the words in order: `"summer collection"`.
	// - Negate a phrase with `NOT`: `NOT "out of stock"`.
	// - Group with parentheses to combine operators: `(nike OR adidas) running`.
	// - `ONEAR/n` (case-insensitive) matches terms within `n` words of each other, in order: `apple ONEAR/2 watch` matches `apple watch` and `apple smart watch`, but not `watch ... apple`. It binds more tightly than `AND` and `OR`, so `apple ONEAR/2 watch AND cheap` is interpreted as `(apple near watch) AND cheap`.
	//
	// **Examples**
	// - `nike running` - contains both terms.
	// - `nike OR adidas` - contains either brand.
	// - `"summer sale" NOT clearance` - the exact phrase, without `clearance`.
	// - `(running OR cycling) NOT "beginner guide"` - either sport, excluding the phrase.
	// - `apple ONEAR/2 watch` - `apple` within two words before `watch`.
	//
	// Content matching this query is connected to (associated with) this brand.
	BooleanQuery nullable.Nullable[string] `json:"boolean_query,omitempty"`

	// BrandId Brand to update, specified as an `id` from `brands.list`. Omit to update the workspace brand.
	BrandId *string `json:"brand_id,omitempty"`

	// CompoundInclusionTerms Secondary inclusion terms layered on top of `inclusion_terms`.
	CompoundInclusionTerms *[]string `json:"compound_inclusion_terms,omitempty"`

	// ExclusionTerms Terms that disqualify content from matching.
	ExclusionTerms *[]string `json:"exclusion_terms,omitempty"`

	// InclusionTerms Terms that must be present for content to match.
	InclusionTerms *[]string `json:"inclusion_terms,omitempty"`

	// InfluencerTerms Terms that mark matched content as influencer content.
	InfluencerTerms *[]string `json:"influencer_terms,omitempty"`

	// SearchTerms Plain keywords the brand monitors across platforms, matched as-is (case-insensitive, no operators).
	SearchTerms *[]string `json:"search_terms,omitempty"`
}

PatchedBrandUpdateRequest Partial update for a brand's monitoring keywords.

Every field is optional, and only the supplied fields are changed, but at least one field is required.

type PatchedWebhookSubscriptionUpdateRequest

type PatchedWebhookSubscriptionUpdateRequest struct {
	// CustomHeaders Extra HTTP headers sent with each webhook request.
	CustomHeaders interface{} `json:"custom_headers,omitempty"`

	// Enabled Whether this subscription is active and will be dispatched.
	Enabled *bool `json:"enabled,omitempty"`

	// IntervalHours Hours between snapshot deliveries. Allowed values: 12, 24, 168, 720. The first snapshot is sent within minutes of the subscription being saved, not after a full interval has passed.
	IntervalHours *PatchedWebhookSubscriptionUpdateRequest_IntervalHours `json:"interval_hours,omitempty"`

	// MaxItems Maximum number of items per delivery.
	MaxItems nullable.Nullable[int] `json:"max_items,omitempty"`

	// ResourceFilters Filters that scope which resources are delivered.
	ResourceFilters interface{} `json:"resource_filters,omitempty"`

	// Url Destination URL where webhook payloads are sent.
	Url *string `json:"url,omitempty"`
}

PatchedWebhookSubscriptionUpdateRequest defines model for PatchedWebhookSubscriptionUpdateRequest.

type PatchedWebhookSubscriptionUpdateRequest_IntervalHours

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

PatchedWebhookSubscriptionUpdateRequest_IntervalHours Hours between snapshot deliveries. Allowed values: 12, 24, 168, 720. The first snapshot is sent within minutes of the subscription being saved, not after a full interval has passed.

func (PatchedWebhookSubscriptionUpdateRequest_IntervalHours) AsIntervalHoursEnum

AsIntervalHoursEnum returns the union data inside the PatchedWebhookSubscriptionUpdateRequest_IntervalHours as a IntervalHoursEnum

func (PatchedWebhookSubscriptionUpdateRequest_IntervalHours) AsNullEnum

AsNullEnum returns the union data inside the PatchedWebhookSubscriptionUpdateRequest_IntervalHours as a NullEnum

func (*PatchedWebhookSubscriptionUpdateRequest_IntervalHours) FromIntervalHoursEnum

FromIntervalHoursEnum overwrites any union data inside the PatchedWebhookSubscriptionUpdateRequest_IntervalHours as the provided IntervalHoursEnum

func (*PatchedWebhookSubscriptionUpdateRequest_IntervalHours) FromNullEnum

FromNullEnum overwrites any union data inside the PatchedWebhookSubscriptionUpdateRequest_IntervalHours as the provided NullEnum

func (PatchedWebhookSubscriptionUpdateRequest_IntervalHours) MarshalJSON

func (*PatchedWebhookSubscriptionUpdateRequest_IntervalHours) MergeIntervalHoursEnum

MergeIntervalHoursEnum performs a merge with any union data inside the PatchedWebhookSubscriptionUpdateRequest_IntervalHours, using the provided IntervalHoursEnum

func (*PatchedWebhookSubscriptionUpdateRequest_IntervalHours) MergeNullEnum

MergeNullEnum performs a merge with any union data inside the PatchedWebhookSubscriptionUpdateRequest_IntervalHours, using the provided NullEnum

func (*PatchedWebhookSubscriptionUpdateRequest_IntervalHours) UnmarshalJSON

type PlatformEnum

type PlatformEnum string

PlatformEnum defines model for PlatformEnum.

const (
	PlatformEnumInstagram PlatformEnum = "instagram"
	PlatformEnumTiktok    PlatformEnum = "tiktok"
	PlatformEnumYoutube   PlatformEnum = "youtube"
)

Defines values for PlatformEnum.

type PostedCommentCategory added in v1.1.0

type PostedCommentCategory struct {
	// Category `brand`, `owned`, `competitors`, `themes` or `other`. `other` covers content outside the brand's own tree.
	Category string `json:"category"`

	// Comments Comments posted on this category.
	Comments int `json:"comments"`

	// Likes Likes those comments received.
	Likes int `json:"likes"`

	// Replies Replies those comments received.
	Replies int `json:"replies"`
}

PostedCommentCategory Comments the brand posted on one category of content.

type PostedComments added in v1.1.0

type PostedComments struct {
	// Categories One entry per category. They add up to `total_comments_posted`.
	Categories []PostedCommentCategory `json:"categories"`

	// TotalCommentsPosted Comments the brand posted in the window, across every category.
	TotalCommentsPosted int `json:"total_comments_posted"`
}

PostedComments Comments the brand posted, split by the content they were posted on.

type ResourceEnum

type ResourceEnum string

ResourceEnum defines model for ResourceEnum.

const (
	ResourceEnumContent ResourceEnum = "content"
	ResourceEnumCreator ResourceEnum = "creator"
)

Defines values for ResourceEnum.

type ResultFile

type ResultFile struct {
	// DownloadUrl Signed URL to request the JSON payload. Expires at `expires_at`.
	DownloadUrl string `json:"download_url"`

	// ExpiresAt Unix epoch seconds after which `download_url` expires. Re-fetch the run to obtain a fresh URL.
	ExpiresAt int `json:"expires_at"`

	// Format Payload encoding. Always `json`.
	Format string `json:"format"`
}

ResultFile Signed, time-limited download of an analysis run's result payload.

type SafetyCheckRequest

type SafetyCheckRequest struct {
	// Extra Label for `USER_DEFINED_SAFETY_CRITERION`, stored as the criterion's `value`. Ignored for predefined types.
	Extra nullable.Nullable[string] `json:"extra,omitempty"`

	// Type Category of the safety criterion. One of `USER_DEFINED_SAFETY_CRITERION`, `ADULT_CONTENT`, `ARMS_AND_AMMUNITION`, `MISINFORMATION`, `PROFANITY`, `POLITICS`, `DISCLOSURE`.
	//
	// `DISCLOSURE` looks for explicit sponsorship disclosures (for example `#ad`, a paid partnership, an affiliate commission or a gifted product) in each video's on-screen text, speech transcription, title and caption. It is not scored as a violation: findings are listed per video under `insight_json.disclosures` in the result payload.
	Type TypeEnum `json:"type"`
}

SafetyCheckRequest A single safety criterion the AI pipeline evaluates against the creator.

Only “type“ is required. The “extra“ field supplies the label for the “USER_DEFINED_SAFETY_CRITERION“ type and is ignored for the predefined types.

type SecretTypeEnum

type SecretTypeEnum string

SecretTypeEnum defines model for SecretTypeEnum.

const (
	Default SecretTypeEnum = "default"
	New     SecretTypeEnum = "new"
)

Defines values for SecretTypeEnum.

type StateEnum

type StateEnum string

StateEnum defines model for StateEnum.

const (
	StateEnumEXHAUSTED      StateEnum = "EXHAUSTED"
	StateEnumFAILED         StateEnum = "FAILED"
	StateEnumPENDING        StateEnum = "PENDING"
	StateEnumQUOTAEXHAUSTED StateEnum = "QUOTA_EXHAUSTED"
	StateEnumSUCCEEDED      StateEnum = "SUCCEEDED"
)

Defines values for StateEnum.

type SubBrandTypeEnum

type SubBrandTypeEnum string

SubBrandTypeEnum defines model for SubBrandTypeEnum.

const (
	COMPETITIVE SubBrandTypeEnum = "COMPETITIVE"
	THEME       SubBrandTypeEnum = "THEME"
)

Defines values for SubBrandTypeEnum.

type SubBrandsCreateFormdataRequestBody

type SubBrandsCreateFormdataRequestBody = BrandCreateSubBrandRequest

SubBrandsCreateFormdataRequestBody defines body for SubBrandsCreate for application/x-www-form-urlencoded ContentType.

type SubBrandsCreateJSONRequestBody

type SubBrandsCreateJSONRequestBody = BrandCreateSubBrandRequest

SubBrandsCreateJSONRequestBody defines body for SubBrandsCreate for application/json ContentType.

type SubBrandsCreateMultipartRequestBody

type SubBrandsCreateMultipartRequestBody = BrandCreateSubBrandRequest

SubBrandsCreateMultipartRequestBody defines body for SubBrandsCreate for multipart/form-data ContentType.

type TypeEnum

type TypeEnum string

TypeEnum defines model for TypeEnum.

const (
	ADULTCONTENT               TypeEnum = "ADULT_CONTENT"
	ARMSANDAMMUNITION          TypeEnum = "ARMS_AND_AMMUNITION"
	DISCLOSURE                 TypeEnum = "DISCLOSURE"
	MISINFORMATION             TypeEnum = "MISINFORMATION"
	POLITICS                   TypeEnum = "POLITICS"
	PROFANITY                  TypeEnum = "PROFANITY"
	USERDEFINEDSAFETYCRITERION TypeEnum = "USER_DEFINED_SAFETY_CRITERION"
)

Defines values for TypeEnum.

type Usage

type Usage struct {
	// AuthenticatedAs “api_key“ or “mcp“, whichever made this call. It decides which groups your calls are counted against.
	AuthenticatedAs string `json:"authenticated_as"`

	// BrandId Brand these figures belong to.
	BrandId string `json:"brand_id"`

	// History What was actually spent, day by day, from the usage ledger.
	History UsageHistory `json:"history"`

	// Scopes One entry per metered group. Both sections are returned whichever way you call.
	Scopes []UsageScope `json:"scopes"`
}

Usage Live consumption for the brand behind the current credentials.

type UsageDay added in v1.1.0

type UsageDay struct {
	// AiAnalysis Calls counted against the AI analysis group.
	AiAnalysis int `json:"ai_analysis"`

	// CreatorVetting Calls counted against creator vetting.
	CreatorVetting int `json:"creator_vetting"`

	// DataRecords Calls counted against data records.
	DataRecords int `json:"data_records"`

	// DataRecordsItems Records those calls returned.
	DataRecordsItems int `json:"data_records_items"`

	// Date The day, in the brand's billing timezone.
	Date openapi_types.Date `json:"date"`

	// General Every counted call that day.
	General int `json:"general"`

	// Source “api“ for direct requests, “mcp“ for AI clients.
	Source string `json:"source"`
}

UsageDay One day of consumption for one source.

type UsageHistory added in v1.1.0

type UsageHistory struct {
	// Days One entry per day and source that saw usage, oldest first.
	Days []UsageDay `json:"days"`

	// EndDate Last day covered.
	EndDate openapi_types.Date `json:"end_date"`

	// StartDate First day covered.
	StartDate openapi_types.Date `json:"start_date"`
}

UsageHistory Daily consumption over the window the ledger keeps.

type UsageScope

type UsageScope struct {
	// HumanName Name of the group, as an admin sees it.
	HumanName string `json:"human_name"`

	// Kind “request“ counts calls; “item“ counts rows returned.
	Kind string `json:"kind"`

	// Scope Identifier of the metered group.
	Scope string `json:"scope"`

	// Section Which product the group meters: “api“ for direct requests, “mcp“ for AI clients. The two never share a counter.
	Section string `json:"section"`

	// Windows Every window that has a limit configured.
	Windows []UsageWindow `json:"windows"`
}

UsageScope One metered group, with every window that has a limit.

type UsageWindow

type UsageWindow struct {
	// Limit Most that may be spent in this window.
	Limit int `json:"limit"`

	// Remaining Still available in this window.
	Remaining int `json:"remaining"`

	// ResetIn Seconds until the window resets. The window starts on its first request rather than on the clock, so this is what is left of it.
	ResetIn int `json:"reset_in"`

	// Used Spent so far in this window.
	Used int `json:"used"`

	// Window Which window this is: rps, rpm, rph, rpd, rpmonth, or an item window.
	Window string `json:"window"`
}

UsageWindow Consumption of one window, e.g. requests in the current hour.

type WebhookAvailableEvent

type WebhookAvailableEvent struct {
	// Description What triggers the event and what the payload holds.
	Description string `json:"description"`

	// Event Event type identifier, e.g. creator_vetting.completed.
	Event string `json:"event"`

	// Group Human-readable grouping label.
	Group string `json:"group"`
}

WebhookAvailableEvent An event type a subscription may ask for.

type WebhookData

type WebhookData struct {
	// Files Manifest mode only. The downloadable snapshot files; retrieve each `download_url` and stream the NDJSON rows. Absent in `inline` mode.
	Files *[]WebhookFile `json:"files,omitempty"`

	// ItemCount Total number of rows in this delivery, summed across `files` or equal to the length of `items`.
	ItemCount int `json:"item_count"`

	// Items Inline mode only. The delivered rows themselves, in the same shape returned by the matching REST endpoint. Absent in `manifest` mode.
	Items *[]interface{} `json:"items,omitempty"`

	// Statistics Aggregate totals over the snapshot, including post count, views, engagement, earned media value, and unique creators. Present only on `content.snapshot`; absent for creator and event pushes.
	Statistics interface{} `json:"statistics,omitempty"`
}

WebhookData The carried content of a push. The populated key depends on `delivery_mode`.

`manifest` deliveries populate `files` (downloadable snapshot files) and, for the content resource, `statistics`. `inline` deliveries populate `items` (the rows directly). The unused key is omitted.

type WebhookDeleteAcknowledgement

type WebhookDeleteAcknowledgement struct {
	// Acknowledged Always true; confirms the webhook resource delete was acknowledged.
	Acknowledged bool `json:"acknowledged"`

	// Action Action that was performed. Always 'delete'.
	Action string `json:"action"`

	// Status Completion status of the action. Always 'complete'.
	Status string `json:"status"`
}

WebhookDeleteAcknowledgement Confirmation that a webhook resource was deleted.

type WebhookDelivery

type WebhookDelivery struct {
	// AttemptCount Number of delivery attempts made so far.
	AttemptCount int `json:"attempt_count"`

	// Created Timestamp set once when the row is first created.
	Created time.Time `json:"created"`

	// FinishedAt When the delivery finished (succeeded or exhausted).
	FinishedAt nullable.Nullable[time.Time] `json:"finished_at"`

	// Id Encoded identifier of the webhook delivery.
	Id string `json:"id"`

	// ItemCount Number of items included in the delivered payload.
	ItemCount nullable.Nullable[int] `json:"item_count"`

	// LastError Error message from the most recent failed attempt.
	LastError string `json:"last_error"`

	// LastStatusCode HTTP status code returned by the most recent attempt.
	LastStatusCode nullable.Nullable[int] `json:"last_status_code"`

	// Modified Timestamp updated automatically on every save.
	Modified time.Time `json:"modified"`

	// ResponseExcerpt Excerpt of the response body returned by the endpoint.
	ResponseExcerpt string `json:"response_excerpt"`

	// ScheduledAt When this delivery is scheduled to be sent.
	ScheduledAt time.Time `json:"scheduled_at"`

	// Sha256 SHA-256 checksum of the delivered payload.
	Sha256 string `json:"sha256"`

	// SizeBytes Size of the delivered payload in bytes.
	SizeBytes nullable.Nullable[int] `json:"size_bytes"`

	// State Current state of the delivery.
	State StateEnum `json:"state"`

	// Subscription Encoded identifier of the parent subscription.
	Subscription string `json:"subscription"`
}

WebhookDelivery One attempt to deliver one push, with its outcome.

type WebhookFile

type WebhookFile struct {
	// DownloadUrl Signed, time-limited URL from which to retrieve the file. Expires at `expires_at`.
	DownloadUrl string `json:"download_url"`

	// ExpiresAt Unix epoch seconds after which `download_url` stops working. Fetch the file before this time.
	ExpiresAt int `json:"expires_at"`

	// Format File encoding. Always `ndjson` (newline-delimited JSON, with one row per line).
	Format string `json:"format"`

	// ItemCount Number of rows in this file.
	ItemCount int `json:"item_count"`

	// Sha256 Hex SHA-256 of the file body. Use it to verify the download.
	Sha256 string `json:"sha256"`

	// SizeBytes Size of the file in bytes.
	SizeBytes int `json:"size_bytes"`
}

WebhookFile One downloadable snapshot file in a manifest push.

`files` is an array, so read every entry rather than assuming one.

type WebhookPush

type WebhookPush struct {
	// Data The push payload. See `delivery_mode` for which key inside is populated.
	Data WebhookData `json:"data"`

	// DeliveredAt Unix epoch seconds at which ZelfAI sent this push.
	DeliveredAt int `json:"delivered_at"`

	// DeliveryMode `manifest`: `data.files` holds downloadable snapshot files. `inline`: `data.items` holds the rows directly.
	DeliveryMode WebhookPushDeliveryMode `json:"delivery_mode"`

	// Id Unique id of this delivery attempt, stable across retries of the same push.
	Id string `json:"id"`

	// Livemode `true` for production data; `false` for test deliveries.
	Livemode bool `json:"livemode"`

	// Resource Resource the push covers (`content` or `creator`) for snapshots; `null` for event pushes.
	Resource nullable.Nullable[string] `json:"resource,omitempty"`

	// ResourceFilters The subscription's stored filters that scoped this snapshot, using the same query params as the matching list operation (`content.list` or `creators.list`). Empty for event pushes.
	ResourceFilters interface{} `json:"resource_filters"`

	// SubscriptionId Id of the subscription that produced this push.
	SubscriptionId string `json:"subscription_id"`

	// Type Event type. `<resource>.snapshot` for scheduled snapshots (`content.snapshot`, `creator.snapshot`), or the event name for event pushes (`creator_vetting.completed`).
	Type string `json:"type"`
}

WebhookPush The outer payload ZelfAI POSTs to receivers, uniform across all pushes.

Top-level fields are delivery metadata and remain identical across modes. `data` carries the content; which key inside it is populated (`files` or `items`) is determined by `delivery_mode`. `manifest` deliveries use `data.files`, while `inline` event pushes use `data.items`.

type WebhookPushDeliveryMode

type WebhookPushDeliveryMode string

WebhookPushDeliveryMode `manifest`: `data.files` holds downloadable snapshot files. `inline`: `data.items` holds the rows directly.

const (
	Inline   WebhookPushDeliveryMode = "inline"
	Manifest WebhookPushDeliveryMode = "manifest"
)

Defines values for WebhookPushDeliveryMode.

type WebhookSecret

type WebhookSecret struct {
	// Created Timestamp set once when the row is first created.
	Created time.Time `json:"created"`

	// Id Encoded identifier of the webhook secret.
	Id string `json:"id"`

	// IsActive Whether this secret is currently active.
	IsActive bool `json:"is_active"`

	// IsDefault Whether this is the default secret for the brand and kind.
	IsDefault bool `json:"is_default"`

	// Kind Type of webhook this secret applies to.
	Kind KindEnum `json:"kind"`

	// Modified Timestamp updated automatically on every save.
	Modified time.Time `json:"modified"`

	// SecretPrefix Non-sensitive prefix of the secret, shown for identification.
	SecretPrefix string `json:"secret_prefix"`
}

WebhookSecret A signing secret, identified by its prefix rather than its value.

type WebhookSecretCreateRequest

type WebhookSecretCreateRequest struct {
	// Kind Whether the secret is for snapshot or event webhooks.
	Kind *KindEnum `json:"kind,omitempty"`

	// MakeDefault Set this secret as the default for its kind.
	MakeDefault *bool `json:"make_default,omitempty"`
}

WebhookSecretCreateRequest defines model for WebhookSecretCreateRequest.

type WebhookSecretCreated

type WebhookSecretCreated struct {
	// Created Timestamp set once when the row is first created.
	Created time.Time `json:"created"`

	// Id Encoded identifier of the webhook secret.
	Id string `json:"id"`

	// IsActive Whether this secret is currently active.
	IsActive bool `json:"is_active"`

	// IsDefault Whether this is the default secret for the brand and kind.
	IsDefault bool `json:"is_default"`

	// Kind Type of webhook this secret applies to.
	Kind KindEnum `json:"kind"`

	// Modified Timestamp updated automatically on every save.
	Modified time.Time `json:"modified"`

	// Secret Full signing secret, returned only once on creation.
	Secret string `json:"secret"`

	// SecretPrefix Non-sensitive prefix of the secret, shown for identification.
	SecretPrefix string `json:"secret_prefix"`
}

WebhookSecretCreated A secret just created or rotated, carrying the value once.

Store it now: later reads return the prefix alone.

type WebhookSubscription

type WebhookSubscription struct {
	// Created Timestamp set once when the row is first created.
	Created time.Time `json:"created"`

	// CustomHeaders Custom HTTP headers to include with each delivery.
	CustomHeaders interface{} `json:"custom_headers"`

	// Enabled Whether this subscription is active and will be dispatched.
	Enabled bool `json:"enabled"`

	// EventTypes Event types the subscription listens for.
	EventTypes []string `json:"event_types"`

	// Id Encoded identifier of the webhook subscription.
	Id string `json:"id"`

	// IntervalHours Hours between snapshot deliveries.
	IntervalHours nullable.Nullable[int] `json:"interval_hours"`

	// Kind Type of webhook this subscription delivers.
	Kind KindEnum `json:"kind"`

	// LastRunAt When this subscription last dispatched a delivery.
	LastRunAt nullable.Nullable[time.Time] `json:"last_run_at"`

	// LastStatus Outcome status of the most recent delivery. Empty until the subscription has dispatched for the first time.
	LastStatus WebhookSubscription_LastStatus `json:"last_status"`

	// MaxItems Max rows a real snapshot delivers. Null or 0 falls back to the default item limit.
	MaxItems nullable.Nullable[int] `json:"max_items"`

	// Modified Timestamp updated automatically on every save.
	Modified time.Time `json:"modified"`

	// Resource Resource type the subscription is for (content or creator).
	Resource WebhookSubscription_Resource `json:"resource"`

	// ResourceFilters Filters applied to select which resources are delivered.
	ResourceFilters interface{} `json:"resource_filters"`

	// SecretPrefix Public prefix of the subscription signing secret.
	SecretPrefix string `json:"secret_prefix"`

	// Url Destination URL where webhook payloads are sent.
	Url string `json:"url"`
}

WebhookSubscription A registered endpoint and the events it receives.

type WebhookSubscriptionCreateRequest

type WebhookSubscriptionCreateRequest struct {
	// CustomHeaders Extra HTTP headers sent with each webhook request.
	CustomHeaders interface{} `json:"custom_headers,omitempty"`

	// EventTypes Event names the subscription listens for.
	EventTypes *[]string `json:"event_types,omitempty"`

	// IntervalHours Hours between snapshot deliveries. Allowed values: 12, 24, 168, 720. The first snapshot is sent within minutes of the subscription being saved, not after a full interval has passed.
	IntervalHours *WebhookSubscriptionCreateRequest_IntervalHours `json:"interval_hours,omitempty"`

	// Kind Whether the subscription is snapshot or event based.
	Kind *KindEnum `json:"kind,omitempty"`

	// MaxItems Maximum number of items per delivery.
	MaxItems nullable.Nullable[int] `json:"max_items,omitempty"`

	// Resource Resource type for snapshot subscriptions.
	Resource *WebhookSubscriptionCreateRequest_Resource `json:"resource,omitempty"`

	// ResourceFilters Filters that scope which resources are delivered.
	ResourceFilters interface{} `json:"resource_filters,omitempty"`

	// SecretType Type of signing secret to attach to the subscription.
	SecretType *SecretTypeEnum `json:"secret_type,omitempty"`

	// Url Destination URL where webhook payloads are sent.
	Url string `json:"url"`
}

WebhookSubscriptionCreateRequest defines model for WebhookSubscriptionCreateRequest.

type WebhookSubscriptionCreateRequest_IntervalHours

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

WebhookSubscriptionCreateRequest_IntervalHours Hours between snapshot deliveries. Allowed values: 12, 24, 168, 720. The first snapshot is sent within minutes of the subscription being saved, not after a full interval has passed.

func (WebhookSubscriptionCreateRequest_IntervalHours) AsIntervalHoursEnum

AsIntervalHoursEnum returns the union data inside the WebhookSubscriptionCreateRequest_IntervalHours as a IntervalHoursEnum

func (WebhookSubscriptionCreateRequest_IntervalHours) AsNullEnum

AsNullEnum returns the union data inside the WebhookSubscriptionCreateRequest_IntervalHours as a NullEnum

func (*WebhookSubscriptionCreateRequest_IntervalHours) FromIntervalHoursEnum

FromIntervalHoursEnum overwrites any union data inside the WebhookSubscriptionCreateRequest_IntervalHours as the provided IntervalHoursEnum

func (*WebhookSubscriptionCreateRequest_IntervalHours) FromNullEnum

FromNullEnum overwrites any union data inside the WebhookSubscriptionCreateRequest_IntervalHours as the provided NullEnum

func (WebhookSubscriptionCreateRequest_IntervalHours) MarshalJSON

func (*WebhookSubscriptionCreateRequest_IntervalHours) MergeIntervalHoursEnum

MergeIntervalHoursEnum performs a merge with any union data inside the WebhookSubscriptionCreateRequest_IntervalHours, using the provided IntervalHoursEnum

func (*WebhookSubscriptionCreateRequest_IntervalHours) MergeNullEnum

MergeNullEnum performs a merge with any union data inside the WebhookSubscriptionCreateRequest_IntervalHours, using the provided NullEnum

func (*WebhookSubscriptionCreateRequest_IntervalHours) UnmarshalJSON

type WebhookSubscriptionCreateRequest_Resource

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

WebhookSubscriptionCreateRequest_Resource Resource type for snapshot subscriptions.

func (WebhookSubscriptionCreateRequest_Resource) AsNullEnum

AsNullEnum returns the union data inside the WebhookSubscriptionCreateRequest_Resource as a NullEnum

func (WebhookSubscriptionCreateRequest_Resource) AsResourceEnum

AsResourceEnum returns the union data inside the WebhookSubscriptionCreateRequest_Resource as a ResourceEnum

func (*WebhookSubscriptionCreateRequest_Resource) FromNullEnum

FromNullEnum overwrites any union data inside the WebhookSubscriptionCreateRequest_Resource as the provided NullEnum

func (*WebhookSubscriptionCreateRequest_Resource) FromResourceEnum

FromResourceEnum overwrites any union data inside the WebhookSubscriptionCreateRequest_Resource as the provided ResourceEnum

func (WebhookSubscriptionCreateRequest_Resource) MarshalJSON

func (*WebhookSubscriptionCreateRequest_Resource) MergeNullEnum

MergeNullEnum performs a merge with any union data inside the WebhookSubscriptionCreateRequest_Resource, using the provided NullEnum

func (*WebhookSubscriptionCreateRequest_Resource) MergeResourceEnum

MergeResourceEnum performs a merge with any union data inside the WebhookSubscriptionCreateRequest_Resource, using the provided ResourceEnum

func (*WebhookSubscriptionCreateRequest_Resource) UnmarshalJSON

type WebhookSubscriptionCreated

type WebhookSubscriptionCreated struct {
	// Created Timestamp set once when the row is first created.
	Created time.Time `json:"created"`

	// CustomHeaders Custom HTTP headers to include with each delivery.
	CustomHeaders interface{} `json:"custom_headers"`

	// Enabled Whether this subscription is active and will be dispatched.
	Enabled bool `json:"enabled"`

	// EventTypes Event types the subscription listens for.
	EventTypes []string `json:"event_types"`

	// Id Encoded identifier of the webhook subscription.
	Id string `json:"id"`

	// IntervalHours Hours between snapshot deliveries.
	IntervalHours nullable.Nullable[int] `json:"interval_hours"`

	// Kind Type of webhook this subscription delivers.
	Kind KindEnum `json:"kind"`

	// MaxItems Max rows a real snapshot delivers. Null or 0 falls back to the default item limit.
	MaxItems nullable.Nullable[int] `json:"max_items"`

	// Resource Resource type the subscription is for (content or creator).
	Resource WebhookSubscriptionCreated_Resource `json:"resource"`

	// ResourceFilters Filters applied to select which resources are delivered.
	ResourceFilters interface{} `json:"resource_filters"`

	// Secret Full signing secret, returned only once, at the moment it is minted. Null when the subscription reuses the brand's existing default secret, since that value is never shown twice.
	Secret nullable.Nullable[string] `json:"secret"`

	// SecretPrefix Public prefix of the subscription signing secret.
	SecretPrefix string `json:"secret_prefix"`

	// Url Destination URL where webhook payloads are sent.
	Url string `json:"url"`
}

WebhookSubscriptionCreated A subscription just created, with the signing secret attached.

The secret is shown on this response only and never again.

type WebhookSubscriptionCreated_Resource

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

WebhookSubscriptionCreated_Resource Resource type the subscription is for (content or creator).

func (WebhookSubscriptionCreated_Resource) AsNullEnum

AsNullEnum returns the union data inside the WebhookSubscriptionCreated_Resource as a NullEnum

func (WebhookSubscriptionCreated_Resource) AsResourceEnum

AsResourceEnum returns the union data inside the WebhookSubscriptionCreated_Resource as a ResourceEnum

func (*WebhookSubscriptionCreated_Resource) FromNullEnum

FromNullEnum overwrites any union data inside the WebhookSubscriptionCreated_Resource as the provided NullEnum

func (*WebhookSubscriptionCreated_Resource) FromResourceEnum

FromResourceEnum overwrites any union data inside the WebhookSubscriptionCreated_Resource as the provided ResourceEnum

func (WebhookSubscriptionCreated_Resource) MarshalJSON

func (t WebhookSubscriptionCreated_Resource) MarshalJSON() ([]byte, error)

func (*WebhookSubscriptionCreated_Resource) MergeNullEnum

MergeNullEnum performs a merge with any union data inside the WebhookSubscriptionCreated_Resource, using the provided NullEnum

func (*WebhookSubscriptionCreated_Resource) MergeResourceEnum

func (t *WebhookSubscriptionCreated_Resource) MergeResourceEnum(v ResourceEnum) error

MergeResourceEnum performs a merge with any union data inside the WebhookSubscriptionCreated_Resource, using the provided ResourceEnum

func (*WebhookSubscriptionCreated_Resource) UnmarshalJSON

func (t *WebhookSubscriptionCreated_Resource) UnmarshalJSON(b []byte) error

type WebhookSubscription_LastStatus

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

WebhookSubscription_LastStatus Outcome status of the most recent delivery. Empty until the subscription has dispatched for the first time.

func (WebhookSubscription_LastStatus) AsBlankEnum

func (t WebhookSubscription_LastStatus) AsBlankEnum() (BlankEnum, error)

AsBlankEnum returns the union data inside the WebhookSubscription_LastStatus as a BlankEnum

func (WebhookSubscription_LastStatus) AsLastStatusEnum

func (t WebhookSubscription_LastStatus) AsLastStatusEnum() (LastStatusEnum, error)

AsLastStatusEnum returns the union data inside the WebhookSubscription_LastStatus as a LastStatusEnum

func (*WebhookSubscription_LastStatus) FromBlankEnum

func (t *WebhookSubscription_LastStatus) FromBlankEnum(v BlankEnum) error

FromBlankEnum overwrites any union data inside the WebhookSubscription_LastStatus as the provided BlankEnum

func (*WebhookSubscription_LastStatus) FromLastStatusEnum

func (t *WebhookSubscription_LastStatus) FromLastStatusEnum(v LastStatusEnum) error

FromLastStatusEnum overwrites any union data inside the WebhookSubscription_LastStatus as the provided LastStatusEnum

func (WebhookSubscription_LastStatus) MarshalJSON

func (t WebhookSubscription_LastStatus) MarshalJSON() ([]byte, error)

func (*WebhookSubscription_LastStatus) MergeBlankEnum

func (t *WebhookSubscription_LastStatus) MergeBlankEnum(v BlankEnum) error

MergeBlankEnum performs a merge with any union data inside the WebhookSubscription_LastStatus, using the provided BlankEnum

func (*WebhookSubscription_LastStatus) MergeLastStatusEnum

func (t *WebhookSubscription_LastStatus) MergeLastStatusEnum(v LastStatusEnum) error

MergeLastStatusEnum performs a merge with any union data inside the WebhookSubscription_LastStatus, using the provided LastStatusEnum

func (*WebhookSubscription_LastStatus) UnmarshalJSON

func (t *WebhookSubscription_LastStatus) UnmarshalJSON(b []byte) error

type WebhookSubscription_Resource

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

WebhookSubscription_Resource Resource type the subscription is for (content or creator).

func (WebhookSubscription_Resource) AsNullEnum

func (t WebhookSubscription_Resource) AsNullEnum() (NullEnum, error)

AsNullEnum returns the union data inside the WebhookSubscription_Resource as a NullEnum

func (WebhookSubscription_Resource) AsResourceEnum

func (t WebhookSubscription_Resource) AsResourceEnum() (ResourceEnum, error)

AsResourceEnum returns the union data inside the WebhookSubscription_Resource as a ResourceEnum

func (*WebhookSubscription_Resource) FromNullEnum

func (t *WebhookSubscription_Resource) FromNullEnum(v NullEnum) error

FromNullEnum overwrites any union data inside the WebhookSubscription_Resource as the provided NullEnum

func (*WebhookSubscription_Resource) FromResourceEnum

func (t *WebhookSubscription_Resource) FromResourceEnum(v ResourceEnum) error

FromResourceEnum overwrites any union data inside the WebhookSubscription_Resource as the provided ResourceEnum

func (WebhookSubscription_Resource) MarshalJSON

func (t WebhookSubscription_Resource) MarshalJSON() ([]byte, error)

func (*WebhookSubscription_Resource) MergeNullEnum

func (t *WebhookSubscription_Resource) MergeNullEnum(v NullEnum) error

MergeNullEnum performs a merge with any union data inside the WebhookSubscription_Resource, using the provided NullEnum

func (*WebhookSubscription_Resource) MergeResourceEnum

func (t *WebhookSubscription_Resource) MergeResourceEnum(v ResourceEnum) error

MergeResourceEnum performs a merge with any union data inside the WebhookSubscription_Resource, using the provided ResourceEnum

func (*WebhookSubscription_Resource) UnmarshalJSON

func (t *WebhookSubscription_Resource) UnmarshalJSON(b []byte) error

type WebhooksCreateSecretFormdataRequestBody added in v1.1.0

type WebhooksCreateSecretFormdataRequestBody = WebhookSecretCreateRequest

WebhooksCreateSecretFormdataRequestBody defines body for WebhooksCreateSecret for application/x-www-form-urlencoded ContentType.

type WebhooksCreateSecretJSONRequestBody added in v1.1.0

type WebhooksCreateSecretJSONRequestBody = WebhookSecretCreateRequest

WebhooksCreateSecretJSONRequestBody defines body for WebhooksCreateSecret for application/json ContentType.

type WebhooksCreateSecretMultipartRequestBody added in v1.1.0

type WebhooksCreateSecretMultipartRequestBody = WebhookSecretCreateRequest

WebhooksCreateSecretMultipartRequestBody defines body for WebhooksCreateSecret for multipart/form-data ContentType.

type WebhooksCreateSubscriptionFormdataRequestBody added in v1.1.0

type WebhooksCreateSubscriptionFormdataRequestBody = WebhookSubscriptionCreateRequest

WebhooksCreateSubscriptionFormdataRequestBody defines body for WebhooksCreateSubscription for application/x-www-form-urlencoded ContentType.

type WebhooksCreateSubscriptionJSONRequestBody added in v1.1.0

type WebhooksCreateSubscriptionJSONRequestBody = WebhookSubscriptionCreateRequest

WebhooksCreateSubscriptionJSONRequestBody defines body for WebhooksCreateSubscription for application/json ContentType.

type WebhooksCreateSubscriptionMultipartRequestBody added in v1.1.0

type WebhooksCreateSubscriptionMultipartRequestBody = WebhookSubscriptionCreateRequest

WebhooksCreateSubscriptionMultipartRequestBody defines body for WebhooksCreateSubscription for multipart/form-data ContentType.

type WebhooksListDeliveriesParams added in v1.1.0

type WebhooksListDeliveriesParams struct {
	// Created Delivery creation time (ISO 8601).
	Created *time.Time `form:"created,omitempty" json:"created,omitempty"`

	// CreatedAfter Delivery creation time (ISO 8601). (Inclusive Lower Bound)
	CreatedAfter *time.Time `form:"created_after,omitempty" json:"created_after,omitempty"`

	// CreatedBefore Delivery creation time (ISO 8601). (Inclusive Upper Bound)
	CreatedBefore *time.Time `form:"created_before,omitempty" json:"created_before,omitempty"`

	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int                                  `form:"page_size,omitempty" json:"page_size,omitempty"`
	SortBy   *[]WebhooksListDeliveriesParamsSortBy `form:"sort_by,omitempty" json:"sort_by,omitempty"`

	// State Current delivery state.
	State *WebhooksListDeliveriesParamsState `form:"state,omitempty" json:"state,omitempty"`

	// StateNot exclude where state - Current delivery state.
	StateNot *WebhooksListDeliveriesParamsStateNot `form:"state!,omitempty" json:"state!,omitempty"`

	// Subscription Scope to a single subscription by its masked id.
	Subscription *string `form:"subscription,omitempty" json:"subscription,omitempty"`
}

WebhooksListDeliveriesParams defines parameters for WebhooksListDeliveries.

type WebhooksListDeliveriesParamsSortBy added in v1.1.0

type WebhooksListDeliveriesParamsSortBy string

WebhooksListDeliveriesParamsSortBy defines parameters for WebhooksListDeliveries.

const (
	Created      WebhooksListDeliveriesParamsSortBy = "created"
	MinusCreated WebhooksListDeliveriesParamsSortBy = "-created"
)

Defines values for WebhooksListDeliveriesParamsSortBy.

type WebhooksListDeliveriesParamsState added in v1.1.0

type WebhooksListDeliveriesParamsState string

WebhooksListDeliveriesParamsState defines parameters for WebhooksListDeliveries.

const (
	WebhooksListDeliveriesParamsStateEXHAUSTED      WebhooksListDeliveriesParamsState = "EXHAUSTED"
	WebhooksListDeliveriesParamsStateFAILED         WebhooksListDeliveriesParamsState = "FAILED"
	WebhooksListDeliveriesParamsStatePENDING        WebhooksListDeliveriesParamsState = "PENDING"
	WebhooksListDeliveriesParamsStateQUOTAEXHAUSTED WebhooksListDeliveriesParamsState = "QUOTA_EXHAUSTED"
	WebhooksListDeliveriesParamsStateSUCCEEDED      WebhooksListDeliveriesParamsState = "SUCCEEDED"
)

Defines values for WebhooksListDeliveriesParamsState.

type WebhooksListDeliveriesParamsStateNot added in v1.1.0

type WebhooksListDeliveriesParamsStateNot string

WebhooksListDeliveriesParamsStateNot defines parameters for WebhooksListDeliveries.

const (
	WebhooksListDeliveriesParamsStateNotEXHAUSTED      WebhooksListDeliveriesParamsStateNot = "EXHAUSTED"
	WebhooksListDeliveriesParamsStateNotFAILED         WebhooksListDeliveriesParamsStateNot = "FAILED"
	WebhooksListDeliveriesParamsStateNotPENDING        WebhooksListDeliveriesParamsStateNot = "PENDING"
	WebhooksListDeliveriesParamsStateNotQUOTAEXHAUSTED WebhooksListDeliveriesParamsStateNot = "QUOTA_EXHAUSTED"
	WebhooksListDeliveriesParamsStateNotSUCCEEDED      WebhooksListDeliveriesParamsStateNot = "SUCCEEDED"
)

Defines values for WebhooksListDeliveriesParamsStateNot.

type WebhooksListSecretsParams added in v1.1.0

type WebhooksListSecretsParams struct {
	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

WebhooksListSecretsParams defines parameters for WebhooksListSecrets.

type WebhooksListSubscriptionsParams added in v1.1.0

type WebhooksListSubscriptionsParams struct {
	// Page Page number (1-based). Omit for the first page.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page (1-30). Defaults to 30; larger values are clamped down.
	PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
}

WebhooksListSubscriptionsParams defines parameters for WebhooksListSubscriptions.

type WebhooksUpdateSubscriptionFormdataRequestBody added in v1.1.0

type WebhooksUpdateSubscriptionFormdataRequestBody = PatchedWebhookSubscriptionUpdateRequest

WebhooksUpdateSubscriptionFormdataRequestBody defines body for WebhooksUpdateSubscription for application/x-www-form-urlencoded ContentType.

type WebhooksUpdateSubscriptionJSONRequestBody added in v1.1.0

type WebhooksUpdateSubscriptionJSONRequestBody = PatchedWebhookSubscriptionUpdateRequest

WebhooksUpdateSubscriptionJSONRequestBody defines body for WebhooksUpdateSubscription for application/json ContentType.

type WebhooksUpdateSubscriptionMultipartRequestBody added in v1.1.0

type WebhooksUpdateSubscriptionMultipartRequestBody = PatchedWebhookSubscriptionUpdateRequest

WebhooksUpdateSubscriptionMultipartRequestBody defines body for WebhooksUpdateSubscription for multipart/form-data ContentType.

Jump to

Keyboard shortcuts

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