Skip to content

Credential

7 types. Import any of them from opencode.types.

CredentialEntry

id instance-attribute

integration_id class-attribute instance-attribute

integration_id: IntegrationID = Field(
    validation_alias="integrationID",
    serialization_alias="integrationID",
)

label instance-attribute

label: str

active instance-attribute

active: bool

value instance-attribute

CredentialExternal

type class-attribute instance-attribute

type: Literal['external'] = 'external'

method_id class-attribute instance-attribute

method_id: IntegrationMethodID = Field(
    validation_alias="methodID",
    serialization_alias="methodID",
)

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

CredentialID module-attribute

CredentialID: TypeAlias = str

CredentialKey

type class-attribute instance-attribute

type: Literal['key'] = 'key'

key instance-attribute

key: str

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

CredentialOAuth

type class-attribute instance-attribute

type: Literal['oauth'] = 'oauth'

method_id class-attribute instance-attribute

method_id: IntegrationMethodID = Field(
    validation_alias="methodID",
    serialization_alias="methodID",
)

refresh instance-attribute

refresh: str

access instance-attribute

access: str

expires instance-attribute

expires: int

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

CredentialSwitchedEventData

integration_id class-attribute instance-attribute

integration_id: IntegrationID = Field(
    validation_alias="integrationID",
    serialization_alias="integrationID",
)

credential_id class-attribute instance-attribute

credential_id: CredentialID | None = Field(
    validation_alias="credentialID",
    serialization_alias="credentialID",
)

CredentialValue module-attribute

CredentialValue: TypeAlias = Annotated[
    Annotated[CredentialOAuth, Tag("oauth")]
    | Annotated[CredentialKey, Tag("key")]
    | Annotated[CredentialExternal, Tag("external")]
    | Annotated[UnknownCredentialValue, Tag("__unknown__")],
    Discriminator(
        discriminator(
            "type", "type", ["oauth", "key", "external"]
        )
    ),
]