From c04dcbddb6218dfb6fdb0b120dfab3aa52b5fb99 Mon Sep 17 00:00:00 2001
From: moonyue-w <300878504+moonyue-w@users.noreply.github.com>
Date: Sun, 20 Sep 2026 10:38:00 +0800
Subject: [PATCH 1/5] feat(docs): deterministic API reference generator via
pinned gomarkdoc
Add internal/docs Go tool that shells out to gomarkdoc@v1.1.0 with
--repository.default-branch main, wipes docs/api/ and rewrites a single
docs/api/reference.md, then post-processes to strip #Lxx line anchors so
the committed reference is a byte-stable artifact of the current commit.
New Makefile targets: docs / docs-check / lint. docs-check is stubbed and
implemented in the follow-up task.
Discovery spike observations (retained in the task ledger):
- source links only appear with explicit --repository.* flags
- all 3802 QoderAI URLs land on blob/main/... with #Lxx(-Lyy) anchors
- two runs at the same commit + Go toolchain are byte-identical
- no timestamps / absolute paths / user identifiers observed
Task: 1789870148
---
Makefile | 25 +-
docs/api/reference.md | 66239 +++++++++++++++++++++++++++
internal/docs/cmd/generate/main.go | 17 +
internal/docs/generate.go | 116 +
internal/docs/generate_test.go | 58 +
5 files changed, 66454 insertions(+), 1 deletion(-)
create mode 100644 docs/api/reference.md
create mode 100644 internal/docs/cmd/generate/main.go
create mode 100644 internal/docs/generate.go
create mode 100644 internal/docs/generate_test.go
diff --git a/Makefile b/Makefile
index d927dda..006eed1 100644
--- a/Makefile
+++ b/Makefile
@@ -2,11 +2,34 @@ PYTHON ?= python3
LIVE_ENV_FILE ?= .env.live
.DEFAULT_GOAL := test
-.PHONY: build test test-unit test-contract test-live test-live-check test-live-managed test-live-managed-check test-live-all check-version
+.PHONY: build test test-unit test-contract test-live test-live-check test-live-managed test-live-managed-check test-live-all check-version docs docs-check lint
build:
go build ./...
+# Regenerate the committed API reference from source (public forward / managed
+# / convention packages via a pinned gomarkdoc; see internal/docs).
+docs:
+ go run ./internal/docs/cmd/generate
+
+# Drift + normalization + coarse core-surface + internal-link gate. Red when
+# committed docs/api/reference.md lags source, when any source link still
+# carries a #Lxx anchor, when the core public surface is missing from the
+# output, or when an internal relative link is broken.
+docs-check:
+ go run ./internal/docs/cmd/check
+
+# gofmt + go vet gate. Fails if any tracked .go file is not gofmt'd or if vet
+# reports a diagnostic. Wired into the CI matrix (see .github/workflows/ci.yml).
+lint:
+ @unformatted=$$(gofmt -l .); \
+ if test -n "$$unformatted"; then \
+ echo "gofmt reports unformatted files:" >&2; \
+ echo "$$unformatted" >&2; \
+ exit 1; \
+ fi
+ go vet ./...
+
# Run before tagging a release: the reported version is a compile-time constant,
# so tagging without bumping it makes the SDK report a version it is not.
check-version:
diff --git a/docs/api/reference.md b/docs/api/reference.md
new file mode 100644
index 0000000..5137f36
--- /dev/null
+++ b/docs/api/reference.md
@@ -0,0 +1,66239 @@
+
+
+# forward
+
+```go
+import "github.com/QoderAI/qoder-cloud-agents-sdk-go/forward"
+```
+
+## Index
+
+- [Constants](<#constants>)
+- [func Bool\(v bool\) param.Opt\[bool\]](<#Bool>)
+- [func Float\(v float64\) param.Opt\[float64\]](<#Float>)
+- [func Int\(v int64\) param.Opt\[int64\]](<#Int>)
+- [func String\(v string\) param.Opt\[string\]](<#String>)
+- [type Batch](<#Batch>)
+ - [func \(r Batch\) RawJSON\(\) string](<#Batch.RawJSON>)
+ - [func \(r \*Batch\) UnmarshalJSON\(data \[\]byte\) error](<#Batch.UnmarshalJSON>)
+- [type BatchCancelParams](<#BatchCancelParams>)
+ - [func \(r BatchCancelParams\) URLQuery\(\) \(url.Values, error\)](<#BatchCancelParams.URLQuery>)
+- [type BatchFile](<#BatchFile>)
+ - [func \(r BatchFile\) RawJSON\(\) string](<#BatchFile.RawJSON>)
+ - [func \(r \*BatchFile\) UnmarshalJSON\(data \[\]byte\) error](<#BatchFile.UnmarshalJSON>)
+- [type BatchListParams](<#BatchListParams>)
+ - [func \(r BatchListParams\) URLQuery\(\) \(url.Values, error\)](<#BatchListParams.URLQuery>)
+- [type BatchNewParams](<#BatchNewParams>)
+ - [func \(r BatchNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#BatchNewParams.MarshalJSON>)
+ - [func \(r \*BatchNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#BatchNewParams.UnmarshalJSON>)
+- [type BatchRequestCounts](<#BatchRequestCounts>)
+ - [func \(r BatchRequestCounts\) RawJSON\(\) string](<#BatchRequestCounts.RawJSON>)
+ - [func \(r \*BatchRequestCounts\) UnmarshalJSON\(data \[\]byte\) error](<#BatchRequestCounts.UnmarshalJSON>)
+- [type BatchService](<#BatchService>)
+ - [func NewBatchService\(opts ...option.RequestOption\) BatchService](<#NewBatchService>)
+ - [func \(r \*BatchService\) Cancel\(ctx context.Context, batchID string, params BatchCancelParams, opts ...option.RequestOption\) \(res \*Batch, err error\)](<#BatchService.Cancel>)
+ - [func \(r \*BatchService\) Get\(ctx context.Context, batchID string, opts ...option.RequestOption\) \(res \*Batch, err error\)](<#BatchService.Get>)
+ - [func \(r \*BatchService\) GetError\(ctx context.Context, batchID string, opts ...option.RequestOption\) \(res \*BatchFile, err error\)](<#BatchService.GetError>)
+ - [func \(r \*BatchService\) GetOutput\(ctx context.Context, batchID string, opts ...option.RequestOption\) \(res \*BatchFile, err error\)](<#BatchService.GetOutput>)
+ - [func \(r \*BatchService\) List\(ctx context.Context, params BatchListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Batch\], err error\)](<#BatchService.List>)
+ - [func \(r \*BatchService\) ListAutoPaging\(ctx context.Context, params BatchListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Batch\]](<#BatchService.ListAutoPaging>)
+ - [func \(r \*BatchService\) New\(ctx context.Context, params BatchNewParams, opts ...option.RequestOption\) \(res \*Batch, err error\)](<#BatchService.New>)
+- [type BatchTask](<#BatchTask>)
+ - [func \(r BatchTask\) RawJSON\(\) string](<#BatchTask.RawJSON>)
+ - [func \(r \*BatchTask\) UnmarshalJSON\(data \[\]byte\) error](<#BatchTask.UnmarshalJSON>)
+- [type BatchTaskArtifactsItem](<#BatchTaskArtifactsItem>)
+ - [func \(r BatchTaskArtifactsItem\) RawJSON\(\) string](<#BatchTaskArtifactsItem.RawJSON>)
+ - [func \(r \*BatchTaskArtifactsItem\) UnmarshalJSON\(data \[\]byte\) error](<#BatchTaskArtifactsItem.UnmarshalJSON>)
+- [type BatchTaskError](<#BatchTaskError>)
+ - [func \(r BatchTaskError\) RawJSON\(\) string](<#BatchTaskError.RawJSON>)
+ - [func \(r \*BatchTaskError\) UnmarshalJSON\(data \[\]byte\) error](<#BatchTaskError.UnmarshalJSON>)
+- [type BatchTaskListParams](<#BatchTaskListParams>)
+ - [func \(r BatchTaskListParams\) URLQuery\(\) \(url.Values, error\)](<#BatchTaskListParams.URLQuery>)
+- [type BatchTaskService](<#BatchTaskService>)
+ - [func NewBatchTaskService\(opts ...option.RequestOption\) BatchTaskService](<#NewBatchTaskService>)
+ - [func \(r \*BatchTaskService\) List\(ctx context.Context, batchID string, params BatchTaskListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[BatchTask\], err error\)](<#BatchTaskService.List>)
+ - [func \(r \*BatchTaskService\) ListAutoPaging\(ctx context.Context, batchID string, params BatchTaskListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[BatchTask\]](<#BatchTaskService.ListAutoPaging>)
+- [type BatchTaskUsage](<#BatchTaskUsage>)
+ - [func \(r BatchTaskUsage\) RawJSON\(\) string](<#BatchTaskUsage.RawJSON>)
+ - [func \(r \*BatchTaskUsage\) UnmarshalJSON\(data \[\]byte\) error](<#BatchTaskUsage.UnmarshalJSON>)
+- [type BatchUsage](<#BatchUsage>)
+ - [func \(r BatchUsage\) RawJSON\(\) string](<#BatchUsage.RawJSON>)
+ - [func \(r \*BatchUsage\) UnmarshalJSON\(data \[\]byte\) error](<#BatchUsage.UnmarshalJSON>)
+- [type Channel](<#Channel>)
+ - [func \(r Channel\) RawJSON\(\) string](<#Channel.RawJSON>)
+ - [func \(r \*Channel\) UnmarshalJSON\(data \[\]byte\) error](<#Channel.UnmarshalJSON>)
+- [type ChannelChannelConfig](<#ChannelChannelConfig>)
+ - [func \(r ChannelChannelConfig\) RawJSON\(\) string](<#ChannelChannelConfig.RawJSON>)
+ - [func \(r \*ChannelChannelConfig\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelChannelConfig.UnmarshalJSON>)
+- [type ChannelChannelConfigResponseOptions](<#ChannelChannelConfigResponseOptions>)
+ - [func \(r ChannelChannelConfigResponseOptions\) RawJSON\(\) string](<#ChannelChannelConfigResponseOptions.RawJSON>)
+ - [func \(r \*ChannelChannelConfigResponseOptions\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelChannelConfigResponseOptions.UnmarshalJSON>)
+- [type ChannelIdentityResolution](<#ChannelIdentityResolution>)
+ - [func \(r ChannelIdentityResolution\) RawJSON\(\) string](<#ChannelIdentityResolution.RawJSON>)
+ - [func \(r \*ChannelIdentityResolution\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelIdentityResolution.UnmarshalJSON>)
+- [type ChannelListParams](<#ChannelListParams>)
+ - [func \(r ChannelListParams\) URLQuery\(\) \(url.Values, error\)](<#ChannelListParams.URLQuery>)
+- [type ChannelNewParams](<#ChannelNewParams>)
+ - [func \(r ChannelNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#ChannelNewParams.MarshalJSON>)
+ - [func \(r \*ChannelNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelNewParams.UnmarshalJSON>)
+- [type ChannelPairing](<#ChannelPairing>)
+ - [func \(r ChannelPairing\) RawJSON\(\) string](<#ChannelPairing.RawJSON>)
+ - [func \(r \*ChannelPairing\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelPairing.UnmarshalJSON>)
+- [type ChannelPairingNewParams](<#ChannelPairingNewParams>)
+ - [func \(r ChannelPairingNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#ChannelPairingNewParams.MarshalJSON>)
+ - [func \(r \*ChannelPairingNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelPairingNewParams.UnmarshalJSON>)
+- [type ChannelPairingService](<#ChannelPairingService>)
+ - [func NewChannelPairingService\(opts ...option.RequestOption\) ChannelPairingService](<#NewChannelPairingService>)
+ - [func \(r \*ChannelPairingService\) Delete\(ctx context.Context, pairingID string, opts ...option.RequestOption\) \(res \*DeletedChannelPairing, err error\)](<#ChannelPairingService.Delete>)
+ - [func \(r \*ChannelPairingService\) New\(ctx context.Context, params ChannelPairingNewParams, opts ...option.RequestOption\) \(res \*ChannelPairing, err error\)](<#ChannelPairingService.New>)
+- [type ChannelQRSession](<#ChannelQRSession>)
+ - [func \(r ChannelQRSession\) RawJSON\(\) string](<#ChannelQRSession.RawJSON>)
+ - [func \(r \*ChannelQRSession\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelQRSession.UnmarshalJSON>)
+- [type ChannelQRSessionNewParams](<#ChannelQRSessionNewParams>)
+ - [func \(r ChannelQRSessionNewParams\) URLQuery\(\) \(url.Values, error\)](<#ChannelQRSessionNewParams.URLQuery>)
+- [type ChannelQRSessionService](<#ChannelQRSessionService>)
+ - [func NewChannelQRSessionService\(opts ...option.RequestOption\) ChannelQRSessionService](<#NewChannelQRSessionService>)
+ - [func \(r \*ChannelQRSessionService\) Get\(ctx context.Context, sessionKey string, opts ...option.RequestOption\) \(res \*ChannelQRSession, err error\)](<#ChannelQRSessionService.Get>)
+ - [func \(r \*ChannelQRSessionService\) New\(ctx context.Context, channelID string, params ChannelQRSessionNewParams, opts ...option.RequestOption\) \(res \*ChannelQRSession, err error\)](<#ChannelQRSessionService.New>)
+- [type ChannelService](<#ChannelService>)
+ - [func NewChannelService\(opts ...option.RequestOption\) ChannelService](<#NewChannelService>)
+ - [func \(r \*ChannelService\) Delete\(ctx context.Context, channelID string, opts ...option.RequestOption\) \(res \*DeletedChannel, err error\)](<#ChannelService.Delete>)
+ - [func \(r \*ChannelService\) Get\(ctx context.Context, channelID string, opts ...option.RequestOption\) \(res \*Channel, err error\)](<#ChannelService.Get>)
+ - [func \(r \*ChannelService\) List\(ctx context.Context, params ChannelListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Channel\], err error\)](<#ChannelService.List>)
+ - [func \(r \*ChannelService\) ListAutoPaging\(ctx context.Context, params ChannelListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Channel\]](<#ChannelService.ListAutoPaging>)
+ - [func \(r \*ChannelService\) New\(ctx context.Context, params ChannelNewParams, opts ...option.RequestOption\) \(res \*Channel, err error\)](<#ChannelService.New>)
+ - [func \(r \*ChannelService\) Update\(ctx context.Context, channelID string, params ChannelUpdateParams, opts ...option.RequestOption\) \(res \*Channel, err error\)](<#ChannelService.Update>)
+- [type ChannelUpdateParams](<#ChannelUpdateParams>)
+ - [func \(r ChannelUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#ChannelUpdateParams.MarshalJSON>)
+ - [func \(r \*ChannelUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#ChannelUpdateParams.UnmarshalJSON>)
+- [type Client](<#Client>)
+ - [func NewClient\(opts ...option.RequestOption\) Client](<#NewClient>)
+- [type ContentBlock](<#ContentBlock>)
+ - [func \(r ContentBlock\) RawJSON\(\) string](<#ContentBlock.RawJSON>)
+ - [func \(r \*ContentBlock\) UnmarshalJSON\(data \[\]byte\) error](<#ContentBlock.UnmarshalJSON>)
+- [type ContentBlockParam](<#ContentBlockParam>)
+ - [func \(r ContentBlockParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ContentBlockParam.MarshalJSON>)
+ - [func \(r \*ContentBlockParam\) UnmarshalJSON\(data \[\]byte\) error](<#ContentBlockParam.UnmarshalJSON>)
+- [type DeletedChannel](<#DeletedChannel>)
+ - [func \(r DeletedChannel\) RawJSON\(\) string](<#DeletedChannel.RawJSON>)
+ - [func \(r \*DeletedChannel\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedChannel.UnmarshalJSON>)
+- [type DeletedChannelPairing](<#DeletedChannelPairing>)
+ - [func \(r DeletedChannelPairing\) RawJSON\(\) string](<#DeletedChannelPairing.RawJSON>)
+ - [func \(r \*DeletedChannelPairing\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedChannelPairing.UnmarshalJSON>)
+- [type DeletedIdentity](<#DeletedIdentity>)
+ - [func \(r DeletedIdentity\) RawJSON\(\) string](<#DeletedIdentity.RawJSON>)
+ - [func \(r \*DeletedIdentity\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedIdentity.UnmarshalJSON>)
+- [type DeletedMemory](<#DeletedMemory>)
+ - [func \(r DeletedMemory\) RawJSON\(\) string](<#DeletedMemory.RawJSON>)
+ - [func \(r \*DeletedMemory\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedMemory.UnmarshalJSON>)
+- [type DeletedMemoryStore](<#DeletedMemoryStore>)
+ - [func \(r DeletedMemoryStore\) RawJSON\(\) string](<#DeletedMemoryStore.RawJSON>)
+ - [func \(r \*DeletedMemoryStore\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedMemoryStore.UnmarshalJSON>)
+- [type DeletedMemoryStoreMount](<#DeletedMemoryStoreMount>)
+ - [func \(r DeletedMemoryStoreMount\) RawJSON\(\) string](<#DeletedMemoryStoreMount.RawJSON>)
+ - [func \(r \*DeletedMemoryStoreMount\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedMemoryStoreMount.UnmarshalJSON>)
+- [type DeletedSkillVersion](<#DeletedSkillVersion>)
+ - [func \(r DeletedSkillVersion\) RawJSON\(\) string](<#DeletedSkillVersion.RawJSON>)
+ - [func \(r \*DeletedSkillVersion\) UnmarshalJSON\(data \[\]byte\) error](<#DeletedSkillVersion.UnmarshalJSON>)
+- [type EffectiveConfig](<#EffectiveConfig>)
+ - [func \(r EffectiveConfig\) RawJSON\(\) string](<#EffectiveConfig.RawJSON>)
+ - [func \(r \*EffectiveConfig\) UnmarshalJSON\(data \[\]byte\) error](<#EffectiveConfig.UnmarshalJSON>)
+- [type EffectiveConfigAgent](<#EffectiveConfigAgent>)
+ - [func \(r EffectiveConfigAgent\) RawJSON\(\) string](<#EffectiveConfigAgent.RawJSON>)
+ - [func \(r \*EffectiveConfigAgent\) UnmarshalJSON\(data \[\]byte\) error](<#EffectiveConfigAgent.UnmarshalJSON>)
+- [type EffectiveConfigAgentToolsItem](<#EffectiveConfigAgentToolsItem>)
+ - [func \(r EffectiveConfigAgentToolsItem\) RawJSON\(\) string](<#EffectiveConfigAgentToolsItem.RawJSON>)
+ - [func \(r \*EffectiveConfigAgentToolsItem\) UnmarshalJSON\(data \[\]byte\) error](<#EffectiveConfigAgentToolsItem.UnmarshalJSON>)
+- [type EffectiveConfigAgentToolsItemConfigsItem](<#EffectiveConfigAgentToolsItemConfigsItem>)
+ - [func \(r EffectiveConfigAgentToolsItemConfigsItem\) RawJSON\(\) string](<#EffectiveConfigAgentToolsItemConfigsItem.RawJSON>)
+ - [func \(r \*EffectiveConfigAgentToolsItemConfigsItem\) UnmarshalJSON\(data \[\]byte\) error](<#EffectiveConfigAgentToolsItemConfigsItem.UnmarshalJSON>)
+- [type EffectiveConfigSession](<#EffectiveConfigSession>)
+ - [func \(r EffectiveConfigSession\) RawJSON\(\) string](<#EffectiveConfigSession.RawJSON>)
+ - [func \(r \*EffectiveConfigSession\) UnmarshalJSON\(data \[\]byte\) error](<#EffectiveConfigSession.UnmarshalJSON>)
+- [type EffectiveConfigSessionResourcesItem](<#EffectiveConfigSessionResourcesItem>)
+ - [func \(r EffectiveConfigSessionResourcesItem\) RawJSON\(\) string](<#EffectiveConfigSessionResourcesItem.RawJSON>)
+ - [func \(r \*EffectiveConfigSessionResourcesItem\) UnmarshalJSON\(data \[\]byte\) error](<#EffectiveConfigSessionResourcesItem.UnmarshalJSON>)
+- [type Environment](<#Environment>)
+ - [func \(r Environment\) RawJSON\(\) string](<#Environment.RawJSON>)
+ - [func \(r \*Environment\) UnmarshalJSON\(data \[\]byte\) error](<#Environment.UnmarshalJSON>)
+- [type EnvironmentConfig](<#EnvironmentConfig>)
+ - [func \(r EnvironmentConfig\) RawJSON\(\) string](<#EnvironmentConfig.RawJSON>)
+ - [func \(r \*EnvironmentConfig\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentConfig.UnmarshalJSON>)
+- [type EnvironmentConfigPackages](<#EnvironmentConfigPackages>)
+ - [func \(r EnvironmentConfigPackages\) RawJSON\(\) string](<#EnvironmentConfigPackages.RawJSON>)
+ - [func \(r \*EnvironmentConfigPackages\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentConfigPackages.UnmarshalJSON>)
+- [type EnvironmentListParams](<#EnvironmentListParams>)
+ - [func \(r EnvironmentListParams\) URLQuery\(\) \(url.Values, error\)](<#EnvironmentListParams.URLQuery>)
+- [type EnvironmentNewParams](<#EnvironmentNewParams>)
+ - [func \(r EnvironmentNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#EnvironmentNewParams.MarshalJSON>)
+ - [func \(r \*EnvironmentNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentNewParams.UnmarshalJSON>)
+- [type EnvironmentService](<#EnvironmentService>)
+ - [func NewEnvironmentService\(opts ...option.RequestOption\) EnvironmentService](<#NewEnvironmentService>)
+ - [func \(r \*EnvironmentService\) Archive\(ctx context.Context, id string, opts ...option.RequestOption\) \(res \*Environment, err error\)](<#EnvironmentService.Archive>)
+ - [func \(r \*EnvironmentService\) Delete\(ctx context.Context, id string, opts ...option.RequestOption\) \(err error\)](<#EnvironmentService.Delete>)
+ - [func \(r \*EnvironmentService\) Get\(ctx context.Context, id string, opts ...option.RequestOption\) \(res \*Environment, err error\)](<#EnvironmentService.Get>)
+ - [func \(r \*EnvironmentService\) List\(ctx context.Context, params EnvironmentListParams, opts ...option.RequestOption\) \(res \*pagination.PageCursor\[Environment\], err error\)](<#EnvironmentService.List>)
+ - [func \(r \*EnvironmentService\) ListAutoPaging\(ctx context.Context, params EnvironmentListParams, opts ...option.RequestOption\) \*pagination.PageCursorAutoPager\[Environment\]](<#EnvironmentService.ListAutoPaging>)
+ - [func \(r \*EnvironmentService\) New\(ctx context.Context, params EnvironmentNewParams, opts ...option.RequestOption\) \(res \*Environment, err error\)](<#EnvironmentService.New>)
+ - [func \(r \*EnvironmentService\) Update\(ctx context.Context, id string, params EnvironmentUpdateParams, opts ...option.RequestOption\) \(res \*Environment, err error\)](<#EnvironmentService.Update>)
+- [type EnvironmentUpdateParams](<#EnvironmentUpdateParams>)
+ - [func \(r EnvironmentUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#EnvironmentUpdateParams.MarshalJSON>)
+ - [func \(r \*EnvironmentUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentUpdateParams.UnmarshalJSON>)
+- [type EnvironmentVariableOverride](<#EnvironmentVariableOverride>)
+ - [func \(r EnvironmentVariableOverride\) RawJSON\(\) string](<#EnvironmentVariableOverride.RawJSON>)
+ - [func \(r \*EnvironmentVariableOverride\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentVariableOverride.UnmarshalJSON>)
+- [type EnvironmentVariableOverrideParam](<#EnvironmentVariableOverrideParam>)
+ - [func \(r EnvironmentVariableOverrideParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#EnvironmentVariableOverrideParam.MarshalJSON>)
+ - [func \(r \*EnvironmentVariableOverrideParam\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentVariableOverrideParam.UnmarshalJSON>)
+- [type EnvironmentVariablesUnionParam](<#EnvironmentVariablesUnionParam>)
+ - [func \(r EnvironmentVariablesUnionParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#EnvironmentVariablesUnionParam.MarshalJSON>)
+ - [func \(r \*EnvironmentVariablesUnionParam\) UnmarshalJSON\(data \[\]byte\) error](<#EnvironmentVariablesUnionParam.UnmarshalJSON>)
+- [type Error](<#Error>)
+- [type EventContentUnionParam](<#EventContentUnionParam>)
+ - [func \(r EventContentUnionParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#EventContentUnionParam.MarshalJSON>)
+ - [func \(r \*EventContentUnionParam\) UnmarshalJSON\(data \[\]byte\) error](<#EventContentUnionParam.UnmarshalJSON>)
+- [type FileListParams](<#FileListParams>)
+ - [func \(r FileListParams\) URLQuery\(\) \(url.Values, error\)](<#FileListParams.URLQuery>)
+- [type FileMetadata](<#FileMetadata>)
+ - [func \(r FileMetadata\) RawJSON\(\) string](<#FileMetadata.RawJSON>)
+ - [func \(r \*FileMetadata\) UnmarshalJSON\(data \[\]byte\) error](<#FileMetadata.UnmarshalJSON>)
+- [type FileService](<#FileService>)
+ - [func NewFileService\(opts ...option.RequestOption\) FileService](<#NewFileService>)
+ - [func \(r \*FileService\) Delete\(ctx context.Context, fileID string, opts ...option.RequestOption\) \(err error\)](<#FileService.Delete>)
+ - [func \(r \*FileService\) Download\(ctx context.Context, fileID string, opts ...option.RequestOption\) \(res \*http.Response, err error\)](<#FileService.Download>)
+ - [func \(r \*FileService\) GetMetadata\(ctx context.Context, fileID string, opts ...option.RequestOption\) \(res \*FileMetadata, err error\)](<#FileService.GetMetadata>)
+ - [func \(r \*FileService\) List\(ctx context.Context, params FileListParams, opts ...option.RequestOption\) \(res \*pagination.PageCursor\[FileMetadata\], err error\)](<#FileService.List>)
+ - [func \(r \*FileService\) ListAutoPaging\(ctx context.Context, params FileListParams, opts ...option.RequestOption\) \*pagination.PageCursorAutoPager\[FileMetadata\]](<#FileService.ListAutoPaging>)
+ - [func \(r \*FileService\) Upload\(ctx context.Context, params FileUploadParams, opts ...option.RequestOption\) \(res \*FileMetadata, err error\)](<#FileService.Upload>)
+- [type FileUploadParams](<#FileUploadParams>)
+ - [func \(r FileUploadParams\) MarshalMultipart\(\) \(\[\]byte, string, error\)](<#FileUploadParams.MarshalMultipart>)
+- [type GitHubRepository](<#GitHubRepository>)
+ - [func \(r GitHubRepository\) RawJSON\(\) string](<#GitHubRepository.RawJSON>)
+ - [func \(r \*GitHubRepository\) UnmarshalJSON\(data \[\]byte\) error](<#GitHubRepository.UnmarshalJSON>)
+- [type GitHubRepositoryParam](<#GitHubRepositoryParam>)
+ - [func \(r GitHubRepositoryParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#GitHubRepositoryParam.MarshalJSON>)
+ - [func \(r \*GitHubRepositoryParam\) UnmarshalJSON\(data \[\]byte\) error](<#GitHubRepositoryParam.UnmarshalJSON>)
+- [type Identity](<#Identity>)
+ - [func \(r Identity\) RawJSON\(\) string](<#Identity.RawJSON>)
+ - [func \(r \*Identity\) UnmarshalJSON\(data \[\]byte\) error](<#Identity.UnmarshalJSON>)
+- [type IdentityClearParams](<#IdentityClearParams>)
+ - [func \(r IdentityClearParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#IdentityClearParams.MarshalJSON>)
+ - [func \(r \*IdentityClearParams\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityClearParams.UnmarshalJSON>)
+- [type IdentityClearResponse](<#IdentityClearResponse>)
+ - [func \(r IdentityClearResponse\) RawJSON\(\) string](<#IdentityClearResponse.RawJSON>)
+ - [func \(r \*IdentityClearResponse\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityClearResponse.UnmarshalJSON>)
+- [type IdentityClearResponseSummary](<#IdentityClearResponseSummary>)
+ - [func \(r IdentityClearResponseSummary\) RawJSON\(\) string](<#IdentityClearResponseSummary.RawJSON>)
+ - [func \(r \*IdentityClearResponseSummary\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityClearResponseSummary.UnmarshalJSON>)
+- [type IdentityConfig](<#IdentityConfig>)
+ - [func \(r IdentityConfig\) RawJSON\(\) string](<#IdentityConfig.RawJSON>)
+ - [func \(r \*IdentityConfig\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityConfig.UnmarshalJSON>)
+- [type IdentityConfigListParams](<#IdentityConfigListParams>)
+ - [func \(r IdentityConfigListParams\) URLQuery\(\) \(url.Values, error\)](<#IdentityConfigListParams.URLQuery>)
+- [type IdentityConfigService](<#IdentityConfigService>)
+ - [func NewIdentityConfigService\(opts ...option.RequestOption\) IdentityConfigService](<#NewIdentityConfigService>)
+ - [func \(r \*IdentityConfigService\) Get\(ctx context.Context, identityID string, templateID string, opts ...option.RequestOption\) \(res \*IdentityConfig, err error\)](<#IdentityConfigService.Get>)
+ - [func \(r \*IdentityConfigService\) GetEffective\(ctx context.Context, identityID string, templateID string, opts ...option.RequestOption\) \(res \*EffectiveConfig, err error\)](<#IdentityConfigService.GetEffective>)
+ - [func \(r \*IdentityConfigService\) List\(ctx context.Context, identityID string, params IdentityConfigListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[IdentityConfig\], err error\)](<#IdentityConfigService.List>)
+ - [func \(r \*IdentityConfigService\) ListAutoPaging\(ctx context.Context, identityID string, params IdentityConfigListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[IdentityConfig\]](<#IdentityConfigService.ListAutoPaging>)
+ - [func \(r \*IdentityConfigService\) Upsert\(ctx context.Context, identityID string, templateID string, params IdentityConfigUpsertParams, opts ...option.RequestOption\) \(res \*IdentityConfig, err error\)](<#IdentityConfigService.Upsert>)
+- [type IdentityConfigSpec](<#IdentityConfigSpec>)
+ - [func \(r IdentityConfigSpec\) RawJSON\(\) string](<#IdentityConfigSpec.RawJSON>)
+ - [func \(r \*IdentityConfigSpec\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityConfigSpec.UnmarshalJSON>)
+- [type IdentityConfigSpecParam](<#IdentityConfigSpecParam>)
+ - [func \(r IdentityConfigSpecParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#IdentityConfigSpecParam.MarshalJSON>)
+ - [func \(r \*IdentityConfigSpecParam\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityConfigSpecParam.UnmarshalJSON>)
+- [type IdentityConfigUpsertParams](<#IdentityConfigUpsertParams>)
+ - [func \(r IdentityConfigUpsertParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#IdentityConfigUpsertParams.MarshalJSON>)
+ - [func \(r \*IdentityConfigUpsertParams\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityConfigUpsertParams.UnmarshalJSON>)
+- [type IdentityListParams](<#IdentityListParams>)
+ - [func \(r IdentityListParams\) URLQuery\(\) \(url.Values, error\)](<#IdentityListParams.URLQuery>)
+- [type IdentityListTemplatesResponse](<#IdentityListTemplatesResponse>)
+ - [func \(r IdentityListTemplatesResponse\) RawJSON\(\) string](<#IdentityListTemplatesResponse.RawJSON>)
+ - [func \(r \*IdentityListTemplatesResponse\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityListTemplatesResponse.UnmarshalJSON>)
+- [type IdentityMemoryStoreListResponse](<#IdentityMemoryStoreListResponse>)
+ - [func \(r IdentityMemoryStoreListResponse\) RawJSON\(\) string](<#IdentityMemoryStoreListResponse.RawJSON>)
+ - [func \(r \*IdentityMemoryStoreListResponse\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityMemoryStoreListResponse.UnmarshalJSON>)
+- [type IdentityMemoryStoreMountParams](<#IdentityMemoryStoreMountParams>)
+ - [func \(r IdentityMemoryStoreMountParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#IdentityMemoryStoreMountParams.MarshalJSON>)
+ - [func \(r \*IdentityMemoryStoreMountParams\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityMemoryStoreMountParams.UnmarshalJSON>)
+- [type IdentityMemoryStoreService](<#IdentityMemoryStoreService>)
+ - [func NewIdentityMemoryStoreService\(opts ...option.RequestOption\) IdentityMemoryStoreService](<#NewIdentityMemoryStoreService>)
+ - [func \(r \*IdentityMemoryStoreService\) Detach\(ctx context.Context, identityID string, templateID string, memoryStoreID string, opts ...option.RequestOption\) \(res \*DeletedMemoryStoreMount, err error\)](<#IdentityMemoryStoreService.Detach>)
+ - [func \(r \*IdentityMemoryStoreService\) List\(ctx context.Context, identityID string, templateID string, opts ...option.RequestOption\) \(res \*IdentityMemoryStoreListResponse, err error\)](<#IdentityMemoryStoreService.List>)
+ - [func \(r \*IdentityMemoryStoreService\) Mount\(ctx context.Context, identityID string, templateID string, params IdentityMemoryStoreMountParams, opts ...option.RequestOption\) \(res \*MemoryStoreMount, err error\)](<#IdentityMemoryStoreService.Mount>)
+- [type IdentityNewParams](<#IdentityNewParams>)
+ - [func \(r IdentityNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#IdentityNewParams.MarshalJSON>)
+ - [func \(r \*IdentityNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityNewParams.UnmarshalJSON>)
+- [type IdentityService](<#IdentityService>)
+ - [func NewIdentityService\(opts ...option.RequestOption\) IdentityService](<#NewIdentityService>)
+ - [func \(r \*IdentityService\) Clear\(ctx context.Context, identityID string, params IdentityClearParams, opts ...option.RequestOption\) \(res \*IdentityClearResponse, err error\)](<#IdentityService.Clear>)
+ - [func \(r \*IdentityService\) Delete\(ctx context.Context, identityID string, opts ...option.RequestOption\) \(res \*DeletedIdentity, err error\)](<#IdentityService.Delete>)
+ - [func \(r \*IdentityService\) Disable\(ctx context.Context, identityID string, opts ...option.RequestOption\) \(res \*Identity, err error\)](<#IdentityService.Disable>)
+ - [func \(r \*IdentityService\) Enable\(ctx context.Context, identityID string, opts ...option.RequestOption\) \(res \*Identity, err error\)](<#IdentityService.Enable>)
+ - [func \(r \*IdentityService\) EnsureAdmin\(ctx context.Context, opts ...option.RequestOption\) \(res \*Identity, err error\)](<#IdentityService.EnsureAdmin>)
+ - [func \(r \*IdentityService\) Get\(ctx context.Context, identityID string, opts ...option.RequestOption\) \(res \*Identity, err error\)](<#IdentityService.Get>)
+ - [func \(r \*IdentityService\) List\(ctx context.Context, params IdentityListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Identity\], err error\)](<#IdentityService.List>)
+ - [func \(r \*IdentityService\) ListAutoPaging\(ctx context.Context, params IdentityListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Identity\]](<#IdentityService.ListAutoPaging>)
+ - [func \(r \*IdentityService\) ListTemplates\(ctx context.Context, identityID string, opts ...option.RequestOption\) \(res \*IdentityListTemplatesResponse, err error\)](<#IdentityService.ListTemplates>)
+ - [func \(r \*IdentityService\) New\(ctx context.Context, params IdentityNewParams, opts ...option.RequestOption\) \(res \*Identity, err error\)](<#IdentityService.New>)
+ - [func \(r \*IdentityService\) Stats\(ctx context.Context, opts ...option.RequestOption\) \(res \*IdentityStats, err error\)](<#IdentityService.Stats>)
+ - [func \(r \*IdentityService\) Update\(ctx context.Context, identityID string, params IdentityUpdateParams, opts ...option.RequestOption\) \(res \*Identity, err error\)](<#IdentityService.Update>)
+- [type IdentityStats](<#IdentityStats>)
+ - [func \(r IdentityStats\) RawJSON\(\) string](<#IdentityStats.RawJSON>)
+ - [func \(r \*IdentityStats\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityStats.UnmarshalJSON>)
+- [type IdentityTemplate](<#IdentityTemplate>)
+ - [func \(r IdentityTemplate\) RawJSON\(\) string](<#IdentityTemplate.RawJSON>)
+ - [func \(r \*IdentityTemplate\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityTemplate.UnmarshalJSON>)
+- [type IdentityUpdateParams](<#IdentityUpdateParams>)
+ - [func \(r IdentityUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#IdentityUpdateParams.MarshalJSON>)
+ - [func \(r \*IdentityUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#IdentityUpdateParams.UnmarshalJSON>)
+- [type ImageSource](<#ImageSource>)
+ - [func \(r ImageSource\) RawJSON\(\) string](<#ImageSource.RawJSON>)
+ - [func \(r \*ImageSource\) UnmarshalJSON\(data \[\]byte\) error](<#ImageSource.UnmarshalJSON>)
+- [type ImageSourceParam](<#ImageSourceParam>)
+ - [func \(r ImageSourceParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ImageSourceParam.MarshalJSON>)
+ - [func \(r \*ImageSourceParam\) UnmarshalJSON\(data \[\]byte\) error](<#ImageSourceParam.UnmarshalJSON>)
+- [type MCPServer](<#MCPServer>)
+ - [func \(r MCPServer\) RawJSON\(\) string](<#MCPServer.RawJSON>)
+ - [func \(r \*MCPServer\) UnmarshalJSON\(data \[\]byte\) error](<#MCPServer.UnmarshalJSON>)
+- [type MCPServerOverride](<#MCPServerOverride>)
+ - [func \(r MCPServerOverride\) RawJSON\(\) string](<#MCPServerOverride.RawJSON>)
+ - [func \(r \*MCPServerOverride\) UnmarshalJSON\(data \[\]byte\) error](<#MCPServerOverride.UnmarshalJSON>)
+- [type MCPServerOverrideParam](<#MCPServerOverrideParam>)
+ - [func \(r MCPServerOverrideParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#MCPServerOverrideParam.MarshalJSON>)
+ - [func \(r \*MCPServerOverrideParam\) UnmarshalJSON\(data \[\]byte\) error](<#MCPServerOverrideParam.UnmarshalJSON>)
+- [type MCPServerParam](<#MCPServerParam>)
+ - [func \(r MCPServerParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#MCPServerParam.MarshalJSON>)
+ - [func \(r \*MCPServerParam\) UnmarshalJSON\(data \[\]byte\) error](<#MCPServerParam.UnmarshalJSON>)
+- [type Memory](<#Memory>)
+ - [func \(r Memory\) RawJSON\(\) string](<#Memory.RawJSON>)
+ - [func \(r \*Memory\) UnmarshalJSON\(data \[\]byte\) error](<#Memory.UnmarshalJSON>)
+- [type MemoryStore](<#MemoryStore>)
+ - [func \(r MemoryStore\) RawJSON\(\) string](<#MemoryStore.RawJSON>)
+ - [func \(r \*MemoryStore\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryStore.UnmarshalJSON>)
+- [type MemoryStoreListParams](<#MemoryStoreListParams>)
+ - [func \(r MemoryStoreListParams\) URLQuery\(\) \(url.Values, error\)](<#MemoryStoreListParams.URLQuery>)
+- [type MemoryStoreMemoryListParams](<#MemoryStoreMemoryListParams>)
+ - [func \(r MemoryStoreMemoryListParams\) URLQuery\(\) \(url.Values, error\)](<#MemoryStoreMemoryListParams.URLQuery>)
+- [type MemoryStoreMemoryNewParams](<#MemoryStoreMemoryNewParams>)
+ - [func \(r MemoryStoreMemoryNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#MemoryStoreMemoryNewParams.MarshalJSON>)
+ - [func \(r \*MemoryStoreMemoryNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryStoreMemoryNewParams.UnmarshalJSON>)
+- [type MemoryStoreMemoryService](<#MemoryStoreMemoryService>)
+ - [func NewMemoryStoreMemoryService\(opts ...option.RequestOption\) MemoryStoreMemoryService](<#NewMemoryStoreMemoryService>)
+ - [func \(r \*MemoryStoreMemoryService\) Delete\(ctx context.Context, memoryStoreID string, memoryID string, opts ...option.RequestOption\) \(res \*DeletedMemory, err error\)](<#MemoryStoreMemoryService.Delete>)
+ - [func \(r \*MemoryStoreMemoryService\) Get\(ctx context.Context, memoryStoreID string, memoryID string, opts ...option.RequestOption\) \(res \*Memory, err error\)](<#MemoryStoreMemoryService.Get>)
+ - [func \(r \*MemoryStoreMemoryService\) List\(ctx context.Context, memoryStoreID string, params MemoryStoreMemoryListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Memory\], err error\)](<#MemoryStoreMemoryService.List>)
+ - [func \(r \*MemoryStoreMemoryService\) ListAutoPaging\(ctx context.Context, memoryStoreID string, params MemoryStoreMemoryListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Memory\]](<#MemoryStoreMemoryService.ListAutoPaging>)
+ - [func \(r \*MemoryStoreMemoryService\) New\(ctx context.Context, memoryStoreID string, params MemoryStoreMemoryNewParams, opts ...option.RequestOption\) \(res \*Memory, err error\)](<#MemoryStoreMemoryService.New>)
+ - [func \(r \*MemoryStoreMemoryService\) Update\(ctx context.Context, memoryStoreID string, memoryID string, params MemoryStoreMemoryUpdateParams, opts ...option.RequestOption\) \(res \*Memory, err error\)](<#MemoryStoreMemoryService.Update>)
+- [type MemoryStoreMemoryUpdateParams](<#MemoryStoreMemoryUpdateParams>)
+ - [func \(r MemoryStoreMemoryUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#MemoryStoreMemoryUpdateParams.MarshalJSON>)
+ - [func \(r \*MemoryStoreMemoryUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryStoreMemoryUpdateParams.UnmarshalJSON>)
+- [type MemoryStoreMemoryVersionListParams](<#MemoryStoreMemoryVersionListParams>)
+ - [func \(r MemoryStoreMemoryVersionListParams\) URLQuery\(\) \(url.Values, error\)](<#MemoryStoreMemoryVersionListParams.URLQuery>)
+- [type MemoryStoreMemoryVersionService](<#MemoryStoreMemoryVersionService>)
+ - [func NewMemoryStoreMemoryVersionService\(opts ...option.RequestOption\) MemoryStoreMemoryVersionService](<#NewMemoryStoreMemoryVersionService>)
+ - [func \(r \*MemoryStoreMemoryVersionService\) Get\(ctx context.Context, memoryStoreID string, memoryVersionID string, opts ...option.RequestOption\) \(res \*MemoryVersion, err error\)](<#MemoryStoreMemoryVersionService.Get>)
+ - [func \(r \*MemoryStoreMemoryVersionService\) List\(ctx context.Context, memoryStoreID string, params MemoryStoreMemoryVersionListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[MemoryVersion\], err error\)](<#MemoryStoreMemoryVersionService.List>)
+ - [func \(r \*MemoryStoreMemoryVersionService\) ListAutoPaging\(ctx context.Context, memoryStoreID string, params MemoryStoreMemoryVersionListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[MemoryVersion\]](<#MemoryStoreMemoryVersionService.ListAutoPaging>)
+ - [func \(r \*MemoryStoreMemoryVersionService\) Redact\(ctx context.Context, memoryStoreID string, memoryVersionID string, opts ...option.RequestOption\) \(res \*MemoryVersion, err error\)](<#MemoryStoreMemoryVersionService.Redact>)
+- [type MemoryStoreMount](<#MemoryStoreMount>)
+ - [func \(r MemoryStoreMount\) RawJSON\(\) string](<#MemoryStoreMount.RawJSON>)
+ - [func \(r \*MemoryStoreMount\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryStoreMount.UnmarshalJSON>)
+- [type MemoryStoreNewParams](<#MemoryStoreNewParams>)
+ - [func \(r MemoryStoreNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#MemoryStoreNewParams.MarshalJSON>)
+ - [func \(r \*MemoryStoreNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryStoreNewParams.UnmarshalJSON>)
+- [type MemoryStoreService](<#MemoryStoreService>)
+ - [func NewMemoryStoreService\(opts ...option.RequestOption\) MemoryStoreService](<#NewMemoryStoreService>)
+ - [func \(r \*MemoryStoreService\) Archive\(ctx context.Context, memoryStoreID string, opts ...option.RequestOption\) \(res \*MemoryStore, err error\)](<#MemoryStoreService.Archive>)
+ - [func \(r \*MemoryStoreService\) Delete\(ctx context.Context, memoryStoreID string, opts ...option.RequestOption\) \(res \*DeletedMemoryStore, err error\)](<#MemoryStoreService.Delete>)
+ - [func \(r \*MemoryStoreService\) Get\(ctx context.Context, memoryStoreID string, opts ...option.RequestOption\) \(res \*MemoryStore, err error\)](<#MemoryStoreService.Get>)
+ - [func \(r \*MemoryStoreService\) List\(ctx context.Context, params MemoryStoreListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[MemoryStore\], err error\)](<#MemoryStoreService.List>)
+ - [func \(r \*MemoryStoreService\) ListAutoPaging\(ctx context.Context, params MemoryStoreListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[MemoryStore\]](<#MemoryStoreService.ListAutoPaging>)
+ - [func \(r \*MemoryStoreService\) New\(ctx context.Context, params MemoryStoreNewParams, opts ...option.RequestOption\) \(res \*MemoryStore, err error\)](<#MemoryStoreService.New>)
+ - [func \(r \*MemoryStoreService\) Update\(ctx context.Context, memoryStoreID string, params MemoryStoreUpdateParams, opts ...option.RequestOption\) \(res \*MemoryStore, err error\)](<#MemoryStoreService.Update>)
+- [type MemoryStoreUpdateParams](<#MemoryStoreUpdateParams>)
+ - [func \(r MemoryStoreUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#MemoryStoreUpdateParams.MarshalJSON>)
+ - [func \(r \*MemoryStoreUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryStoreUpdateParams.UnmarshalJSON>)
+- [type MemoryVersion](<#MemoryVersion>)
+ - [func \(r MemoryVersion\) RawJSON\(\) string](<#MemoryVersion.RawJSON>)
+ - [func \(r \*MemoryVersion\) UnmarshalJSON\(data \[\]byte\) error](<#MemoryVersion.UnmarshalJSON>)
+- [type Model](<#Model>)
+ - [func \(r Model\) RawJSON\(\) string](<#Model.RawJSON>)
+ - [func \(r \*Model\) UnmarshalJSON\(data \[\]byte\) error](<#Model.UnmarshalJSON>)
+- [type ModelConfig](<#ModelConfig>)
+ - [func \(r ModelConfig\) RawJSON\(\) string](<#ModelConfig.RawJSON>)
+ - [func \(r \*ModelConfig\) UnmarshalJSON\(data \[\]byte\) error](<#ModelConfig.UnmarshalJSON>)
+- [type ModelConfigParam](<#ModelConfigParam>)
+ - [func \(r ModelConfigParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ModelConfigParam.MarshalJSON>)
+ - [func \(r \*ModelConfigParam\) UnmarshalJSON\(data \[\]byte\) error](<#ModelConfigParam.UnmarshalJSON>)
+- [type ModelConfigUnionParam](<#ModelConfigUnionParam>)
+ - [func \(r ModelConfigUnionParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ModelConfigUnionParam.MarshalJSON>)
+ - [func \(r \*ModelConfigUnionParam\) UnmarshalJSON\(data \[\]byte\) error](<#ModelConfigUnionParam.UnmarshalJSON>)
+- [type ModelListResponse](<#ModelListResponse>)
+ - [func \(r ModelListResponse\) RawJSON\(\) string](<#ModelListResponse.RawJSON>)
+ - [func \(r \*ModelListResponse\) UnmarshalJSON\(data \[\]byte\) error](<#ModelListResponse.UnmarshalJSON>)
+- [type ModelService](<#ModelService>)
+ - [func NewModelService\(opts ...option.RequestOption\) ModelService](<#NewModelService>)
+ - [func \(r \*ModelService\) List\(ctx context.Context, opts ...option.RequestOption\) \(res \*ModelListResponse, err error\)](<#ModelService.List>)
+- [type MultiagentConfig](<#MultiagentConfig>)
+ - [func \(r MultiagentConfig\) RawJSON\(\) string](<#MultiagentConfig.RawJSON>)
+ - [func \(r \*MultiagentConfig\) UnmarshalJSON\(data \[\]byte\) error](<#MultiagentConfig.UnmarshalJSON>)
+- [type MultiagentConfigParam](<#MultiagentConfigParam>)
+ - [func \(r MultiagentConfigParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#MultiagentConfigParam.MarshalJSON>)
+ - [func \(r \*MultiagentConfigParam\) UnmarshalJSON\(data \[\]byte\) error](<#MultiagentConfigParam.UnmarshalJSON>)
+- [type MultiagentEntry](<#MultiagentEntry>)
+ - [func \(r MultiagentEntry\) RawJSON\(\) string](<#MultiagentEntry.RawJSON>)
+ - [func \(r \*MultiagentEntry\) UnmarshalJSON\(data \[\]byte\) error](<#MultiagentEntry.UnmarshalJSON>)
+- [type MultiagentEntryParam](<#MultiagentEntryParam>)
+ - [func \(r MultiagentEntryParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#MultiagentEntryParam.MarshalJSON>)
+ - [func \(r \*MultiagentEntryParam\) UnmarshalJSON\(data \[\]byte\) error](<#MultiagentEntryParam.UnmarshalJSON>)
+- [type PermissionPolicy](<#PermissionPolicy>)
+ - [func \(r PermissionPolicy\) RawJSON\(\) string](<#PermissionPolicy.RawJSON>)
+ - [func \(r \*PermissionPolicy\) UnmarshalJSON\(data \[\]byte\) error](<#PermissionPolicy.UnmarshalJSON>)
+- [type PermissionPolicyParam](<#PermissionPolicyParam>)
+ - [func \(r PermissionPolicyParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#PermissionPolicyParam.MarshalJSON>)
+ - [func \(r \*PermissionPolicyParam\) UnmarshalJSON\(data \[\]byte\) error](<#PermissionPolicyParam.UnmarshalJSON>)
+- [type ResourceBinding](<#ResourceBinding>)
+ - [func \(r ResourceBinding\) RawJSON\(\) string](<#ResourceBinding.RawJSON>)
+ - [func \(r \*ResourceBinding\) UnmarshalJSON\(data \[\]byte\) error](<#ResourceBinding.UnmarshalJSON>)
+- [type ResourceBindingParam](<#ResourceBindingParam>)
+ - [func \(r ResourceBindingParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ResourceBindingParam.MarshalJSON>)
+ - [func \(r \*ResourceBindingParam\) UnmarshalJSON\(data \[\]byte\) error](<#ResourceBindingParam.UnmarshalJSON>)
+- [type ResumableSessionEventStream](<#ResumableSessionEventStream>)
+ - [func \(s \*ResumableSessionEventStream\) Close\(\) error](<#ResumableSessionEventStream.Close>)
+ - [func \(s \*ResumableSessionEventStream\) Current\(\) SessionEvent](<#ResumableSessionEventStream.Current>)
+ - [func \(s \*ResumableSessionEventStream\) Err\(\) error](<#ResumableSessionEventStream.Err>)
+ - [func \(s \*ResumableSessionEventStream\) LastEventID\(\) string](<#ResumableSessionEventStream.LastEventID>)
+ - [func \(s \*ResumableSessionEventStream\) Next\(\) bool](<#ResumableSessionEventStream.Next>)
+- [type Schedule](<#Schedule>)
+ - [func \(r Schedule\) RawJSON\(\) string](<#Schedule.RawJSON>)
+ - [func \(r \*Schedule\) UnmarshalJSON\(data \[\]byte\) error](<#Schedule.UnmarshalJSON>)
+- [type ScheduleArchiveManyParams](<#ScheduleArchiveManyParams>)
+ - [func \(r ScheduleArchiveManyParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#ScheduleArchiveManyParams.MarshalJSON>)
+ - [func \(r \*ScheduleArchiveManyParams\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleArchiveManyParams.UnmarshalJSON>)
+- [type ScheduleArchiveManyResponse](<#ScheduleArchiveManyResponse>)
+ - [func \(r ScheduleArchiveManyResponse\) RawJSON\(\) string](<#ScheduleArchiveManyResponse.RawJSON>)
+ - [func \(r \*ScheduleArchiveManyResponse\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleArchiveManyResponse.UnmarshalJSON>)
+- [type ScheduleArchiveParams](<#ScheduleArchiveParams>)
+ - [func \(r ScheduleArchiveParams\) URLQuery\(\) \(url.Values, error\)](<#ScheduleArchiveParams.URLQuery>)
+- [type ScheduleExecution](<#ScheduleExecution>)
+ - [func \(r ScheduleExecution\) RawJSON\(\) string](<#ScheduleExecution.RawJSON>)
+ - [func \(r \*ScheduleExecution\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleExecution.UnmarshalJSON>)
+- [type ScheduleInitialEventsItem](<#ScheduleInitialEventsItem>)
+ - [func \(r ScheduleInitialEventsItem\) RawJSON\(\) string](<#ScheduleInitialEventsItem.RawJSON>)
+ - [func \(r \*ScheduleInitialEventsItem\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleInitialEventsItem.UnmarshalJSON>)
+- [type ScheduleListParams](<#ScheduleListParams>)
+ - [func \(r ScheduleListParams\) URLQuery\(\) \(url.Values, error\)](<#ScheduleListParams.URLQuery>)
+- [type ScheduleNewParams](<#ScheduleNewParams>)
+ - [func \(r ScheduleNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#ScheduleNewParams.MarshalJSON>)
+ - [func \(r \*ScheduleNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleNewParams.UnmarshalJSON>)
+- [type SchedulePauseParams](<#SchedulePauseParams>)
+ - [func \(r SchedulePauseParams\) URLQuery\(\) \(url.Values, error\)](<#SchedulePauseParams.URLQuery>)
+- [type SchedulePausedReason](<#SchedulePausedReason>)
+ - [func \(r SchedulePausedReason\) RawJSON\(\) string](<#SchedulePausedReason.RawJSON>)
+ - [func \(r \*SchedulePausedReason\) UnmarshalJSON\(data \[\]byte\) error](<#SchedulePausedReason.UnmarshalJSON>)
+- [type ScheduleRun](<#ScheduleRun>)
+ - [func \(r ScheduleRun\) RawJSON\(\) string](<#ScheduleRun.RawJSON>)
+ - [func \(r \*ScheduleRun\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleRun.UnmarshalJSON>)
+- [type ScheduleRunGetParams](<#ScheduleRunGetParams>)
+ - [func \(r ScheduleRunGetParams\) URLQuery\(\) \(url.Values, error\)](<#ScheduleRunGetParams.URLQuery>)
+- [type ScheduleRunListParams](<#ScheduleRunListParams>)
+ - [func \(r ScheduleRunListParams\) URLQuery\(\) \(url.Values, error\)](<#ScheduleRunListParams.URLQuery>)
+- [type ScheduleRunParams](<#ScheduleRunParams>)
+ - [func \(r ScheduleRunParams\) URLQuery\(\) \(url.Values, error\)](<#ScheduleRunParams.URLQuery>)
+- [type ScheduleRunService](<#ScheduleRunService>)
+ - [func NewScheduleRunService\(opts ...option.RequestOption\) ScheduleRunService](<#NewScheduleRunService>)
+ - [func \(r \*ScheduleRunService\) Get\(ctx context.Context, runID string, params ScheduleRunGetParams, opts ...option.RequestOption\) \(res \*ScheduleRun, err error\)](<#ScheduleRunService.Get>)
+ - [func \(r \*ScheduleRunService\) List\(ctx context.Context, params ScheduleRunListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[ScheduleRun\], err error\)](<#ScheduleRunService.List>)
+ - [func \(r \*ScheduleRunService\) ListAutoPaging\(ctx context.Context, params ScheduleRunListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[ScheduleRun\]](<#ScheduleRunService.ListAutoPaging>)
+- [type ScheduleRunTriggerContext](<#ScheduleRunTriggerContext>)
+ - [func \(r ScheduleRunTriggerContext\) RawJSON\(\) string](<#ScheduleRunTriggerContext.RawJSON>)
+ - [func \(r \*ScheduleRunTriggerContext\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleRunTriggerContext.UnmarshalJSON>)
+- [type ScheduleService](<#ScheduleService>)
+ - [func NewScheduleService\(opts ...option.RequestOption\) ScheduleService](<#NewScheduleService>)
+ - [func \(r \*ScheduleService\) Archive\(ctx context.Context, scheduleID string, params ScheduleArchiveParams, opts ...option.RequestOption\) \(res \*Schedule, err error\)](<#ScheduleService.Archive>)
+ - [func \(r \*ScheduleService\) ArchiveMany\(ctx context.Context, params ScheduleArchiveManyParams, opts ...option.RequestOption\) \(res \*ScheduleArchiveManyResponse, err error\)](<#ScheduleService.ArchiveMany>)
+ - [func \(r \*ScheduleService\) Get\(ctx context.Context, scheduleID string, opts ...option.RequestOption\) \(res \*Schedule, err error\)](<#ScheduleService.Get>)
+ - [func \(r \*ScheduleService\) List\(ctx context.Context, params ScheduleListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Schedule\], err error\)](<#ScheduleService.List>)
+ - [func \(r \*ScheduleService\) ListAutoPaging\(ctx context.Context, params ScheduleListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Schedule\]](<#ScheduleService.ListAutoPaging>)
+ - [func \(r \*ScheduleService\) New\(ctx context.Context, params ScheduleNewParams, opts ...option.RequestOption\) \(res \*Schedule, err error\)](<#ScheduleService.New>)
+ - [func \(r \*ScheduleService\) Pause\(ctx context.Context, scheduleID string, params SchedulePauseParams, opts ...option.RequestOption\) \(res \*Schedule, err error\)](<#ScheduleService.Pause>)
+ - [func \(r \*ScheduleService\) Run\(ctx context.Context, scheduleID string, params ScheduleRunParams, opts ...option.RequestOption\) \(res \*ScheduleRun, err error\)](<#ScheduleService.Run>)
+ - [func \(r \*ScheduleService\) Unpause\(ctx context.Context, scheduleID string, params ScheduleUnpauseParams, opts ...option.RequestOption\) \(res \*Schedule, err error\)](<#ScheduleService.Unpause>)
+ - [func \(r \*ScheduleService\) Update\(ctx context.Context, scheduleID string, params ScheduleUpdateParams, opts ...option.RequestOption\) \(res \*Schedule, err error\)](<#ScheduleService.Update>)
+- [type ScheduleSinksItem](<#ScheduleSinksItem>)
+ - [func \(r ScheduleSinksItem\) RawJSON\(\) string](<#ScheduleSinksItem.RawJSON>)
+ - [func \(r \*ScheduleSinksItem\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleSinksItem.UnmarshalJSON>)
+- [type ScheduleSinksItemTarget](<#ScheduleSinksItemTarget>)
+ - [func \(r ScheduleSinksItemTarget\) RawJSON\(\) string](<#ScheduleSinksItemTarget.RawJSON>)
+ - [func \(r \*ScheduleSinksItemTarget\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleSinksItemTarget.UnmarshalJSON>)
+- [type ScheduleTriggerPolicy](<#ScheduleTriggerPolicy>)
+ - [func \(r ScheduleTriggerPolicy\) RawJSON\(\) string](<#ScheduleTriggerPolicy.RawJSON>)
+ - [func \(r \*ScheduleTriggerPolicy\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleTriggerPolicy.UnmarshalJSON>)
+- [type ScheduleUnpauseParams](<#ScheduleUnpauseParams>)
+ - [func \(r ScheduleUnpauseParams\) URLQuery\(\) \(url.Values, error\)](<#ScheduleUnpauseParams.URLQuery>)
+- [type ScheduleUpdateParams](<#ScheduleUpdateParams>)
+ - [func \(r ScheduleUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#ScheduleUpdateParams.MarshalJSON>)
+ - [func \(r \*ScheduleUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#ScheduleUpdateParams.UnmarshalJSON>)
+- [type Session](<#Session>)
+ - [func \(r Session\) RawJSON\(\) string](<#Session.RawJSON>)
+ - [func \(r \*Session\) UnmarshalJSON\(data \[\]byte\) error](<#Session.UnmarshalJSON>)
+- [type SessionArchiveParams](<#SessionArchiveParams>)
+ - [func \(r SessionArchiveParams\) URLQuery\(\) \(url.Values, error\)](<#SessionArchiveParams.URLQuery>)
+- [type SessionCancelParams](<#SessionCancelParams>)
+ - [func \(r SessionCancelParams\) URLQuery\(\) \(url.Values, error\)](<#SessionCancelParams.URLQuery>)
+- [type SessionConfig](<#SessionConfig>)
+ - [func \(r SessionConfig\) RawJSON\(\) string](<#SessionConfig.RawJSON>)
+ - [func \(r \*SessionConfig\) UnmarshalJSON\(data \[\]byte\) error](<#SessionConfig.UnmarshalJSON>)
+- [type SessionEvent](<#SessionEvent>)
+ - [func \(r SessionEvent\) ContentBlocks\(\) \(\[\]ContentBlock, error\)](<#SessionEvent.ContentBlocks>)
+ - [func \(r SessionEvent\) RawJSON\(\) string](<#SessionEvent.RawJSON>)
+ - [func \(r \*SessionEvent\) UnmarshalJSON\(data \[\]byte\) error](<#SessionEvent.UnmarshalJSON>)
+- [type SessionEventListParams](<#SessionEventListParams>)
+ - [func \(r SessionEventListParams\) URLQuery\(\) \(url.Values, error\)](<#SessionEventListParams.URLQuery>)
+- [type SessionEventParam](<#SessionEventParam>)
+ - [func \(r SessionEventParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionEventParam.MarshalJSON>)
+ - [func \(r \*SessionEventParam\) UnmarshalJSON\(data \[\]byte\) error](<#SessionEventParam.UnmarshalJSON>)
+- [type SessionEventSendParams](<#SessionEventSendParams>)
+ - [func \(r SessionEventSendParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionEventSendParams.MarshalJSON>)
+ - [func \(r \*SessionEventSendParams\) UnmarshalJSON\(data \[\]byte\) error](<#SessionEventSendParams.UnmarshalJSON>)
+- [type SessionEventSendResponse](<#SessionEventSendResponse>)
+ - [func \(r SessionEventSendResponse\) RawJSON\(\) string](<#SessionEventSendResponse.RawJSON>)
+ - [func \(r \*SessionEventSendResponse\) UnmarshalJSON\(data \[\]byte\) error](<#SessionEventSendResponse.UnmarshalJSON>)
+- [type SessionEventService](<#SessionEventService>)
+ - [func NewSessionEventService\(opts ...option.RequestOption\) SessionEventService](<#NewSessionEventService>)
+ - [func \(r \*SessionEventService\) List\(ctx context.Context, sessionID string, params SessionEventListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[SessionEvent\], err error\)](<#SessionEventService.List>)
+ - [func \(r \*SessionEventService\) ListAutoPaging\(ctx context.Context, sessionID string, params SessionEventListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[SessionEvent\]](<#SessionEventService.ListAutoPaging>)
+ - [func \(r \*SessionEventService\) NewResumableStream\(ctx context.Context, sessionID string, params SessionEventStreamParams, opts ...option.RequestOption\) \*ResumableSessionEventStream](<#SessionEventService.NewResumableStream>)
+ - [func \(r \*SessionEventService\) Send\(ctx context.Context, sessionID string, params SessionEventSendParams, opts ...option.RequestOption\) \(res \*SessionEventSendResponse, err error\)](<#SessionEventService.Send>)
+ - [func \(r \*SessionEventService\) StreamEvents\(ctx context.Context, sessionID string, params SessionEventStreamParams, opts ...option.RequestOption\) \*ssestream.Stream\[SessionEvent\]](<#SessionEventService.StreamEvents>)
+- [type SessionEventStreamParams](<#SessionEventStreamParams>)
+ - [func \(r SessionEventStreamParams\) URLQuery\(\) \(url.Values, error\)](<#SessionEventStreamParams.URLQuery>)
+- [type SessionListParams](<#SessionListParams>)
+ - [func \(r SessionListParams\) URLQuery\(\) \(url.Values, error\)](<#SessionListParams.URLQuery>)
+- [type SessionNewParams](<#SessionNewParams>)
+ - [func \(r SessionNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionNewParams.MarshalJSON>)
+ - [func \(r \*SessionNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#SessionNewParams.UnmarshalJSON>)
+- [type SessionNewParamsConfigParam](<#SessionNewParamsConfigParam>)
+ - [func \(r SessionNewParamsConfigParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionNewParamsConfigParam.MarshalJSON>)
+ - [func \(r \*SessionNewParamsConfigParam\) UnmarshalJSON\(data \[\]byte\) error](<#SessionNewParamsConfigParam.UnmarshalJSON>)
+- [type SessionResource](<#SessionResource>)
+ - [func \(r SessionResource\) RawJSON\(\) string](<#SessionResource.RawJSON>)
+ - [func \(r \*SessionResource\) UnmarshalJSON\(data \[\]byte\) error](<#SessionResource.UnmarshalJSON>)
+- [type SessionResourceAddParams](<#SessionResourceAddParams>)
+ - [func \(r SessionResourceAddParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionResourceAddParams.MarshalJSON>)
+ - [func \(r \*SessionResourceAddParams\) UnmarshalJSON\(data \[\]byte\) error](<#SessionResourceAddParams.UnmarshalJSON>)
+- [type SessionResourceService](<#SessionResourceService>)
+ - [func NewSessionResourceService\(opts ...option.RequestOption\) SessionResourceService](<#NewSessionResourceService>)
+ - [func \(r \*SessionResourceService\) Add\(ctx context.Context, sessionID string, params SessionResourceAddParams, opts ...option.RequestOption\) \(res \*SessionResource, err error\)](<#SessionResourceService.Add>)
+- [type SessionResourceSpec](<#SessionResourceSpec>)
+ - [func \(r SessionResourceSpec\) RawJSON\(\) string](<#SessionResourceSpec.RawJSON>)
+ - [func \(r \*SessionResourceSpec\) UnmarshalJSON\(data \[\]byte\) error](<#SessionResourceSpec.UnmarshalJSON>)
+- [type SessionResourceSpecParam](<#SessionResourceSpecParam>)
+ - [func \(r SessionResourceSpecParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionResourceSpecParam.MarshalJSON>)
+ - [func \(r \*SessionResourceSpecParam\) UnmarshalJSON\(data \[\]byte\) error](<#SessionResourceSpecParam.UnmarshalJSON>)
+- [type SessionService](<#SessionService>)
+ - [func NewSessionService\(opts ...option.RequestOption\) SessionService](<#NewSessionService>)
+ - [func \(r \*SessionService\) Archive\(ctx context.Context, sessionID string, params SessionArchiveParams, opts ...option.RequestOption\) \(res \*Session, err error\)](<#SessionService.Archive>)
+ - [func \(r \*SessionService\) Cancel\(ctx context.Context, sessionID string, params SessionCancelParams, opts ...option.RequestOption\) \(res \*Session, err error\)](<#SessionService.Cancel>)
+ - [func \(r \*SessionService\) Get\(ctx context.Context, sessionID string, opts ...option.RequestOption\) \(res \*Session, err error\)](<#SessionService.Get>)
+ - [func \(r \*SessionService\) List\(ctx context.Context, params SessionListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Session\], err error\)](<#SessionService.List>)
+ - [func \(r \*SessionService\) ListAutoPaging\(ctx context.Context, params SessionListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Session\]](<#SessionService.ListAutoPaging>)
+ - [func \(r \*SessionService\) New\(ctx context.Context, params SessionNewParams, opts ...option.RequestOption\) \(res \*Session, err error\)](<#SessionService.New>)
+ - [func \(r \*SessionService\) Update\(ctx context.Context, sessionID string, params SessionUpdateParams, opts ...option.RequestOption\) \(res \*Session, err error\)](<#SessionService.Update>)
+- [type SessionStats](<#SessionStats>)
+ - [func \(r SessionStats\) RawJSON\(\) string](<#SessionStats.RawJSON>)
+ - [func \(r \*SessionStats\) UnmarshalJSON\(data \[\]byte\) error](<#SessionStats.UnmarshalJSON>)
+- [type SessionTemplate](<#SessionTemplate>)
+ - [func \(r SessionTemplate\) RawJSON\(\) string](<#SessionTemplate.RawJSON>)
+ - [func \(r \*SessionTemplate\) UnmarshalJSON\(data \[\]byte\) error](<#SessionTemplate.UnmarshalJSON>)
+- [type SessionThread](<#SessionThread>)
+ - [func \(r SessionThread\) RawJSON\(\) string](<#SessionThread.RawJSON>)
+ - [func \(r \*SessionThread\) UnmarshalJSON\(data \[\]byte\) error](<#SessionThread.UnmarshalJSON>)
+- [type SessionThreadArchiveParams](<#SessionThreadArchiveParams>)
+ - [func \(r SessionThreadArchiveParams\) URLQuery\(\) \(url.Values, error\)](<#SessionThreadArchiveParams.URLQuery>)
+- [type SessionThreadEventListParams](<#SessionThreadEventListParams>)
+ - [func \(r SessionThreadEventListParams\) URLQuery\(\) \(url.Values, error\)](<#SessionThreadEventListParams.URLQuery>)
+- [type SessionThreadEventService](<#SessionThreadEventService>)
+ - [func NewSessionThreadEventService\(opts ...option.RequestOption\) SessionThreadEventService](<#NewSessionThreadEventService>)
+ - [func \(r \*SessionThreadEventService\) List\(ctx context.Context, sessionID string, threadID string, params SessionThreadEventListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[SessionEvent\], err error\)](<#SessionThreadEventService.List>)
+ - [func \(r \*SessionThreadEventService\) ListAutoPaging\(ctx context.Context, sessionID string, threadID string, params SessionThreadEventListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[SessionEvent\]](<#SessionThreadEventService.ListAutoPaging>)
+ - [func \(r \*SessionThreadEventService\) StreamEvents\(ctx context.Context, sessionID string, threadID string, params SessionThreadEventStreamParams, opts ...option.RequestOption\) \*ssestream.Stream\[SessionEvent\]](<#SessionThreadEventService.StreamEvents>)
+- [type SessionThreadEventStreamParams](<#SessionThreadEventStreamParams>)
+ - [func \(r SessionThreadEventStreamParams\) URLQuery\(\) \(url.Values, error\)](<#SessionThreadEventStreamParams.URLQuery>)
+- [type SessionThreadListParams](<#SessionThreadListParams>)
+ - [func \(r SessionThreadListParams\) URLQuery\(\) \(url.Values, error\)](<#SessionThreadListParams.URLQuery>)
+- [type SessionThreadService](<#SessionThreadService>)
+ - [func NewSessionThreadService\(opts ...option.RequestOption\) SessionThreadService](<#NewSessionThreadService>)
+ - [func \(r \*SessionThreadService\) Archive\(ctx context.Context, sessionID string, threadID string, params SessionThreadArchiveParams, opts ...option.RequestOption\) \(res \*SessionThread, err error\)](<#SessionThreadService.Archive>)
+ - [func \(r \*SessionThreadService\) Get\(ctx context.Context, sessionID string, threadID string, opts ...option.RequestOption\) \(res \*SessionThread, err error\)](<#SessionThreadService.Get>)
+ - [func \(r \*SessionThreadService\) List\(ctx context.Context, sessionID string, params SessionThreadListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[SessionThread\], err error\)](<#SessionThreadService.List>)
+ - [func \(r \*SessionThreadService\) ListAutoPaging\(ctx context.Context, sessionID string, params SessionThreadListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[SessionThread\]](<#SessionThreadService.ListAutoPaging>)
+- [type SessionThreadStopReason](<#SessionThreadStopReason>)
+ - [func \(r SessionThreadStopReason\) RawJSON\(\) string](<#SessionThreadStopReason.RawJSON>)
+ - [func \(r \*SessionThreadStopReason\) UnmarshalJSON\(data \[\]byte\) error](<#SessionThreadStopReason.UnmarshalJSON>)
+- [type SessionUpdateParams](<#SessionUpdateParams>)
+ - [func \(r SessionUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionUpdateParams.MarshalJSON>)
+ - [func \(r \*SessionUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#SessionUpdateParams.UnmarshalJSON>)
+- [type SessionUpdateParamsConfigParam](<#SessionUpdateParamsConfigParam>)
+ - [func \(r SessionUpdateParamsConfigParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SessionUpdateParamsConfigParam.MarshalJSON>)
+ - [func \(r \*SessionUpdateParamsConfigParam\) UnmarshalJSON\(data \[\]byte\) error](<#SessionUpdateParamsConfigParam.UnmarshalJSON>)
+- [type SessionUsage](<#SessionUsage>)
+ - [func \(r SessionUsage\) RawJSON\(\) string](<#SessionUsage.RawJSON>)
+ - [func \(r \*SessionUsage\) UnmarshalJSON\(data \[\]byte\) error](<#SessionUsage.UnmarshalJSON>)
+- [type Skill](<#Skill>)
+ - [func \(r Skill\) RawJSON\(\) string](<#Skill.RawJSON>)
+ - [func \(r \*Skill\) UnmarshalJSON\(data \[\]byte\) error](<#Skill.UnmarshalJSON>)
+- [type SkillBinding](<#SkillBinding>)
+ - [func \(r SkillBinding\) RawJSON\(\) string](<#SkillBinding.RawJSON>)
+ - [func \(r \*SkillBinding\) UnmarshalJSON\(data \[\]byte\) error](<#SkillBinding.UnmarshalJSON>)
+- [type SkillBindingParam](<#SkillBindingParam>)
+ - [func \(r SkillBindingParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SkillBindingParam.MarshalJSON>)
+ - [func \(r \*SkillBindingParam\) UnmarshalJSON\(data \[\]byte\) error](<#SkillBindingParam.UnmarshalJSON>)
+- [type SkillGetParams](<#SkillGetParams>)
+ - [func \(r SkillGetParams\) URLQuery\(\) \(url.Values, error\)](<#SkillGetParams.URLQuery>)
+- [type SkillListParams](<#SkillListParams>)
+ - [func \(r SkillListParams\) URLQuery\(\) \(url.Values, error\)](<#SkillListParams.URLQuery>)
+- [type SkillNewParams](<#SkillNewParams>)
+ - [func \(r SkillNewParams\) MarshalMultipart\(\) \(\[\]byte, string, error\)](<#SkillNewParams.MarshalMultipart>)
+- [type SkillOverride](<#SkillOverride>)
+ - [func \(r SkillOverride\) RawJSON\(\) string](<#SkillOverride.RawJSON>)
+ - [func \(r \*SkillOverride\) UnmarshalJSON\(data \[\]byte\) error](<#SkillOverride.UnmarshalJSON>)
+- [type SkillOverrideParam](<#SkillOverrideParam>)
+ - [func \(r SkillOverrideParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SkillOverrideParam.MarshalJSON>)
+ - [func \(r \*SkillOverrideParam\) UnmarshalJSON\(data \[\]byte\) error](<#SkillOverrideParam.UnmarshalJSON>)
+- [type SkillService](<#SkillService>)
+ - [func NewSkillService\(opts ...option.RequestOption\) SkillService](<#NewSkillService>)
+ - [func \(r \*SkillService\) Delete\(ctx context.Context, id string, opts ...option.RequestOption\) \(err error\)](<#SkillService.Delete>)
+ - [func \(r \*SkillService\) Get\(ctx context.Context, id string, params SkillGetParams, opts ...option.RequestOption\) \(res \*Skill, err error\)](<#SkillService.Get>)
+ - [func \(r \*SkillService\) List\(ctx context.Context, params SkillListParams, opts ...option.RequestOption\) \(res \*pagination.PageCursor\[Skill\], err error\)](<#SkillService.List>)
+ - [func \(r \*SkillService\) ListAutoPaging\(ctx context.Context, params SkillListParams, opts ...option.RequestOption\) \*pagination.PageCursorAutoPager\[Skill\]](<#SkillService.ListAutoPaging>)
+ - [func \(r \*SkillService\) New\(ctx context.Context, params SkillNewParams, opts ...option.RequestOption\) \(res \*Skill, err error\)](<#SkillService.New>)
+ - [func \(r \*SkillService\) Update\(ctx context.Context, id string, params SkillUpdateParams, opts ...option.RequestOption\) \(res \*Skill, err error\)](<#SkillService.Update>)
+- [type SkillUpdateParams](<#SkillUpdateParams>)
+ - [func \(r SkillUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#SkillUpdateParams.MarshalJSON>)
+ - [func \(r \*SkillUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#SkillUpdateParams.UnmarshalJSON>)
+- [type SkillVersion](<#SkillVersion>)
+ - [func \(r SkillVersion\) RawJSON\(\) string](<#SkillVersion.RawJSON>)
+ - [func \(r \*SkillVersion\) UnmarshalJSON\(data \[\]byte\) error](<#SkillVersion.UnmarshalJSON>)
+- [type SkillVersionListParams](<#SkillVersionListParams>)
+ - [func \(r SkillVersionListParams\) URLQuery\(\) \(url.Values, error\)](<#SkillVersionListParams.URLQuery>)
+- [type SkillVersionNewParams](<#SkillVersionNewParams>)
+ - [func \(r SkillVersionNewParams\) MarshalMultipart\(\) \(\[\]byte, string, error\)](<#SkillVersionNewParams.MarshalMultipart>)
+- [type SkillVersionService](<#SkillVersionService>)
+ - [func NewSkillVersionService\(opts ...option.RequestOption\) SkillVersionService](<#NewSkillVersionService>)
+ - [func \(r \*SkillVersionService\) Delete\(ctx context.Context, id string, version string, opts ...option.RequestOption\) \(res \*DeletedSkillVersion, err error\)](<#SkillVersionService.Delete>)
+ - [func \(r \*SkillVersionService\) Download\(ctx context.Context, id string, version string, opts ...option.RequestOption\) \(res \*http.Response, err error\)](<#SkillVersionService.Download>)
+ - [func \(r \*SkillVersionService\) Get\(ctx context.Context, id string, version string, opts ...option.RequestOption\) \(res \*SkillVersion, err error\)](<#SkillVersionService.Get>)
+ - [func \(r \*SkillVersionService\) List\(ctx context.Context, id string, params SkillVersionListParams, opts ...option.RequestOption\) \(res \*pagination.PageCursor\[SkillVersion\], err error\)](<#SkillVersionService.List>)
+ - [func \(r \*SkillVersionService\) ListAutoPaging\(ctx context.Context, id string, params SkillVersionListParams, opts ...option.RequestOption\) \*pagination.PageCursorAutoPager\[SkillVersion\]](<#SkillVersionService.ListAutoPaging>)
+ - [func \(r \*SkillVersionService\) New\(ctx context.Context, id string, params SkillVersionNewParams, opts ...option.RequestOption\) \(res \*SkillVersion, err error\)](<#SkillVersionService.New>)
+- [type SystemOverride](<#SystemOverride>)
+ - [func \(r SystemOverride\) RawJSON\(\) string](<#SystemOverride.RawJSON>)
+ - [func \(r \*SystemOverride\) UnmarshalJSON\(data \[\]byte\) error](<#SystemOverride.UnmarshalJSON>)
+- [type SystemOverrideParam](<#SystemOverrideParam>)
+ - [func \(r SystemOverrideParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#SystemOverrideParam.MarshalJSON>)
+ - [func \(r \*SystemOverrideParam\) UnmarshalJSON\(data \[\]byte\) error](<#SystemOverrideParam.UnmarshalJSON>)
+- [type Template](<#Template>)
+ - [func \(r Template\) RawJSON\(\) string](<#Template.RawJSON>)
+ - [func \(r \*Template\) UnmarshalJSON\(data \[\]byte\) error](<#Template.UnmarshalJSON>)
+- [type TemplateArchiveParams](<#TemplateArchiveParams>)
+ - [func \(r TemplateArchiveParams\) URLQuery\(\) \(url.Values, error\)](<#TemplateArchiveParams.URLQuery>)
+- [type TemplateCloneParams](<#TemplateCloneParams>)
+ - [func \(r TemplateCloneParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#TemplateCloneParams.MarshalJSON>)
+ - [func \(r \*TemplateCloneParams\) UnmarshalJSON\(data \[\]byte\) error](<#TemplateCloneParams.UnmarshalJSON>)
+- [type TemplateListParams](<#TemplateListParams>)
+ - [func \(r TemplateListParams\) URLQuery\(\) \(url.Values, error\)](<#TemplateListParams.URLQuery>)
+- [type TemplateNewParams](<#TemplateNewParams>)
+ - [func \(r TemplateNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#TemplateNewParams.MarshalJSON>)
+ - [func \(r \*TemplateNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#TemplateNewParams.UnmarshalJSON>)
+- [type TemplateService](<#TemplateService>)
+ - [func NewTemplateService\(opts ...option.RequestOption\) TemplateService](<#NewTemplateService>)
+ - [func \(r \*TemplateService\) Archive\(ctx context.Context, templateID string, params TemplateArchiveParams, opts ...option.RequestOption\) \(res \*Template, err error\)](<#TemplateService.Archive>)
+ - [func \(r \*TemplateService\) Clone\(ctx context.Context, templateID string, params TemplateCloneParams, opts ...option.RequestOption\) \(res \*Template, err error\)](<#TemplateService.Clone>)
+ - [func \(r \*TemplateService\) Get\(ctx context.Context, templateID string, opts ...option.RequestOption\) \(res \*Template, err error\)](<#TemplateService.Get>)
+ - [func \(r \*TemplateService\) List\(ctx context.Context, params TemplateListParams, opts ...option.RequestOption\) \(res \*pagination.Page\[Template\], err error\)](<#TemplateService.List>)
+ - [func \(r \*TemplateService\) ListAutoPaging\(ctx context.Context, params TemplateListParams, opts ...option.RequestOption\) \*pagination.PageAutoPager\[Template\]](<#TemplateService.ListAutoPaging>)
+ - [func \(r \*TemplateService\) New\(ctx context.Context, params TemplateNewParams, opts ...option.RequestOption\) \(res \*Template, err error\)](<#TemplateService.New>)
+ - [func \(r \*TemplateService\) Update\(ctx context.Context, templateID string, params TemplateUpdateParams, opts ...option.RequestOption\) \(res \*Template, err error\)](<#TemplateService.Update>)
+- [type TemplateUpdateParams](<#TemplateUpdateParams>)
+ - [func \(r TemplateUpdateParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#TemplateUpdateParams.MarshalJSON>)
+ - [func \(r \*TemplateUpdateParams\) UnmarshalJSON\(data \[\]byte\) error](<#TemplateUpdateParams.UnmarshalJSON>)
+- [type Tool](<#Tool>)
+ - [func \(r Tool\) RawJSON\(\) string](<#Tool.RawJSON>)
+ - [func \(r \*Tool\) UnmarshalJSON\(data \[\]byte\) error](<#Tool.UnmarshalJSON>)
+- [type ToolConfig](<#ToolConfig>)
+ - [func \(r ToolConfig\) RawJSON\(\) string](<#ToolConfig.RawJSON>)
+ - [func \(r \*ToolConfig\) UnmarshalJSON\(data \[\]byte\) error](<#ToolConfig.UnmarshalJSON>)
+- [type ToolConfigParam](<#ToolConfigParam>)
+ - [func \(r ToolConfigParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ToolConfigParam.MarshalJSON>)
+ - [func \(r \*ToolConfigParam\) UnmarshalJSON\(data \[\]byte\) error](<#ToolConfigParam.UnmarshalJSON>)
+- [type ToolOverride](<#ToolOverride>)
+ - [func \(r ToolOverride\) RawJSON\(\) string](<#ToolOverride.RawJSON>)
+ - [func \(r \*ToolOverride\) UnmarshalJSON\(data \[\]byte\) error](<#ToolOverride.UnmarshalJSON>)
+- [type ToolOverrideParam](<#ToolOverrideParam>)
+ - [func \(r ToolOverrideParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ToolOverrideParam.MarshalJSON>)
+ - [func \(r \*ToolOverrideParam\) UnmarshalJSON\(data \[\]byte\) error](<#ToolOverrideParam.UnmarshalJSON>)
+- [type ToolParam](<#ToolParam>)
+ - [func \(r ToolParam\) MarshalJSON\(\) \(\[\]byte, error\)](<#ToolParam.MarshalJSON>)
+ - [func \(r \*ToolParam\) UnmarshalJSON\(data \[\]byte\) error](<#ToolParam.UnmarshalJSON>)
+- [type Vault](<#Vault>)
+ - [func \(r Vault\) RawJSON\(\) string](<#Vault.RawJSON>)
+ - [func \(r \*Vault\) UnmarshalJSON\(data \[\]byte\) error](<#Vault.UnmarshalJSON>)
+- [type VaultCredential](<#VaultCredential>)
+ - [func \(r VaultCredential\) RawJSON\(\) string](<#VaultCredential.RawJSON>)
+ - [func \(r \*VaultCredential\) UnmarshalJSON\(data \[\]byte\) error](<#VaultCredential.UnmarshalJSON>)
+- [type VaultCredentialAuth](<#VaultCredentialAuth>)
+ - [func \(r VaultCredentialAuth\) RawJSON\(\) string](<#VaultCredentialAuth.RawJSON>)
+ - [func \(r \*VaultCredentialAuth\) UnmarshalJSON\(data \[\]byte\) error](<#VaultCredentialAuth.UnmarshalJSON>)
+- [type VaultCredentialListParams](<#VaultCredentialListParams>)
+ - [func \(r VaultCredentialListParams\) URLQuery\(\) \(url.Values, error\)](<#VaultCredentialListParams.URLQuery>)
+- [type VaultCredentialNewParams](<#VaultCredentialNewParams>)
+ - [func \(r VaultCredentialNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#VaultCredentialNewParams.MarshalJSON>)
+ - [func \(r \*VaultCredentialNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#VaultCredentialNewParams.UnmarshalJSON>)
+- [type VaultCredentialService](<#VaultCredentialService>)
+ - [func NewVaultCredentialService\(opts ...option.RequestOption\) VaultCredentialService](<#NewVaultCredentialService>)
+ - [func \(r \*VaultCredentialService\) Delete\(ctx context.Context, id string, credID string, opts ...option.RequestOption\) \(err error\)](<#VaultCredentialService.Delete>)
+ - [func \(r \*VaultCredentialService\) Get\(ctx context.Context, id string, credID string, opts ...option.RequestOption\) \(res \*VaultCredential, err error\)](<#VaultCredentialService.Get>)
+ - [func \(r \*VaultCredentialService\) List\(ctx context.Context, id string, params VaultCredentialListParams, opts ...option.RequestOption\) \(res \*pagination.PageCursor\[VaultCredential\], err error\)](<#VaultCredentialService.List>)
+ - [func \(r \*VaultCredentialService\) ListAutoPaging\(ctx context.Context, id string, params VaultCredentialListParams, opts ...option.RequestOption\) \*pagination.PageCursorAutoPager\[VaultCredential\]](<#VaultCredentialService.ListAutoPaging>)
+ - [func \(r \*VaultCredentialService\) New\(ctx context.Context, id string, params VaultCredentialNewParams, opts ...option.RequestOption\) \(res \*VaultCredential, err error\)](<#VaultCredentialService.New>)
+- [type VaultListParams](<#VaultListParams>)
+ - [func \(r VaultListParams\) URLQuery\(\) \(url.Values, error\)](<#VaultListParams.URLQuery>)
+- [type VaultNewParams](<#VaultNewParams>)
+ - [func \(r VaultNewParams\) MarshalJSON\(\) \(\[\]byte, error\)](<#VaultNewParams.MarshalJSON>)
+ - [func \(r \*VaultNewParams\) UnmarshalJSON\(data \[\]byte\) error](<#VaultNewParams.UnmarshalJSON>)
+- [type VaultService](<#VaultService>)
+ - [func NewVaultService\(opts ...option.RequestOption\) VaultService](<#NewVaultService>)
+ - [func \(r \*VaultService\) Delete\(ctx context.Context, id string, opts ...option.RequestOption\) \(err error\)](<#VaultService.Delete>)
+ - [func \(r \*VaultService\) Get\(ctx context.Context, id string, opts ...option.RequestOption\) \(res \*Vault, err error\)](<#VaultService.Get>)
+ - [func \(r \*VaultService\) List\(ctx context.Context, params VaultListParams, opts ...option.RequestOption\) \(res \*pagination.PageCursor\[Vault\], err error\)](<#VaultService.List>)
+ - [func \(r \*VaultService\) ListAutoPaging\(ctx context.Context, params VaultListParams, opts ...option.RequestOption\) \*pagination.PageCursorAutoPager\[Vault\]](<#VaultService.ListAutoPaging>)
+ - [func \(r \*VaultService\) New\(ctx context.Context, params VaultNewParams, opts ...option.RequestOption\) \(res \*Vault, err error\)](<#VaultService.New>)
+
+
+## Constants
+
+
+
+```go
+const DefaultBaseURL = "https://api.qoder.com/api/v1/forward/"
+```
+
+
+## func [Bool]()
+
+```go
+func Bool(v bool) param.Opt[bool]
+```
+
+
+
+
+## func [Float]()
+
+```go
+func Float(v float64) param.Opt[float64]
+```
+
+
+
+
+## func [Int]()
+
+```go
+func Int(v int64) param.Opt[int64]
+```
+
+
+
+
+## func [String]()
+
+```go
+func String(v string) param.Opt[string]
+```
+
+
+
+
+## type [Batch]()
+
+
+
+```go
+type Batch struct {
+ // Batch ID, prefixed with `batch_`.
+ ID string `json:"id"`
+ // Always `batch`.
+ Object string `json:"object"`
+ // Batch status; see the status descriptions.
+ Status string `json:"status"`
+ // Input JSONL file ID.
+ InputFileID string `json:"input_file_id"`
+ // File ID of successful results; omitted while incomplete or not yet generated.
+ OutputFileID string `json:"output_file_id"`
+ // Completion window: `24h`, `48h` or `72h`.
+ CompletionWindow string `json:"completion_window"`
+ // Creation time in RFC 3339.
+ CreatedAt time.Time `json:"created_at" format:"date-time"`
+ // Expiration time, `created_at` + `completion_window`.
+ ExpiresAt time.Time `json:"expires_at" format:"date-time"`
+ // Aggregated task counts.
+ RequestCounts BatchRequestCounts `json:"request_counts"`
+ // `null` on the create response; on later Batch get, list and cancel responses it returns
+ // the Credit total once at least one subtask has valid CAS Session usage.
+ Usage BatchUsage `json:"usage" api:"nullable"`
+ // Caller business metadata.
+ Metadata map[string]any `json:"metadata"`
+ // Total number of lines, including lines that failed validation.
+ Total int64 `json:"total"`
+ // Number of lines waiting to run.
+ Pending int64 `json:"pending"`
+ // Number of lines currently running.
+ Running int64 `json:"running"`
+ // Number of lines that completed successfully.
+ Completed int64 `json:"completed"`
+ // Number of permanently failed lines, including validation failures.
+ Failed int64 `json:"failed"`
+ // Number of lines terminated by cancellation.
+ Cancelled int64 `json:"cancelled"`
+ // Number of lines terminated by expiration.
+ Expired int64 `json:"expired"`
+ // File ID of failed-line results; omitted when there are no failed lines.
+ ErrorFileID string `json:"error_file_id"`
+ // Batch-level error description; present only in the `failed` status.
+ ErrorMessage string `json:"error_message"`
+ JSON struct {
+ ID respjson.Field
+ Object respjson.Field
+ Status respjson.Field
+ InputFileID respjson.Field
+ OutputFileID respjson.Field
+ CompletionWindow respjson.Field
+ CreatedAt respjson.Field
+ ExpiresAt respjson.Field
+ RequestCounts respjson.Field
+ Usage respjson.Field
+ Metadata respjson.Field
+ Total respjson.Field
+ Pending respjson.Field
+ Running respjson.Field
+ Completed respjson.Field
+ Failed respjson.Field
+ Cancelled respjson.Field
+ Expired respjson.Field
+ ErrorFileID respjson.Field
+ ErrorMessage respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(Batch\) [RawJSON]()
+
+```go
+func (r Batch) RawJSON() string
+```
+
+
+
+
+### func \(\*Batch\) [UnmarshalJSON]()
+
+```go
+func (r *Batch) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchCancelParams]()
+
+
+
+```go
+type BatchCancelParams struct {
+ // Optional idempotency key for requests with side effects.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(BatchCancelParams\) [URLQuery]()
+
+```go
+func (r BatchCancelParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [BatchFile]()
+
+
+
+```go
+type BatchFile struct {
+ // Pre-signed OSS download URL with `Expires` / `OSSAccessKeyId` / `Signature` and
+ // `response-content-disposition`; the file downloads as `batch--output.jsonl`.
+ URL string `json:"url"`
+ // Link expiration time in RFC 3339; the download must finish before it.
+ ExpiresAt time.Time `json:"expires_at" format:"date-time"`
+ JSON struct {
+ URL respjson.Field
+ ExpiresAt respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchFile\) [RawJSON]()
+
+```go
+func (r BatchFile) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchFile\) [UnmarshalJSON]()
+
+```go
+func (r *BatchFile) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchListParams]()
+
+
+
+```go
+type BatchListParams struct {
+ // Filter by status.
+ Status param.Opt[string] `query:"status,omitzero" json:"-"`
+ // Page size, up to 100.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Cursor for the next page.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // Cursor for the previous page.
+ BeforeID param.Opt[string] `query:"before_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(BatchListParams\) [URLQuery]()
+
+```go
+func (r BatchListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [BatchNewParams]()
+
+
+
+```go
+type BatchNewParams struct {
+ // ID of a JSONL file uploaded through the Files API.
+ InputFileID string `json:"input_file_id" api:"required"`
+ // Completion window: `24h`, `48h` or `72h`. The Batch moves to `expired` when it elapses.
+ CompletionWindow string `json:"completion_window" api:"required"`
+ // Caller business metadata, up to 16 keys; values may be any JSON type; the serialized
+ // object must be ≤ 2KB, keys ≤ 64 characters, and must not contain NUL (U+0000).
+ Metadata map[string]any `json:"metadata,omitzero"`
+ // Optional idempotency key for requests with side effects.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(BatchNewParams\) [MarshalJSON]()
+
+```go
+func (r BatchNewParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*BatchNewParams\) [UnmarshalJSON]()
+
+```go
+func (r *BatchNewParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchRequestCounts]()
+
+
+
+```go
+type BatchRequestCounts struct {
+ Total int64 `json:"total"`
+ Pending int64 `json:"pending"`
+ Running int64 `json:"running"`
+ Completed int64 `json:"completed"`
+ Failed int64 `json:"failed"`
+ Cancelled int64 `json:"cancelled"`
+ Expired int64 `json:"expired"`
+ JSON struct {
+ Total respjson.Field
+ Pending respjson.Field
+ Running respjson.Field
+ Completed respjson.Field
+ Failed respjson.Field
+ Cancelled respjson.Field
+ Expired respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchRequestCounts\) [RawJSON]()
+
+```go
+func (r BatchRequestCounts) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchRequestCounts\) [UnmarshalJSON]()
+
+```go
+func (r *BatchRequestCounts) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchService]()
+
+BatchService provides Forward Batch operations.
+
+```go
+type BatchService struct {
+ Options []option.RequestOption
+ Tasks BatchTaskService
+}
+```
+
+
+### func [NewBatchService]()
+
+```go
+func NewBatchService(opts ...option.RequestOption) BatchService
+```
+
+
+
+
+### func \(\*BatchService\) [Cancel]()
+
+```go
+func (r *BatchService) Cancel(ctx context.Context, batchID string, params BatchCancelParams, opts ...option.RequestOption) (res *Batch, err error)
+```
+
+Cancel Batch
+
+
+### func \(\*BatchService\) [Get]()
+
+```go
+func (r *BatchService) Get(ctx context.Context, batchID string, opts ...option.RequestOption) (res *Batch, err error)
+```
+
+Get Batch
+
+
+### func \(\*BatchService\) [GetError]()
+
+```go
+func (r *BatchService) GetError(ctx context.Context, batchID string, opts ...option.RequestOption) (res *BatchFile, err error)
+```
+
+Get error file
+
+
+### func \(\*BatchService\) [GetOutput]()
+
+```go
+func (r *BatchService) GetOutput(ctx context.Context, batchID string, opts ...option.RequestOption) (res *BatchFile, err error)
+```
+
+Get output file
+
+
+### func \(\*BatchService\) [List]()
+
+```go
+func (r *BatchService) List(ctx context.Context, params BatchListParams, opts ...option.RequestOption) (res *pagination.Page[Batch], err error)
+```
+
+List Batches
+
+
+### func \(\*BatchService\) [ListAutoPaging]()
+
+```go
+func (r *BatchService) ListAutoPaging(ctx context.Context, params BatchListParams, opts ...option.RequestOption) *pagination.PageAutoPager[Batch]
+```
+
+
+
+
+### func \(\*BatchService\) [New]()
+
+```go
+func (r *BatchService) New(ctx context.Context, params BatchNewParams, opts ...option.RequestOption) (res *Batch, err error)
+```
+
+Create Batch
+
+
+## type [BatchTask]()
+
+
+
+```go
+type BatchTask struct {
+ CustomID string `json:"custom_id"`
+ Status string `json:"status"`
+ StartedAt time.Time `json:"started_at" format:"date-time"`
+ CompletedAt time.Time `json:"completed_at" format:"date-time"`
+ OutputSummary string `json:"output_summary"`
+ Usage BatchTaskUsage `json:"usage"`
+ Artifacts []BatchTaskArtifactsItem `json:"artifacts"`
+ Error BatchTaskError `json:"error"`
+ JSON struct {
+ CustomID respjson.Field
+ Status respjson.Field
+ StartedAt respjson.Field
+ CompletedAt respjson.Field
+ OutputSummary respjson.Field
+ Usage respjson.Field
+ Artifacts respjson.Field
+ Error respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchTask\) [RawJSON]()
+
+```go
+func (r BatchTask) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchTask\) [UnmarshalJSON]()
+
+```go
+func (r *BatchTask) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchTaskArtifactsItem]()
+
+
+
+```go
+type BatchTaskArtifactsItem struct {
+ FileID string `json:"file_id"`
+ Name string `json:"name"`
+ Size int64 `json:"size"`
+ ContentType string `json:"content_type"`
+ JSON struct {
+ FileID respjson.Field
+ Name respjson.Field
+ Size respjson.Field
+ ContentType respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchTaskArtifactsItem\) [RawJSON]()
+
+```go
+func (r BatchTaskArtifactsItem) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchTaskArtifactsItem\) [UnmarshalJSON]()
+
+```go
+func (r *BatchTaskArtifactsItem) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchTaskError]()
+
+
+
+```go
+type BatchTaskError struct {
+ Code string `json:"code"`
+ Message string `json:"message"`
+ JSON struct {
+ Code respjson.Field
+ Message respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchTaskError\) [RawJSON]()
+
+```go
+func (r BatchTaskError) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchTaskError\) [UnmarshalJSON]()
+
+```go
+func (r *BatchTaskError) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchTaskListParams]()
+
+
+
+```go
+type BatchTaskListParams struct {
+ // Filter by task status: `pending`, `running`, `completed`, `failed`, `cancelled` or
+ // `expired`.
+ Status param.Opt[string] `query:"status,omitzero" json:"-"`
+ // Exact filter on the caller's task identifier; a single value only, and an unmatched
+ // value returns an empty list.
+ CustomID param.Opt[string] `query:"custom_id,omitzero" json:"-"`
+ // Page size, maximum 100.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Cursor for the next page; pass `last_id` from the previous response. The cursor must
+ // belong to the current Batch.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(BatchTaskListParams\) [URLQuery]()
+
+```go
+func (r BatchTaskListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [BatchTaskService]()
+
+BatchTaskService provides Forward BatchTask operations.
+
+```go
+type BatchTaskService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewBatchTaskService]()
+
+```go
+func NewBatchTaskService(opts ...option.RequestOption) BatchTaskService
+```
+
+
+
+
+### func \(\*BatchTaskService\) [List]()
+
+```go
+func (r *BatchTaskService) List(ctx context.Context, batchID string, params BatchTaskListParams, opts ...option.RequestOption) (res *pagination.Page[BatchTask], err error)
+```
+
+List Batch tasks
+
+
+### func \(\*BatchTaskService\) [ListAutoPaging]()
+
+```go
+func (r *BatchTaskService) ListAutoPaging(ctx context.Context, batchID string, params BatchTaskListParams, opts ...option.RequestOption) *pagination.PageAutoPager[BatchTask]
+```
+
+
+
+
+## type [BatchTaskUsage]()
+
+
+
+```go
+type BatchTaskUsage struct {
+ TotalCredits float64 `json:"total_credits"`
+ JSON struct {
+ TotalCredits respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchTaskUsage\) [RawJSON]()
+
+```go
+func (r BatchTaskUsage) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchTaskUsage\) [UnmarshalJSON]()
+
+```go
+func (r *BatchTaskUsage) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [BatchUsage]()
+
+
+
+```go
+type BatchUsage struct {
+ TotalCredits float64 `json:"total_credits"`
+ JSON struct {
+ TotalCredits respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(BatchUsage\) [RawJSON]()
+
+```go
+func (r BatchUsage) RawJSON() string
+```
+
+
+
+
+### func \(\*BatchUsage\) [UnmarshalJSON]()
+
+```go
+func (r *BatchUsage) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [Channel]()
+
+
+
+```go
+type Channel struct {
+ // Channel ID, prefixed with `channel_` in examples.
+ ID string `json:"id"`
+ // Always `channel`.
+ Type string `json:"type"`
+ // Bound Forward Identity ID in `fixed` mode; `null` in `pairing` mode.
+ IdentityID string `json:"identity_id" api:"nullable"`
+ IdentityResolution ChannelIdentityResolution `json:"identity_resolution"`
+ // Bound Forward Template ID in `fixed` mode; `null` in `pairing` mode.
+ TemplateID string `json:"template_id" api:"nullable"`
+ // External channel type.
+ ChannelType string `json:"channel_type"`
+ Name string `json:"name"`
+ // Manual enable/disable switch.
+ Enabled bool `json:"enabled"`
+ // `unbound`, `bound` or `expired`.
+ BindingStatus string `json:"binding_status"`
+ ChannelConfig ChannelChannelConfig `json:"channel_config"`
+ CreatedAt time.Time `json:"created_at" format:"date-time"`
+ UpdatedAt time.Time `json:"updated_at" format:"date-time"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ IdentityID respjson.Field
+ IdentityResolution respjson.Field
+ TemplateID respjson.Field
+ ChannelType respjson.Field
+ Name respjson.Field
+ Enabled respjson.Field
+ BindingStatus respjson.Field
+ ChannelConfig respjson.Field
+ CreatedAt respjson.Field
+ UpdatedAt respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(Channel\) [RawJSON]()
+
+```go
+func (r Channel) RawJSON() string
+```
+
+
+
+
+### func \(\*Channel\) [UnmarshalJSON]()
+
+```go
+func (r *Channel) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelChannelConfig]()
+
+
+
+```go
+type ChannelChannelConfig struct {
+ ResponseOptions ChannelChannelConfigResponseOptions `json:"response_options"`
+ JSON struct {
+ ResponseOptions respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(ChannelChannelConfig\) [RawJSON]()
+
+```go
+func (r ChannelChannelConfig) RawJSON() string
+```
+
+
+
+
+### func \(\*ChannelChannelConfig\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelChannelConfig) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelChannelConfigResponseOptions]()
+
+
+
+```go
+type ChannelChannelConfigResponseOptions struct {
+ IncludeToolCalls bool `json:"include_tool_calls"`
+ IncludeThinking bool `json:"include_thinking"`
+ JSON struct {
+ IncludeToolCalls respjson.Field
+ IncludeThinking respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(ChannelChannelConfigResponseOptions\) [RawJSON]()
+
+```go
+func (r ChannelChannelConfigResponseOptions) RawJSON() string
+```
+
+
+
+
+### func \(\*ChannelChannelConfigResponseOptions\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelChannelConfigResponseOptions) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelIdentityResolution]()
+
+
+
+```go
+type ChannelIdentityResolution struct {
+ Mode string `json:"mode"`
+ JSON struct {
+ Mode respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(ChannelIdentityResolution\) [RawJSON]()
+
+```go
+func (r ChannelIdentityResolution) RawJSON() string
+```
+
+
+
+
+### func \(\*ChannelIdentityResolution\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelIdentityResolution) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelListParams]()
+
+
+
+```go
+type ChannelListParams struct {
+ // Filter by `wechat`, `wecom`, `feishu`, `dingtalk` or `teams` (Global).
+ ChannelType param.Opt[string] `query:"channel_type,omitzero" json:"-"`
+ // Filter by the manual enable/disable state.
+ Enabled param.Opt[bool] `query:"enabled,omitzero" json:"-"`
+ // Filter by `unbound`, `bound` or `expired`.
+ BindingStatus param.Opt[string] `query:"binding_status,omitzero" json:"-"`
+ // Filter by Forward Identity ID.
+ IdentityID param.Opt[string] `query:"identity_id,omitzero" json:"-"`
+ // Filter by Forward Template ID.
+ TemplateID param.Opt[string] `query:"template_id,omitzero" json:"-"`
+ // Page size, up to 100.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Cursor for the next page.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // Cursor for the previous page.
+ BeforeID param.Opt[string] `query:"before_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(ChannelListParams\) [URLQuery]()
+
+```go
+func (r ChannelListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [ChannelNewParams]()
+
+
+
+```go
+type ChannelNewParams struct {
+ // Required in `fixed` mode; omit in `pairing` mode.
+ IdentityID param.Opt[string] `json:"identity_id,omitzero"`
+ IdentityResolution map[string]any `json:"identity_resolution,omitzero"`
+ // Required in `fixed` mode; omit in `pairing` mode.
+ TemplateID param.Opt[string] `json:"template_id,omitzero"`
+ // Channel type; currently `wechat`, `wecom`, `feishu`, `dingtalk` and `teams` (Global).
+ ChannelType string `json:"channel_type" api:"required"`
+ // Channel display name.
+ Name param.Opt[string] `json:"name,omitzero"`
+ // Manual enable/disable switch, defaults to `true`. Pass `false` to create the Channel
+ // without handling inbound messages yet.
+ Enabled param.Opt[bool] `json:"enabled,omitzero"`
+ ChannelConfig map[string]any `json:"channel_config,omitzero"`
+ // Optional idempotency key for requests with side effects.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(ChannelNewParams\) [MarshalJSON]()
+
+```go
+func (r ChannelNewParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*ChannelNewParams\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelNewParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelPairing]()
+
+
+
+```go
+type ChannelPairing struct {
+ // Pairing ID, used when removing the pairing.
+ ID string `json:"id"`
+ // Always `channel_pairing`.
+ Type string `json:"type"`
+ // Channel ID.
+ ChannelID string `json:"channel_id"`
+ // Bound Forward Identity ID.
+ IdentityID string `json:"identity_id"`
+ // Bound Forward Template ID.
+ TemplateID string `json:"template_id"`
+ // `active` when the pairing succeeded.
+ Status string `json:"status"`
+ // Time the pairing completed.
+ PairedAt string `json:"paired_at"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ ChannelID respjson.Field
+ IdentityID respjson.Field
+ TemplateID respjson.Field
+ Status respjson.Field
+ PairedAt respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(ChannelPairing\) [RawJSON]()
+
+```go
+func (r ChannelPairing) RawJSON() string
+```
+
+
+
+
+### func \(\*ChannelPairing\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelPairing) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelPairingNewParams]()
+
+
+
+```go
+type ChannelPairingNewParams struct {
+ // Six-digit pairing code shown in the Channel message.
+ Code string `json:"code" api:"required"`
+ // Forward Identity ID to bind.
+ IdentityID string `json:"identity_id" api:"required"`
+ // Forward Template ID to bind.
+ TemplateID string `json:"template_id" api:"required"`
+ // Client-generated unique idempotency key, used to safely retry the same pairing
+ // request.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(ChannelPairingNewParams\) [MarshalJSON]()
+
+```go
+func (r ChannelPairingNewParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*ChannelPairingNewParams\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelPairingNewParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelPairingService]()
+
+ChannelPairingService provides Forward ChannelPairing operations.
+
+```go
+type ChannelPairingService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewChannelPairingService]()
+
+```go
+func NewChannelPairingService(opts ...option.RequestOption) ChannelPairingService
+```
+
+
+
+
+### func \(\*ChannelPairingService\) [Delete]()
+
+```go
+func (r *ChannelPairingService) Delete(ctx context.Context, pairingID string, opts ...option.RequestOption) (res *DeletedChannelPairing, err error)
+```
+
+Remove Channel pairing
+
+
+### func \(\*ChannelPairingService\) [New]()
+
+```go
+func (r *ChannelPairingService) New(ctx context.Context, params ChannelPairingNewParams, opts ...option.RequestOption) (res *ChannelPairing, err error)
+```
+
+Complete Channel pairing
+
+
+## type [ChannelQRSession]()
+
+
+
+```go
+type ChannelQRSession struct {
+ // Opaque QR session key used to poll the status.
+ SessionKey string `json:"session_key"`
+ // ID of the associated Channel.
+ ChannelID string `json:"channel_id"`
+ // `wechat`, `feishu`, `dingtalk` or `wecom`.
+ ChannelType string `json:"channel_type"`
+ // Initial status, usually `waiting`.
+ Status string `json:"status"`
+ // Raw QR code content, usually a third-party authorization URL.
+ QRCodeContent string `json:"qr_code_content"`
+ // QR code image generated by the server.
+ QRCodeImageBase64 string `json:"qr_code_image_base64"`
+ // Expiration time.
+ ExpiresAt string `json:"expires_at"`
+ // null|Channel error code on failure.
+ ErrCode string `json:"err_code"`
+ // null|Channel error message on failure.
+ ErrMsg string `json:"err_msg"`
+ JSON struct {
+ SessionKey respjson.Field
+ ChannelID respjson.Field
+ ChannelType respjson.Field
+ Status respjson.Field
+ QRCodeContent respjson.Field
+ QRCodeImageBase64 respjson.Field
+ ExpiresAt respjson.Field
+ ErrCode respjson.Field
+ ErrMsg respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(ChannelQRSession\) [RawJSON]()
+
+```go
+func (r ChannelQRSession) RawJSON() string
+```
+
+
+
+
+### func \(\*ChannelQRSession\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelQRSession) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ChannelQRSessionNewParams]()
+
+
+
+```go
+type ChannelQRSessionNewParams struct {
+ // Optional idempotency key for requests with side effects.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(ChannelQRSessionNewParams\) [URLQuery]()
+
+```go
+func (r ChannelQRSessionNewParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [ChannelQRSessionService]()
+
+ChannelQRSessionService provides Forward ChannelQRSession operations.
+
+```go
+type ChannelQRSessionService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewChannelQRSessionService]()
+
+```go
+func NewChannelQRSessionService(opts ...option.RequestOption) ChannelQRSessionService
+```
+
+
+
+
+### func \(\*ChannelQRSessionService\) [Get]()
+
+```go
+func (r *ChannelQRSessionService) Get(ctx context.Context, sessionKey string, opts ...option.RequestOption) (res *ChannelQRSession, err error)
+```
+
+Get Channel QR Session
+
+
+### func \(\*ChannelQRSessionService\) [New]()
+
+```go
+func (r *ChannelQRSessionService) New(ctx context.Context, channelID string, params ChannelQRSessionNewParams, opts ...option.RequestOption) (res *ChannelQRSession, err error)
+```
+
+Create Channel QR Session
+
+
+## type [ChannelService]()
+
+ChannelService provides Forward Channel operations.
+
+```go
+type ChannelService struct {
+ Options []option.RequestOption
+ QRSessions ChannelQRSessionService
+}
+```
+
+
+### func [NewChannelService]()
+
+```go
+func NewChannelService(opts ...option.RequestOption) ChannelService
+```
+
+
+
+
+### func \(\*ChannelService\) [Delete]()
+
+```go
+func (r *ChannelService) Delete(ctx context.Context, channelID string, opts ...option.RequestOption) (res *DeletedChannel, err error)
+```
+
+Delete Channel
+
+
+### func \(\*ChannelService\) [Get]()
+
+```go
+func (r *ChannelService) Get(ctx context.Context, channelID string, opts ...option.RequestOption) (res *Channel, err error)
+```
+
+Get Channel
+
+
+### func \(\*ChannelService\) [List]()
+
+```go
+func (r *ChannelService) List(ctx context.Context, params ChannelListParams, opts ...option.RequestOption) (res *pagination.Page[Channel], err error)
+```
+
+List Channels
+
+
+### func \(\*ChannelService\) [ListAutoPaging]()
+
+```go
+func (r *ChannelService) ListAutoPaging(ctx context.Context, params ChannelListParams, opts ...option.RequestOption) *pagination.PageAutoPager[Channel]
+```
+
+
+
+
+### func \(\*ChannelService\) [New]()
+
+```go
+func (r *ChannelService) New(ctx context.Context, params ChannelNewParams, opts ...option.RequestOption) (res *Channel, err error)
+```
+
+Create Channel
+
+
+### func \(\*ChannelService\) [Update]()
+
+```go
+func (r *ChannelService) Update(ctx context.Context, channelID string, params ChannelUpdateParams, opts ...option.RequestOption) (res *Channel, err error)
+```
+
+Update Channel
+
+
+## type [ChannelUpdateParams]()
+
+
+
+```go
+type ChannelUpdateParams struct {
+ // Channel display name.
+ Name param.Opt[string] `json:"name,omitzero"`
+ // New Forward Identity ID in `fixed` mode.
+ IdentityID param.Opt[string] `json:"identity_id,omitzero"`
+ // New Forward Template ID in `fixed` mode.
+ TemplateID param.Opt[string] `json:"template_id,omitzero"`
+ // Manual enable/disable switch.
+ Enabled param.Opt[bool] `json:"enabled,omitzero"`
+ ChannelConfig map[string]any `json:"channel_config,omitzero"`
+ // Optional idempotency key for requests with side effects.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(ChannelUpdateParams\) [MarshalJSON]()
+
+```go
+func (r ChannelUpdateParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*ChannelUpdateParams\) [UnmarshalJSON]()
+
+```go
+func (r *ChannelUpdateParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [Client]()
+
+Client exposes Forward resources. Configure options before sharing a client.
+
+```go
+type Client struct {
+ Options []option.RequestOption
+ Templates TemplateService
+ Identities IdentityService
+ Sessions SessionService
+ Schedules ScheduleService
+ ScheduleRuns ScheduleRunService
+ Batches BatchService
+ Channels ChannelService
+ ChannelPairings ChannelPairingService
+ Environments EnvironmentService
+ Files FileService
+ Skills SkillService
+ Vaults VaultService
+ MemoryStores MemoryStoreService
+ Models ModelService
+}
+```
+
+
+### func [NewClient]()
+
+```go
+func NewClient(opts ...option.RequestOption) Client
+```
+
+NewClient reads QODER\_PAT and QODER\_FORWARD\_BASE\_URL. Explicit options win.
+
+
+## type [ContentBlock]()
+
+
+
+```go
+type ContentBlock struct {
+ Type string `json:"type" api:"required"`
+ Text string `json:"text"`
+ Thinking string `json:"thinking"`
+ Source ImageSource `json:"source"`
+ JSON struct {
+ Type respjson.Field
+ Text respjson.Field
+ Thinking respjson.Field
+ Source respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(ContentBlock\) [RawJSON]()
+
+```go
+func (r ContentBlock) RawJSON() string
+```
+
+
+
+
+### func \(\*ContentBlock\) [UnmarshalJSON]()
+
+```go
+func (r *ContentBlock) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [ContentBlockParam]()
+
+
+
+```go
+type ContentBlockParam struct {
+ Type string `json:"type" api:"required"`
+ Text param.Opt[string] `json:"text,omitzero"`
+ Thinking param.Opt[string] `json:"thinking,omitzero"`
+ Source ImageSourceParam `json:"source,omitzero"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(ContentBlockParam\) [MarshalJSON]()
+
+```go
+func (r ContentBlockParam) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*ContentBlockParam\) [UnmarshalJSON]()
+
+```go
+func (r *ContentBlockParam) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedChannel]()
+
+
+
+```go
+type DeletedChannel struct {
+ // ID of the deleted Channel.
+ ID string `json:"id"`
+ // Whether the deletion succeeded; always `true` on success.
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedChannel\) [RawJSON]()
+
+```go
+func (r DeletedChannel) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedChannel\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedChannel) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedChannelPairing]()
+
+
+
+```go
+type DeletedChannelPairing struct {
+ // Pairing ID.
+ ID string `json:"id"`
+ // Whether the pairing was removed; `true` on success.
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedChannelPairing\) [RawJSON]()
+
+```go
+func (r DeletedChannelPairing) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedChannelPairing\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedChannelPairing) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedIdentity]()
+
+
+
+```go
+type DeletedIdentity struct {
+ // ID of the deleted Identity.
+ ID string `json:"id"`
+ // Whether the deletion completed. `true` in a successful response.
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedIdentity\) [RawJSON]()
+
+```go
+func (r DeletedIdentity) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedIdentity\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedIdentity) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedMemory]()
+
+
+
+```go
+type DeletedMemory struct {
+ // ID of the deleted Memory.
+ ID string `json:"id"`
+ // Always `memory_deleted`.
+ Type string `json:"type"`
+ // Whether the Memory was deleted.
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedMemory\) [RawJSON]()
+
+```go
+func (r DeletedMemory) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedMemory\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedMemory) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedMemoryStore]()
+
+
+
+```go
+type DeletedMemoryStore struct {
+ // ID of the deleted Memory Store.
+ ID string `json:"id"`
+ // Always `memory_store_deleted`.
+ Type string `json:"type"`
+ // Whether the Memory Store was deleted.
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedMemoryStore\) [RawJSON]()
+
+```go
+func (r DeletedMemoryStore) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedMemoryStore\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedMemoryStore) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedMemoryStoreMount]()
+
+
+
+```go
+type DeletedMemoryStoreMount struct {
+ // ID of the unmounted Memory Store.
+ ID string `json:"id"`
+ // Always `memory_store_binding_deleted`, as distinct from the `memory_store_deleted`
+ // returned when deleting a Store: this endpoint only removes the mount, and the Store
+ // itself continues to exist.
+ Type string `json:"type"`
+ // Whether the mount was removed.
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedMemoryStoreMount\) [RawJSON]()
+
+```go
+func (r DeletedMemoryStoreMount) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedMemoryStoreMount\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedMemoryStoreMount) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [DeletedSkillVersion]()
+
+
+
+```go
+type DeletedSkillVersion struct {
+ // The deleted version number.
+ ID string `json:"id"`
+ // Always `"skill_version_deleted"`
+ Type string `json:"type"`
+ // Always `true`
+ Deleted bool `json:"deleted"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ Deleted respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(DeletedSkillVersion\) [RawJSON]()
+
+```go
+func (r DeletedSkillVersion) RawJSON() string
+```
+
+
+
+
+### func \(\*DeletedSkillVersion\) [UnmarshalJSON]()
+
+```go
+func (r *DeletedSkillVersion) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EffectiveConfig]()
+
+
+
+```go
+type EffectiveConfig struct {
+ // Always `effective_spec`.
+ Type string `json:"type"`
+ // Hash of the compiled Agent section.
+ AgentEffectiveHash string `json:"agent_effective_hash"`
+ // Hash of the compiled Session section.
+ SessionEffectiveHash string `json:"session_effective_hash"`
+ // Hash of the full effective configuration.
+ EffectiveHash string `json:"effective_hash"`
+ // Compiled Agent configuration.
+ Agent EffectiveConfigAgent `json:"agent"`
+ // Compiled Session defaults.
+ Session EffectiveConfigSession `json:"session"`
+ ID string `json:"id"`
+ IdentityID string `json:"identity_id"`
+ TemplateID string `json:"template_id"`
+ JSON struct {
+ Type respjson.Field
+ AgentEffectiveHash respjson.Field
+ SessionEffectiveHash respjson.Field
+ EffectiveHash respjson.Field
+ Agent respjson.Field
+ Session respjson.Field
+ ID respjson.Field
+ IdentityID respjson.Field
+ TemplateID respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EffectiveConfig\) [RawJSON]()
+
+```go
+func (r EffectiveConfig) RawJSON() string
+```
+
+
+
+
+### func \(\*EffectiveConfig\) [UnmarshalJSON]()
+
+```go
+func (r *EffectiveConfig) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EffectiveConfigAgent]()
+
+
+
+```go
+type EffectiveConfigAgent struct {
+ Model ModelConfig `json:"model"`
+ System string `json:"system"`
+ Tools []EffectiveConfigAgentToolsItem `json:"tools"`
+ MCPServers []map[string]any `json:"mcp_servers"`
+ Skills []map[string]any `json:"skills"`
+ JSON struct {
+ Model respjson.Field
+ System respjson.Field
+ Tools respjson.Field
+ MCPServers respjson.Field
+ Skills respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EffectiveConfigAgent\) [RawJSON]()
+
+```go
+func (r EffectiveConfigAgent) RawJSON() string
+```
+
+
+
+
+### func \(\*EffectiveConfigAgent\) [UnmarshalJSON]()
+
+```go
+func (r *EffectiveConfigAgent) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EffectiveConfigAgentToolsItem]()
+
+
+
+```go
+type EffectiveConfigAgentToolsItem struct {
+ Type string `json:"type"`
+ Configs []EffectiveConfigAgentToolsItemConfigsItem `json:"configs"`
+ JSON struct {
+ Type respjson.Field
+ Configs respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EffectiveConfigAgentToolsItem\) [RawJSON]()
+
+```go
+func (r EffectiveConfigAgentToolsItem) RawJSON() string
+```
+
+
+
+
+### func \(\*EffectiveConfigAgentToolsItem\) [UnmarshalJSON]()
+
+```go
+func (r *EffectiveConfigAgentToolsItem) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EffectiveConfigAgentToolsItemConfigsItem]()
+
+
+
+```go
+type EffectiveConfigAgentToolsItemConfigsItem struct {
+ Name string `json:"name"`
+ Enabled bool `json:"enabled"`
+ JSON struct {
+ Name respjson.Field
+ Enabled respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EffectiveConfigAgentToolsItemConfigsItem\) [RawJSON]()
+
+```go
+func (r EffectiveConfigAgentToolsItemConfigsItem) RawJSON() string
+```
+
+
+
+
+### func \(\*EffectiveConfigAgentToolsItemConfigsItem\) [UnmarshalJSON]()
+
+```go
+func (r *EffectiveConfigAgentToolsItemConfigsItem) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EffectiveConfigSession]()
+
+
+
+```go
+type EffectiveConfigSession struct {
+ EnvironmentID string `json:"environment_id"`
+ EnvironmentVariables map[string]string `json:"environment_variables"`
+ VaultIDs []string `json:"vault_ids"`
+ Resources []EffectiveConfigSessionResourcesItem `json:"resources"`
+ JSON struct {
+ EnvironmentID respjson.Field
+ EnvironmentVariables respjson.Field
+ VaultIDs respjson.Field
+ Resources respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EffectiveConfigSession\) [RawJSON]()
+
+```go
+func (r EffectiveConfigSession) RawJSON() string
+```
+
+
+
+
+### func \(\*EffectiveConfigSession\) [UnmarshalJSON]()
+
+```go
+func (r *EffectiveConfigSession) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EffectiveConfigSessionResourcesItem]()
+
+
+
+```go
+type EffectiveConfigSessionResourcesItem struct {
+ Type string `json:"type"`
+ FileID string `json:"file_id"`
+ URL string `json:"url"`
+ MountPath string `json:"mount_path"`
+ JSON struct {
+ Type respjson.Field
+ FileID respjson.Field
+ URL respjson.Field
+ MountPath respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EffectiveConfigSessionResourcesItem\) [RawJSON]()
+
+```go
+func (r EffectiveConfigSessionResourcesItem) RawJSON() string
+```
+
+
+
+
+### func \(\*EffectiveConfigSessionResourcesItem\) [UnmarshalJSON]()
+
+```go
+func (r *EffectiveConfigSessionResourcesItem) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [Environment]()
+
+
+
+```go
+type Environment struct {
+ ID string `json:"id"`
+ Type string `json:"type"`
+ Name string `json:"name"`
+ Description string `json:"description"`
+ Config EnvironmentConfig `json:"config"`
+ Metadata map[string]any `json:"metadata"`
+ CreatedAt time.Time `json:"created_at" format:"date-time"`
+ UpdatedAt time.Time `json:"updated_at" format:"date-time"`
+ IdentityID string `json:"identity_id" api:"nullable"`
+ ArchivedAt time.Time `json:"archived_at" api:"nullable" format:"date-time"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ Name respjson.Field
+ Description respjson.Field
+ Config respjson.Field
+ Metadata respjson.Field
+ CreatedAt respjson.Field
+ UpdatedAt respjson.Field
+ IdentityID respjson.Field
+ ArchivedAt respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(Environment\) [RawJSON]()
+
+```go
+func (r Environment) RawJSON() string
+```
+
+
+
+
+### func \(\*Environment\) [UnmarshalJSON]()
+
+```go
+func (r *Environment) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentConfig]()
+
+
+
+```go
+type EnvironmentConfig struct {
+ Type string `json:"type"`
+ Packages EnvironmentConfigPackages `json:"packages"`
+ JSON struct {
+ Type respjson.Field
+ Packages respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EnvironmentConfig\) [RawJSON]()
+
+```go
+func (r EnvironmentConfig) RawJSON() string
+```
+
+
+
+
+### func \(\*EnvironmentConfig\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentConfig) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentConfigPackages]()
+
+
+
+```go
+type EnvironmentConfigPackages struct {
+ Type string `json:"type"`
+ Apt []string `json:"apt"`
+ Cargo []string `json:"cargo"`
+ Gem []string `json:"gem"`
+ Go []string `json:"go"`
+ Npm []string `json:"npm"`
+ Pip []string `json:"pip"`
+ JSON struct {
+ Type respjson.Field
+ Apt respjson.Field
+ Cargo respjson.Field
+ Gem respjson.Field
+ Go respjson.Field
+ Npm respjson.Field
+ Pip respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EnvironmentConfigPackages\) [RawJSON]()
+
+```go
+func (r EnvironmentConfigPackages) RawJSON() string
+```
+
+
+
+
+### func \(\*EnvironmentConfigPackages\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentConfigPackages) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentListParams]()
+
+
+
+```go
+type EnvironmentListParams struct {
+ // Page size, maximum 100.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Pagination cursor (recommended); take the value from `next_page` in the previous
+ // response. Mutually exclusive with `after_id` and `before_id`.
+ Page param.Opt[string] `query:"page,omitzero" json:"-"`
+ // Cursor for paging forward; mutually exclusive with `page` and `before_id`.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // Cursor for paging backward; mutually exclusive with `page` and `after_id`.
+ BeforeID param.Opt[string] `query:"before_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(EnvironmentListParams\) [URLQuery]()
+
+```go
+func (r EnvironmentListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [EnvironmentNewParams]()
+
+
+
+```go
+type EnvironmentNewParams struct {
+ // Environment name; must not be empty after trimming surrounding whitespace.
+ Name string `json:"name" api:"required"`
+ // Description.
+ Description param.Opt[string] `json:"description,omitzero"`
+ // Environment runtime configuration; defaults to `{"type":"cloud"}` when omitted.
+ // When passed explicitly it must not be `null` or an empty object. See the schemas
+ // for the available fields.
+ Config map[string]any `json:"config,omitzero"`
+ // [Environment metadata](./schemas.md#environment-metadata); defaults to `{}` when
+ // omitted and must not be `null` when passed explicitly.
+ Metadata map[string]any `json:"metadata,omitzero"`
+ // Recommended on create requests. The same key with the same request is safe to
+ // retry.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(EnvironmentNewParams\) [MarshalJSON]()
+
+```go
+func (r EnvironmentNewParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*EnvironmentNewParams\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentNewParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentService]()
+
+EnvironmentService provides Forward Environment operations.
+
+```go
+type EnvironmentService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewEnvironmentService]()
+
+```go
+func NewEnvironmentService(opts ...option.RequestOption) EnvironmentService
+```
+
+
+
+
+### func \(\*EnvironmentService\) [Archive]()
+
+```go
+func (r *EnvironmentService) Archive(ctx context.Context, id string, opts ...option.RequestOption) (res *Environment, err error)
+```
+
+Archive an environment retained by historical sessions or tool calls.
+
+
+### func \(\*EnvironmentService\) [Delete]()
+
+```go
+func (r *EnvironmentService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (err error)
+```
+
+Delete Environment
+
+
+### func \(\*EnvironmentService\) [Get]()
+
+```go
+func (r *EnvironmentService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *Environment, err error)
+```
+
+Get Environment
+
+
+### func \(\*EnvironmentService\) [List]()
+
+```go
+func (r *EnvironmentService) List(ctx context.Context, params EnvironmentListParams, opts ...option.RequestOption) (res *pagination.PageCursor[Environment], err error)
+```
+
+List Environments
+
+
+### func \(\*EnvironmentService\) [ListAutoPaging]()
+
+```go
+func (r *EnvironmentService) ListAutoPaging(ctx context.Context, params EnvironmentListParams, opts ...option.RequestOption) *pagination.PageCursorAutoPager[Environment]
+```
+
+
+
+
+### func \(\*EnvironmentService\) [New]()
+
+```go
+func (r *EnvironmentService) New(ctx context.Context, params EnvironmentNewParams, opts ...option.RequestOption) (res *Environment, err error)
+```
+
+Create Environment
+
+
+### func \(\*EnvironmentService\) [Update]()
+
+```go
+func (r *EnvironmentService) Update(ctx context.Context, id string, params EnvironmentUpdateParams, opts ...option.RequestOption) (res *Environment, err error)
+```
+
+Update Environment
+
+
+## type [EnvironmentUpdateParams]()
+
+
+
+```go
+type EnvironmentUpdateParams struct {
+ // New name.
+ Name param.Opt[string] `json:"name,omitzero"`
+ // New description.
+ Description param.Opt[string] `json:"description,omitzero"`
+ // New configuration; must not be `null` when passed, an explicit `null` returns 400.
+ // See the schemas for the available fields.
+ Config map[string]any `json:"config,omitzero"`
+ // [Environment metadata](./schemas.md#environment-metadata) to merge; must not be
+ // `null` when passed, an explicit `null` returns 400.
+ Metadata map[string]any `json:"metadata,omitzero"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(EnvironmentUpdateParams\) [MarshalJSON]()
+
+```go
+func (r EnvironmentUpdateParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*EnvironmentUpdateParams\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentUpdateParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentVariableOverride]()
+
+
+
+```go
+type EnvironmentVariableOverride struct {
+ Op string `json:"op" api:"required"`
+ Value string `json:"value"`
+ JSON struct {
+ Op respjson.Field
+ Value respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(EnvironmentVariableOverride\) [RawJSON]()
+
+```go
+func (r EnvironmentVariableOverride) RawJSON() string
+```
+
+
+
+
+### func \(\*EnvironmentVariableOverride\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentVariableOverride) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentVariableOverrideParam]()
+
+
+
+```go
+type EnvironmentVariableOverrideParam struct {
+ Op string `json:"op" api:"required"`
+ Value param.Opt[string] `json:"value,omitzero"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(EnvironmentVariableOverrideParam\) [MarshalJSON]()
+
+```go
+func (r EnvironmentVariableOverrideParam) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*EnvironmentVariableOverrideParam\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentVariableOverrideParam) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [EnvironmentVariablesUnionParam]()
+
+EnvironmentVariablesUnionParam accepts an environment map or the legacy string form. Map values may be nil to express an explicit null during updates.
+
+```go
+type EnvironmentVariablesUnionParam struct {
+ OfMap map[string]any `json:",omitzero,inline"`
+ OfString param.Opt[string] `json:",omitzero,inline"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(EnvironmentVariablesUnionParam\) [MarshalJSON]()
+
+```go
+func (r EnvironmentVariablesUnionParam) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*EnvironmentVariablesUnionParam\) [UnmarshalJSON]()
+
+```go
+func (r *EnvironmentVariablesUnionParam) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [Error]()
+
+
+
+```go
+type Error = convention.Error
+```
+
+
+## type [EventContentUnionParam]()
+
+EventContentUnionParam represents message blocks or a tool result payload.
+
+```go
+type EventContentUnionParam struct {
+ OfBlocks []ContentBlockParam `json:",omitzero,inline"`
+ OfString param.Opt[string] `json:",omitzero,inline"`
+ OfObject map[string]any `json:",omitzero,inline"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(EventContentUnionParam\) [MarshalJSON]()
+
+```go
+func (r EventContentUnionParam) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*EventContentUnionParam\) [UnmarshalJSON]()
+
+```go
+func (r *EventContentUnionParam) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [FileListParams]()
+
+
+
+```go
+type FileListParams struct {
+ // Page size, maximum 100.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Pagination cursor (recommended), taken from `next_page` in the previous response;
+ // mutually exclusive with `after_id` and `before_id`.
+ Page param.Opt[string] `query:"page,omitzero" json:"-"`
+ // Cursor for the next page; mutually exclusive with `page` and `before_id`.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // Cursor for the previous page; mutually exclusive with `page` and `after_id`.
+ BeforeID param.Opt[string] `query:"before_id,omitzero" json:"-"`
+ // Search by filename.
+ Name param.Opt[string] `query:"name,omitzero" json:"-"`
+ // Filter by resource scope ID, commonly used to look up Session resource files. Do
+ // not combine it with `before_id` or `after_id`; cursor parameters currently have no
+ // effect in this filter mode.
+ ScopeID param.Opt[string] `query:"scope_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(FileListParams\) [URLQuery]()
+
+```go
+func (r FileListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [FileMetadata]()
+
+
+
+```go
+type FileMetadata struct {
+ // File ID.
+ ID string `json:"id"`
+ // Always `file`.
+ Type string `json:"type"`
+ // Filename.
+ Filename string `json:"filename"`
+ // File size in bytes.
+ SizeBytes int64 `json:"size_bytes"`
+ // MIME type.
+ MIMEType string `json:"mime_type"`
+ // Creation time in RFC 3339 format.
+ CreatedAt time.Time `json:"created_at" format:"date-time"`
+ // Last update time in RFC 3339 format.
+ UpdatedAt time.Time `json:"updated_at" format:"date-time"`
+ // Whether the file can be downloaded.
+ Downloadable bool `json:"downloadable"`
+ // Resource scope the file belongs to, such as a Session.
+ Scope map[string]any `json:"scope" api:"nullable"`
+ // File metadata.
+ Metadata map[string]any `json:"metadata"`
+ // Owning Forward Identity.
+ IdentityID string `json:"identity_id" api:"nullable"`
+ JSON struct {
+ ID respjson.Field
+ Type respjson.Field
+ Filename respjson.Field
+ SizeBytes respjson.Field
+ MIMEType respjson.Field
+ CreatedAt respjson.Field
+ UpdatedAt respjson.Field
+ Downloadable respjson.Field
+ Scope respjson.Field
+ Metadata respjson.Field
+ IdentityID respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(FileMetadata\) [RawJSON]()
+
+```go
+func (r FileMetadata) RawJSON() string
+```
+
+
+
+
+### func \(\*FileMetadata\) [UnmarshalJSON]()
+
+```go
+func (r *FileMetadata) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [FileService]()
+
+FileService provides Forward File operations.
+
+```go
+type FileService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewFileService]()
+
+```go
+func NewFileService(opts ...option.RequestOption) FileService
+```
+
+
+
+
+### func \(\*FileService\) [Delete]()
+
+```go
+func (r *FileService) Delete(ctx context.Context, fileID string, opts ...option.RequestOption) (err error)
+```
+
+Delete File
+
+
+### func \(\*FileService\) [Download]()
+
+```go
+func (r *FileService) Download(ctx context.Context, fileID string, opts ...option.RequestOption) (res *http.Response, err error)
+```
+
+Download File
+
+
+### func \(\*FileService\) [GetMetadata]()
+
+```go
+func (r *FileService) GetMetadata(ctx context.Context, fileID string, opts ...option.RequestOption) (res *FileMetadata, err error)
+```
+
+Get File
+
+
+### func \(\*FileService\) [List]()
+
+```go
+func (r *FileService) List(ctx context.Context, params FileListParams, opts ...option.RequestOption) (res *pagination.PageCursor[FileMetadata], err error)
+```
+
+List Files
+
+
+### func \(\*FileService\) [ListAutoPaging]()
+
+```go
+func (r *FileService) ListAutoPaging(ctx context.Context, params FileListParams, opts ...option.RequestOption) *pagination.PageCursorAutoPager[FileMetadata]
+```
+
+
+
+
+### func \(\*FileService\) [Upload]()
+
+```go
+func (r *FileService) Upload(ctx context.Context, params FileUploadParams, opts ...option.RequestOption) (res *FileMetadata, err error)
+```
+
+Upload File
+
+
+## type [FileUploadParams]()
+
+
+
+```go
+type FileUploadParams struct {
+ // Content of the file to upload. For accepted types see
+ // [Supported upload file types](./schemas.md).
+ File io.Reader `json:"file" api:"required" format:"binary"`
+ // Display name for the file; the multipart filename is used when omitted. After
+ // normalization the length must be 1-255 bytes.
+ Name param.Opt[string] `json:"name,omitzero"`
+ // Purpose of the file, defaults to `user_upload`; must be `session_resource` when the
+ // file is used as Batch input.
+ Purpose param.Opt[string] `json:"purpose,omitzero"`
+ // Metadata object. `created_by` is reserved and must not be sent (sending it returns
+ // 400).
+ Metadata map[string]any `json:"metadata,omitzero" api:"metadata"`
+ // Optional idempotency key for the create request. When set, the same key may only be
+ // reused for an identical request; when omitted no local idempotent replay protection
+ // is provided.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(FileUploadParams\) [MarshalMultipart]()
+
+```go
+func (r FileUploadParams) MarshalMultipart() ([]byte, string, error)
+```
+
+
+
+
+## type [GitHubRepository]()
+
+
+
+```go
+type GitHubRepository struct {
+ URL string `json:"url"`
+ MountPath string `json:"mount_path"`
+ Enabled bool `json:"enabled"`
+ JSON struct {
+ URL respjson.Field
+ MountPath respjson.Field
+ Enabled respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(GitHubRepository\) [RawJSON]()
+
+```go
+func (r GitHubRepository) RawJSON() string
+```
+
+
+
+
+### func \(\*GitHubRepository\) [UnmarshalJSON]()
+
+```go
+func (r *GitHubRepository) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [GitHubRepositoryParam]()
+
+
+
+```go
+type GitHubRepositoryParam struct {
+ URL param.Opt[string] `json:"url,omitzero"`
+ MountPath param.Opt[string] `json:"mount_path,omitzero"`
+ Enabled param.Opt[bool] `json:"enabled,omitzero"`
+ AuthorizationToken param.Opt[string] `json:"authorization_token,omitzero"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(GitHubRepositoryParam\) [MarshalJSON]()
+
+```go
+func (r GitHubRepositoryParam) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*GitHubRepositoryParam\) [UnmarshalJSON]()
+
+```go
+func (r *GitHubRepositoryParam) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [Identity]()
+
+
+
+```go
+type Identity struct {
+ // Forward Identity ID; the `idn_` prefix is recommended.
+ ID string `json:"id"`
+ // End-user ID in the integrator's system.
+ ExternalID string `json:"external_id"`
+ // Identity display name.
+ Name string `json:"name"`
+ // Identity type. A regular Identity returns `normal`.
+ IdentityType string `json:"identity_type"`
+ // Whether the Identity may continue to be used.
+ Enabled bool `json:"enabled"`
+ // Business metadata.
+ Metadata map[string]any `json:"metadata"`
+ // Creation time, in RFC 3339 format.
+ CreatedAt time.Time `json:"created_at" format:"date-time"`
+ // Last update time, in RFC 3339 format.
+ UpdatedAt time.Time `json:"updated_at" format:"date-time"`
+ JSON struct {
+ ID respjson.Field
+ ExternalID respjson.Field
+ Name respjson.Field
+ IdentityType respjson.Field
+ Enabled respjson.Field
+ Metadata respjson.Field
+ CreatedAt respjson.Field
+ UpdatedAt respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(Identity\) [RawJSON]()
+
+```go
+func (r Identity) RawJSON() string
+```
+
+
+
+
+### func \(\*Identity\) [UnmarshalJSON]()
+
+```go
+func (r *Identity) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityClearParams]()
+
+
+
+```go
+type IdentityClearParams struct {
+ // Reason for clearing; recorded only to capture the caller's intent.
+ Reason param.Opt[string] `json:"reason,omitzero"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(IdentityClearParams\) [MarshalJSON]()
+
+```go
+func (r IdentityClearParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*IdentityClearParams\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityClearParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityClearResponse]()
+
+
+
+```go
+type IdentityClearResponse struct {
+ // ID of the cleared Identity.
+ IdentityID string `json:"identity_id"`
+ // Clear status; `completed` on success.
+ Status string `json:"status"`
+ // Time the Forward-side cleanup completed, in RFC 3339 format.
+ CompletedAt time.Time `json:"completed_at" format:"date-time"`
+ Summary IdentityClearResponseSummary `json:"summary"`
+ JSON struct {
+ IdentityID respjson.Field
+ Status respjson.Field
+ CompletedAt respjson.Field
+ Summary respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(IdentityClearResponse\) [RawJSON]()
+
+```go
+func (r IdentityClearResponse) RawJSON() string
+```
+
+
+
+
+### func \(\*IdentityClearResponse\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityClearResponse) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityClearResponseSummary]()
+
+
+
+```go
+type IdentityClearResponseSummary struct {
+ IdentityConfigsArchived int64 `json:"identity_configs_archived"`
+ ResourceBindingsArchived int64 `json:"resource_bindings_archived"`
+ IdentityOwnedResourcesArchived int64 `json:"identity_owned_resources_archived"`
+ SchedulesArchived int64 `json:"schedules_archived"`
+ ScheduleRunsSkipped int64 `json:"schedule_runs_skipped"`
+ SessionsArchived int64 `json:"sessions_archived"`
+ JSON struct {
+ IdentityConfigsArchived respjson.Field
+ ResourceBindingsArchived respjson.Field
+ IdentityOwnedResourcesArchived respjson.Field
+ SchedulesArchived respjson.Field
+ ScheduleRunsSkipped respjson.Field
+ SessionsArchived respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(IdentityClearResponseSummary\) [RawJSON]()
+
+```go
+func (r IdentityClearResponseSummary) RawJSON() string
+```
+
+
+
+
+### func \(\*IdentityClearResponseSummary\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityClearResponseSummary) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityConfig]()
+
+
+
+```go
+type IdentityConfig struct {
+ // Always `config`.
+ Type string `json:"type"`
+ ID string `json:"id"`
+ // Forward Identity ID.
+ IdentityID string `json:"identity_id"`
+ // Forward Template ID.
+ TemplateID string `json:"template_id"`
+ Name string `json:"name"`
+ Status string `json:"status"`
+ // Hash of the compiled Effective Config.
+ EffectiveHash string `json:"effective_hash"`
+ CreatedAt time.Time `json:"created_at" format:"date-time"`
+ UpdatedAt time.Time `json:"updated_at" format:"date-time"`
+ IdentityConfig IdentityConfigSpec `json:"identity_config"`
+ // Business metadata.
+ Metadata map[string]any `json:"metadata"`
+ JSON struct {
+ Type respjson.Field
+ ID respjson.Field
+ IdentityID respjson.Field
+ TemplateID respjson.Field
+ Name respjson.Field
+ Status respjson.Field
+ EffectiveHash respjson.Field
+ CreatedAt respjson.Field
+ UpdatedAt respjson.Field
+ IdentityConfig respjson.Field
+ Metadata respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(IdentityConfig\) [RawJSON]()
+
+```go
+func (r IdentityConfig) RawJSON() string
+```
+
+
+
+
+### func \(\*IdentityConfig\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityConfig) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityConfigListParams]()
+
+
+
+```go
+type IdentityConfigListParams struct {
+ // Filter by Forward Template ID.
+ TemplateID param.Opt[string] `query:"template_id,omitzero" json:"-"`
+ // Filter by `active` or `archived`.
+ Status param.Opt[string] `query:"status,omitzero" json:"-"`
+ // Page size, maximum 100.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Cursor for the next page, taken from `last_id` in the previous response.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // Cursor for the previous page, taken from `first_id` in the previous response.
+ BeforeID param.Opt[string] `query:"before_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(IdentityConfigListParams\) [URLQuery]()
+
+```go
+func (r IdentityConfigListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [IdentityConfigService]()
+
+IdentityConfigService provides Forward IdentityConfig operations.
+
+```go
+type IdentityConfigService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewIdentityConfigService]()
+
+```go
+func NewIdentityConfigService(opts ...option.RequestOption) IdentityConfigService
+```
+
+
+
+
+### func \(\*IdentityConfigService\) [Get]()
+
+```go
+func (r *IdentityConfigService) Get(ctx context.Context, identityID string, templateID string, opts ...option.RequestOption) (res *IdentityConfig, err error)
+```
+
+Get Identity Config
+
+
+### func \(\*IdentityConfigService\) [GetEffective]()
+
+```go
+func (r *IdentityConfigService) GetEffective(ctx context.Context, identityID string, templateID string, opts ...option.RequestOption) (res *EffectiveConfig, err error)
+```
+
+Get Effective Config
+
+
+### func \(\*IdentityConfigService\) [List]()
+
+```go
+func (r *IdentityConfigService) List(ctx context.Context, identityID string, params IdentityConfigListParams, opts ...option.RequestOption) (res *pagination.Page[IdentityConfig], err error)
+```
+
+List Identity Configs
+
+
+### func \(\*IdentityConfigService\) [ListAutoPaging]()
+
+```go
+func (r *IdentityConfigService) ListAutoPaging(ctx context.Context, identityID string, params IdentityConfigListParams, opts ...option.RequestOption) *pagination.PageAutoPager[IdentityConfig]
+```
+
+
+
+
+### func \(\*IdentityConfigService\) [Upsert]()
+
+```go
+func (r *IdentityConfigService) Upsert(ctx context.Context, identityID string, templateID string, params IdentityConfigUpsertParams, opts ...option.RequestOption) (res *IdentityConfig, err error)
+```
+
+Create or update Identity Config
+
+
+## type [IdentityConfigSpec]()
+
+
+
+```go
+type IdentityConfigSpec struct {
+ System SystemOverride `json:"system"`
+ Model ModelConfig `json:"model"`
+ Tools map[string]ToolOverride `json:"tools"`
+ MCPServers map[string]MCPServerOverride `json:"mcp_servers"`
+ Skills map[string]SkillOverride `json:"skills"`
+ Toolsets map[string]any `json:"toolsets"`
+ AgentMetadata map[string]any `json:"agent_metadata"`
+ Vaults map[string]ResourceBinding `json:"vaults"`
+ Files map[string]ResourceBinding `json:"files"`
+ GitHubRepositories map[string]GitHubRepository `json:"github_repositories"`
+ EnvironmentVariables map[string]EnvironmentVariableOverride `json:"environment_variables"`
+ JSON struct {
+ System respjson.Field
+ Model respjson.Field
+ Tools respjson.Field
+ MCPServers respjson.Field
+ Skills respjson.Field
+ Toolsets respjson.Field
+ AgentMetadata respjson.Field
+ Vaults respjson.Field
+ Files respjson.Field
+ GitHubRepositories respjson.Field
+ EnvironmentVariables respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(IdentityConfigSpec\) [RawJSON]()
+
+```go
+func (r IdentityConfigSpec) RawJSON() string
+```
+
+
+
+
+### func \(\*IdentityConfigSpec\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityConfigSpec) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityConfigSpecParam]()
+
+
+
+```go
+type IdentityConfigSpecParam struct {
+ System SystemOverrideParam `json:"system,omitzero"`
+ Model ModelConfigUnionParam `json:"model,omitzero"`
+ Tools map[string]ToolOverrideParam `json:"tools,omitzero"`
+ MCPServers map[string]MCPServerOverrideParam `json:"mcp_servers,omitzero"`
+ Skills map[string]SkillOverrideParam `json:"skills,omitzero"`
+ Toolsets map[string]any `json:"toolsets,omitzero"`
+ AgentMetadata map[string]any `json:"agent_metadata,omitzero"`
+ Vaults map[string]ResourceBindingParam `json:"vaults,omitzero"`
+ Files map[string]ResourceBindingParam `json:"files,omitzero"`
+ GitHubRepositories map[string]GitHubRepositoryParam `json:"github_repositories,omitzero"`
+ EnvironmentVariables map[string]EnvironmentVariableOverrideParam `json:"environment_variables,omitzero"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(IdentityConfigSpecParam\) [MarshalJSON]()
+
+```go
+func (r IdentityConfigSpecParam) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*IdentityConfigSpecParam\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityConfigSpecParam) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityConfigUpsertParams]()
+
+
+
+```go
+type IdentityConfigUpsertParams struct {
+ // Display name for the Config.
+ Name param.Opt[string] `json:"name,omitzero"`
+ // User-level configuration overrides.
+ IdentityConfig IdentityConfigSpecParam `json:"identity_config" api:"required"`
+ // Business metadata; when sent it replaces the existing metadata entirely.
+ Metadata map[string]any `json:"metadata,omitzero"`
+ // Optional idempotency key for requests with side effects.
+ IdempotencyKey param.Opt[string] `header:"Idempotency-Key,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(IdentityConfigUpsertParams\) [MarshalJSON]()
+
+```go
+func (r IdentityConfigUpsertParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*IdentityConfigUpsertParams\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityConfigUpsertParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityListParams]()
+
+
+
+```go
+type IdentityListParams struct {
+ // Filter by the integrator's end-user ID.
+ ExternalID param.Opt[string] `query:"external_id,omitzero" json:"-"`
+ // Filter by multiple Identity IDs; accepts a comma-separated list or repeated
+ // query parameters, up to 100 after deduplication.
+ IdentityIDs []string `query:"identity_ids,omitzero" json:"-"`
+ // Matches the Identity ID, name or external ID.
+ Search param.Opt[string] `query:"search,omitzero" json:"-"`
+ // Filter by enabled state; a non-boolean value returns 400.
+ Enabled param.Opt[bool] `query:"enabled,omitzero" json:"-"`
+ // Page size, maximum 100; larger values are clamped to the maximum.
+ Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
+ // Cursor for the next page; cannot be combined with `before_id`.
+ AfterID param.Opt[string] `query:"after_id,omitzero" json:"-"`
+ // Cursor for the previous page; cannot be combined with `after_id`.
+ BeforeID param.Opt[string] `query:"before_id,omitzero" json:"-"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(IdentityListParams\) [URLQuery]()
+
+```go
+func (r IdentityListParams) URLQuery() (url.Values, error)
+```
+
+
+
+
+## type [IdentityListTemplatesResponse]()
+
+
+
+```go
+type IdentityListTemplatesResponse struct {
+ Data []IdentityTemplate `json:"data"`
+ JSON struct {
+ Data respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(IdentityListTemplatesResponse\) [RawJSON]()
+
+```go
+func (r IdentityListTemplatesResponse) RawJSON() string
+```
+
+
+
+
+### func \(\*IdentityListTemplatesResponse\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityListTemplatesResponse) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityMemoryStoreListResponse]()
+
+
+
+```go
+type IdentityMemoryStoreListResponse struct {
+ Data []MemoryStoreMount `json:"data"`
+ HasMore bool `json:"has_more"`
+ JSON struct {
+ Data respjson.Field
+ HasMore respjson.Field
+ ExtraFields map[string]respjson.Field
+ // contains filtered or unexported fields
+ } `json:"-"`
+}
+```
+
+
+### func \(IdentityMemoryStoreListResponse\) [RawJSON]()
+
+```go
+func (r IdentityMemoryStoreListResponse) RawJSON() string
+```
+
+
+
+
+### func \(\*IdentityMemoryStoreListResponse\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityMemoryStoreListResponse) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityMemoryStoreMountParams]()
+
+
+
+```go
+type IdentityMemoryStoreMountParams struct {
+ // ID of the Memory Store to mount (`memstore_...`). It must be an active Store
+ // visible to the caller.
+ MemoryStoreID string `json:"memory_store_id" api:"required"`
+ // contains filtered or unexported fields
+}
+```
+
+
+### func \(IdentityMemoryStoreMountParams\) [MarshalJSON]()
+
+```go
+func (r IdentityMemoryStoreMountParams) MarshalJSON() ([]byte, error)
+```
+
+
+
+
+### func \(\*IdentityMemoryStoreMountParams\) [UnmarshalJSON]()
+
+```go
+func (r *IdentityMemoryStoreMountParams) UnmarshalJSON(data []byte) error
+```
+
+
+
+
+## type [IdentityMemoryStoreService]()
+
+IdentityMemoryStoreService provides Forward IdentityMemoryStore operations.
+
+```go
+type IdentityMemoryStoreService struct {
+ Options []option.RequestOption
+}
+```
+
+
+### func [NewIdentityMemoryStoreService]()
+
+```go
+func NewIdentityMemoryStoreService(opts ...option.RequestOption) IdentityMemoryStoreService
+```
+
+
+
+
+### func \(\*IdentityMemoryStoreService\) [Detach]()
+
+```go
+func (r *IdentityMemoryStoreService) Detach(ctx context.Context, identityID string, templateID string, memoryStoreID string, opts ...option.RequestOption) (res *DeletedMemoryStoreMount, err error)
+```
+
+Unmount Memory Store from an Identity
+
+
+### func \(\*IdentityMemoryStoreService\) [List]()
+
+```go
+func (r *IdentityMemoryStoreService) List(ctx context.Context, identityID string, templateID string, opts ...option.RequestOption) (res *IdentityMemoryStoreListResponse, err error)
+```
+
+List Memory Store mounts on an Identity
+
+
+### func \(\*IdentityMemoryStoreService\) [Mount]()
+
+```go
+func (r *IdentityMemoryStoreService) Mount(ctx context.Context, identityID string, templateID string, params IdentityMemoryStoreMountParams, opts ...option.RequestOption) (res *MemoryStoreMount, err error)
+```
+
+Mount Memory Store on an Identity
+
+