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

aigovernance

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package aigovernance provides typed access to Jamf Platform aigovernance API endpoints.

Index

Constants

This section is empty.

Variables

View Source
var Privileges = map[string]jamfplatform.MethodPrivileges{
	"ArchivePolicy":       {Method: "ArchivePolicy", HTTPMethod: "DELETE", Path: "/v1/policies/{policyId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:delete"}, Legacy: nil, Source: "spec"},
	"CreatePolicy":        {Method: "CreatePolicy", HTTPMethod: "POST", Path: "/v1/policies", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:create"}, Legacy: nil, Source: "spec"},
	"GetPolicy":           {Method: "GetPolicy", HTTPMethod: "GET", Path: "/v1/policies/{policyId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"GetPolicyDeployment": {Method: "GetPolicyDeployment", HTTPMethod: "GET", Path: "/v1/policies/{policyId}/deployment", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"GetPolicyVersion":    {Method: "GetPolicyVersion", HTTPMethod: "GET", Path: "/v1/policies/{policyId}/versions/{versionNumber}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"GetTool":             {Method: "GetTool", HTTPMethod: "GET", Path: "/v1/tools/{toolId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"GetToolSchema":       {Method: "GetToolSchema", HTTPMethod: "GET", Path: "/v1/tools/{toolId}/schemas/{schemaVersion}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"ListPolicies":        {Method: "ListPolicies", HTTPMethod: "GET", Path: "/v1/policies", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"ListPolicyVersions":  {Method: "ListPolicyVersions", HTTPMethod: "GET", Path: "/v1/policies/{policyId}/versions", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"ListTools":           {Method: "ListTools", HTTPMethod: "GET", Path: "/v1/tools", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:read"}, Legacy: nil, Source: "spec"},
	"PublishPolicy":       {Method: "PublishPolicy", HTTPMethod: "POST", Path: "/v1/policies/{policyId}/publish", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:update"}, Legacy: nil, Source: "spec"},
	"UpdatePolicy":        {Method: "UpdatePolicy", HTTPMethod: "PATCH", Path: "/v1/policies/{policyId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"ai-policies:update"}, Legacy: nil, Source: "spec"},
}

Privileges maps each aigovernance SDK method name to the Jamf API privileges it requires, sourced from the x-required-privileges vendor extensions in the Jamf OpenAPI specs. Identifiers are GA capability permissions in {capability}:{action} form and a multi-entry Scoped slice means all of them are required.

Source names where each entry's Scoped set came from: "spec" for the operation's own x-required-privileges, "gateway-policy" for one the published spec omits and this SDK supplies from the gateway's authorization policy, and "" when Scoped is empty. An empty Scoped slice means nothing declares a privilege for the endpoint, which is NOT the same as none being required — see jamfplatform.MethodPrivileges. Do not render it as "no permission needed".

Scopes lists the scope kinds each endpoint accepts. It is an alternatives set: a client carries one scope, so a consumer needs a credential matching one of the listed kinds. ScopesSource names where the set came from — "spec" for the spec root's own x-scope-types, "config-override" for one this SDK supplies because the published spec understates what the gateway serves or declares no extension at all. A spec-sourced set is what the spec declares, which for the Platform APIs is currently stricter than the gateway — see jamfplatform.MethodPrivileges.

Synthetic Resolve<X>ByName / Apply<X> methods are not present; document the privileges of the operations they call instead.

Functions

func PrivilegesFor

func PrivilegesFor(method string) (jamfplatform.MethodPrivileges, bool)

PrivilegesFor returns the privilege metadata for the named SDK method and true when the method is present in the registry, or the zero value and false otherwise.

Types

type ApiError

type ApiError struct {
	Errors []ApiErrorItem `json:"errors"`
	// HTTP status of the response.
	HttpStatus int `json:"httpStatus"`
	// Trace ID for request correlation.
	TraceID string `json:"traceId"`
}

ApiError Standard error response envelope returned for all non-2xx status codes.

type ApiErrorItem

type ApiErrorItem struct {
	// Error code (e.g. TOOL_ID_UNKNOWN, SCHEMA_VALIDATION_FAILED, POLICY_NOT_FOUND).
	Code        string `json:"code"`
	Description string `json:"description"`
	// Dot-path to the offending field (for validation errors).
	Field string `json:"field"`
}

ApiErrorItem A single error detail within an ApiError response.

type BlueprintDeployment

type BlueprintDeployment struct {
	// ID of the blueprint referencing this policy.
	BlueprintID string `json:"blueprintId"`
	// Present when state is DEPLOYED or OUT_OF_DATE; null when NOT_DEPLOYED.
	LastDeployment *DeploymentRun `json:"lastDeployment,omitempty"`
	// Deployment state of the blueprint.
	// Allowed values: see the BlueprintDeploymentState constants.
	State string `json:"state"`
}

BlueprintDeployment Deployment state of a single blueprint that references the policy.

type BlueprintDeploymentState

type BlueprintDeploymentState = string

BlueprintDeploymentState is the set of values accepted by BlueprintDeployment.State.

const (
	BlueprintDeploymentStateNotDeployed BlueprintDeploymentState = "NOT_DEPLOYED"
	BlueprintDeploymentStateDeployed    BlueprintDeploymentState = "DEPLOYED"
	BlueprintDeploymentStateOutOfDate   BlueprintDeploymentState = "OUT_OF_DATE"
)

BlueprintDeploymentState values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func BlueprintDeploymentStateValues

func BlueprintDeploymentStateValues() []BlueprintDeploymentState

BlueprintDeploymentStateValues returns every value the Jamf API accepts for BlueprintDeploymentState, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type Client

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

Client provides typed methods for aigovernance operations.

func New

func New(base *jamfplatform.Client) *Client

New creates a aigovernance client that shares the authenticated transport of the given root client.

func (*Client) ArchivePolicy

func (c *Client) ArchivePolicy(ctx context.Context, policyID string) error

ArchivePolicy archive an AI governance policy (soft delete).

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:delete.

Parameters:

  • policyID: Policy ID.

func (*Client) CreatePolicy

func (c *Client) CreatePolicy(ctx context.Context, request *CreatePolicyRequest) (*CreatedResponse, error)

CreatePolicy create a new AI governance policy.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:create.

func (*Client) GetPolicy

func (c *Client) GetPolicy(ctx context.Context, policyID string) (*PolicyDetail, error)

GetPolicy get a policy by ID.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • policyID: Policy ID.

func (*Client) GetPolicyDeployment

func (c *Client) GetPolicyDeployment(ctx context.Context, policyID string) (*PolicyDeploymentResponse, error)

GetPolicyDeployment get deployment state for a policy.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • policyID: Policy ID.

func (*Client) GetPolicyVersion

func (c *Client) GetPolicyVersion(ctx context.Context, policyID string, versionNumber string) (*PolicyVersion, error)

GetPolicyVersion get a specific policy version.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • policyID: Policy ID.
  • versionNumber: Published version number (1-based, increments on each publish).

func (*Client) GetTool

func (c *Client) GetTool(ctx context.Context, toolID string) (*ToolSummary, error)

GetTool get tool detail.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • toolID: Tool identifier (e.g. com.anthropic.claudecode).

func (*Client) GetToolSchema

func (c *Client) GetToolSchema(ctx context.Context, toolID string, schemaVersion string) (*ToolSchemaResponse, error)

GetToolSchema get the vendor JSON Schema for a tool and schema version.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • toolID: Tool identifier (e.g. com.anthropic.claudecode).
  • schemaVersion: Vendor schema version (e.g. "2026-05-12").

func (*Client) ListPolicies

func (c *Client) ListPolicies(ctx context.Context, sort []string, schemaDrift bool) ([]PolicySummary, error)

ListPolicies list active AI governance policies for the tenant.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • sort: Sorting criteria in the format: property:(asc|desc). Supported properties: createdAt, updatedAt, name.
  • schemaDrift: When true, return only policies whose stored schemaVersion differs from the current tool schema version.

func (*Client) ListPolicyVersions

func (c *Client) ListPolicyVersions(ctx context.Context, policyID string) ([]PolicyVersion, error)

ListPolicyVersions list all versions for a policy.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

Parameters:

  • policyID: Policy ID.

func (*Client) ListTools

func (c *Client) ListTools(ctx context.Context) (*ToolListResponse, error)

ListTools list available vendor tools.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:read.

func (*Client) PublishPolicy

func (c *Client) PublishPolicy(ctx context.Context, policyID string) (*PublishResponse, error)

PublishPolicy publish current draft settings as a new immutable PolicyVersion.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:update.

Parameters:

  • policyID: Policy ID.

func (*Client) UpdatePolicy

func (c *Client) UpdatePolicy(ctx context.Context, policyID string, request *UpdatePolicyRequest, ifMatch string) error

UpdatePolicy save draft settings for an existing policy.

Preview: this endpoint is marked preview in the Jamf API spec; its request and response shapes may change without warning, and successful responses carry a Jamf-Preview: true header.

Required privileges: ai-policies:update.

Parameters:

  • policyID: Policy ID.
  • ifMatch: Optimistic-lock precondition. Supply the ETag from a prior GET (e.g. `"7"`) to make the update conditional on the policy still being at that version; a mismatch yields 409 (POLICY_VERSION_CONFLICT). A weak validator (`W/"7"`) is also accepted. Omit the header or send `*` for an unconditional update.

type CreatePolicyRequest

type CreatePolicyRequest struct {
	Description *string `json:"description,omitempty"`
	Name        string  `json:"name"`
	// Vendor schema version the settings were authored against. Must be a known version for the tool.
	// Returns 422 if not found.
	SchemaVersion string `json:"schemaVersion"`
	// Vendor tool settings payload. Shape is tool-specific and defined by the vendor's JSON Schema, which
	// is served by GET /v1/tools/{toolId}/schemas/{schemaVersion} (see the ToolSchemaResponse schema).
	// Only keys the admin explicitly set are present. Validated at write time against the vendor schema
	// for the request's schemaVersion.
	Settings VendorSettings `json:"settings"`
	// Must match a known tool. Returns 422 if not found.
	ToolID string `json:"toolId"`
}

CreatePolicyRequest Request body for creating a new AI governance policy with initial draft settings.

type CreatedResponse

type CreatedResponse struct {
	// URL of the created policy.
	Href string `json:"href"`
	// Policy ID.
	ID string `json:"id"`
}

CreatedResponse Response body returned when a new policy is created, carrying its ID and URL.

type DeploymentRun

type DeploymentRun struct {
	// Approximate deployment start time.
	Started time.Time `json:"started"`
	// Deployment execution state.
	// Allowed values: see the DeploymentRunState constants.
	State string `json:"state"`
}

DeploymentRun A single deployment execution of a blueprint's AI governance component.

type DeploymentRunState

type DeploymentRunState = string

DeploymentRunState is the set of values accepted by DeploymentRun.State.

const (
	DeploymentRunStatePending   DeploymentRunState = "PENDING"
	DeploymentRunStateDeploying DeploymentRunState = "DEPLOYING"
	DeploymentRunStateSucceeded DeploymentRunState = "SUCCEEDED"
	DeploymentRunStateFailed    DeploymentRunState = "FAILED"
)

DeploymentRunState values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DeploymentRunStateValues

func DeploymentRunStateValues() []DeploymentRunState

DeploymentRunStateValues returns every value the Jamf API accepts for DeploymentRunState, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PolicyDeploymentResponse

type PolicyDeploymentResponse struct {
	// One entry per blueprint whose AI governance component references this policy. Empty array if no
	// blueprint references the policy.
	Blueprints []BlueprintDeployment `json:"blueprints"`
}

PolicyDeploymentResponse Deployment state across all blueprints that reference a policy.

type PolicyDetail

type PolicyDetail struct {
	CreatedAt time.Time `json:"createdAt"`
	// Actor ID.
	CreatedBy string `json:"createdBy"`
	// Latest published version number. Null if never published.
	CurrentVersionNumber *int    `json:"currentVersionNumber,omitempty"`
	Description          *string `json:"description,omitempty"`
	// True if unpublished changes exist.
	HasDraft bool   `json:"hasDraft"`
	ID       string `json:"id"`
	Name     string `json:"name"`
	// True if the draft schemaVersion differs from the current tool schema version.
	SchemaDrift bool `json:"schemaDrift"`
	// Vendor schema version the current draft settings are authored against.
	SchemaVersion string `json:"schemaVersion"`
	// Vendor tool settings payload. Shape is tool-specific and defined by the vendor's JSON Schema, which
	// is served by GET /v1/tools/{toolId}/schemas/{schemaVersion} (see the ToolSchemaResponse schema).
	// Only keys the admin explicitly set are present. Validated at write time against the vendor schema
	// for the request's schemaVersion.
	Settings VendorSettings `json:"settings"`
	// Allowed values: see the PolicyDetailStatus constants.
	Status    string    `json:"status"`
	ToolID    string    `json:"toolId"`
	UpdatedAt time.Time `json:"updatedAt"`
	// Actor ID.
	UpdatedBy string `json:"updatedBy"`
	// Optimistic-lock counter, incremented on each PATCH. Surfaced as the strong ETag response header and
	// used as the If-Match precondition. Null for legacy documents that predate versioning.
	Version *int64 `json:"version,omitempty"`
}

PolicyDetail Full policy representation, extending PolicySummary with the current draft schema version and settings.

type PolicyDetailStatus

type PolicyDetailStatus = string

PolicyDetailStatus is the set of values accepted by PolicyDetail.Status.

const (
	PolicyDetailStatusActive   PolicyDetailStatus = "ACTIVE"
	PolicyDetailStatusArchived PolicyDetailStatus = "ARCHIVED"
)

PolicyDetailStatus values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func PolicyDetailStatusValues

func PolicyDetailStatusValues() []PolicyDetailStatus

PolicyDetailStatusValues returns every value the Jamf API accepts for PolicyDetailStatus, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PolicyListResponse

type PolicyListResponse struct {
	Results    []PolicySummary `json:"results"`
	TotalCount int             `json:"totalCount"`
}

PolicyListResponse Paginated list of policy summaries.

type PolicySummary

type PolicySummary struct {
	CreatedAt time.Time `json:"createdAt"`
	// Actor ID.
	CreatedBy string `json:"createdBy"`
	// Latest published version number. Null if never published.
	CurrentVersionNumber *int `json:"currentVersionNumber,omitempty"`
	// True if unpublished changes exist.
	HasDraft bool   `json:"hasDraft"`
	ID       string `json:"id"`
	Name     string `json:"name"`
	// True if the draft schemaVersion differs from the current tool schema version.
	SchemaDrift bool `json:"schemaDrift"`
	// Allowed values: see the PolicySummaryStatus constants.
	Status    string    `json:"status"`
	ToolID    string    `json:"toolId"`
	UpdatedAt time.Time `json:"updatedAt"`
	// Actor ID.
	UpdatedBy string `json:"updatedBy"`
}

PolicySummary Policy list item — does not include settings.

type PolicySummaryStatus

type PolicySummaryStatus = string

PolicySummaryStatus is the set of values accepted by PolicySummary.Status.

const (
	PolicySummaryStatusActive   PolicySummaryStatus = "ACTIVE"
	PolicySummaryStatusArchived PolicySummaryStatus = "ARCHIVED"
)

PolicySummaryStatus values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func PolicySummaryStatusValues

func PolicySummaryStatusValues() []PolicySummaryStatus

PolicySummaryStatusValues returns every value the Jamf API accepts for PolicySummaryStatus, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PolicyVersion

type PolicyVersion struct {
	CreatedAt time.Time `json:"createdAt"`
	// Actor ID.
	CreatedBy     string `json:"createdBy"`
	ID            string `json:"id"`
	PolicyID      string `json:"policyId"`
	SchemaVersion string `json:"schemaVersion"`
	// Vendor tool settings payload. Shape is tool-specific and defined by the vendor's JSON Schema, which
	// is served by GET /v1/tools/{toolId}/schemas/{schemaVersion} (see the ToolSchemaResponse schema).
	// Only keys the admin explicitly set are present. Validated at write time against the vendor schema
	// for the request's schemaVersion.
	Settings      VendorSettings `json:"settings"`
	ToolID        string         `json:"toolId"`
	VersionNumber int            `json:"versionNumber"`
}

PolicyVersion An immutable published snapshot of a policy's settings at a point in time.

type PolicyVersionListResponse

type PolicyVersionListResponse struct {
	Results    []PolicyVersion `json:"results"`
	TotalCount int             `json:"totalCount"`
}

PolicyVersionListResponse Paginated list of published policy versions.

type PublishResponse

type PublishResponse struct {
	// URL of the created policy version.
	Href string `json:"href"`
	// PolicyVersion ID.
	ID string `json:"id"`
	// The version number assigned to this published version.
	VersionNumber int `json:"versionNumber"`
}

PublishResponse Response returned when a draft is published as a new immutable policy version.

type ToolListResponse

type ToolListResponse struct {
	Results    []ToolSummary `json:"results"`
	TotalCount int           `json:"totalCount"`
}

ToolListResponse Paginated list of available vendor tools.

type ToolSchemaResponse

type ToolSchemaResponse struct {
	// The raw vendor JSON Schema document describing the shape of a tool's settings. Free-form by design
	// — its structure is defined by the vendor and follows the JSON Schema specification rather than a
	// fixed set of properties. Use it to validate and render settings forms for the corresponding
	// schemaVersion.
	Schema VendorJsonSchema `json:"schema"`
	// Vendor schema version this schema document describes.
	SchemaVersion string `json:"schemaVersion"`
	// Tool identifier (matches toolId in policy records).
	ToolID string `json:"toolId"`
}

ToolSchemaResponse The vendor JSON Schema for a tool at a specific schema version.

type ToolSummary

type ToolSummary struct {
	DisplayName string `json:"displayName"`
	// Tool identifier (matches toolId in policy records).
	ID string `json:"id"`
	// Current (latest) vendor schema version.
	SchemaVersion string `json:"schemaVersion"`
	// All available schema versions for this tool, newest first.
	SchemaVersions []string `json:"schemaVersions"`
}

ToolSummary Metadata for an available vendor tool, including its current and available schema versions.

type UpdatePolicyRequest

type UpdatePolicyRequest struct {
	// New description for the policy. Omit to leave unchanged.
	Description *string `json:"description,omitempty"`
	// New display name for the policy. Omit to leave unchanged.
	Name          *string `json:"name,omitempty"`
	SchemaVersion string  `json:"schemaVersion"`
	// Vendor tool settings payload. Shape is tool-specific and defined by the vendor's JSON Schema, which
	// is served by GET /v1/tools/{toolId}/schemas/{schemaVersion} (see the ToolSchemaResponse schema).
	// Only keys the admin explicitly set are present. Validated at write time against the vendor schema
	// for the request's schemaVersion.
	Settings VendorSettings `json:"settings"`
}

UpdatePolicyRequest Saves draft settings on the policy. Does NOT create a published version. Call POST /policies/{policyId}/publish to create an immutable version. toolId is immutable after creation. name and description are optional — omit them to leave the existing values unchanged.

type VendorJsonSchema

type VendorJsonSchema = json.RawMessage

VendorJsonSchema the raw vendor JSON Schema document describing the shape of a tool's settings. Free-form by design — its structure is defined by the vendor and follows the JSON Schema specification rather than a fixed set of properties. Use it to validate and render settings forms for the corresponding schemaVersion.

type VendorSettings

type VendorSettings = json.RawMessage

VendorSettings vendor tool settings payload. Shape is tool-specific and defined by the vendor's JSON Schema, which is served by GET /v1/tools/{toolId}/schemas/{schemaVersion} (see the ToolSchemaResponse schema). Only keys the admin explicitly set are present. Validated at write time against the vendor schema for the request's schemaVersion.

Jump to

Keyboard shortcuts

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