Skip to content

Integration

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

IntegrationAttempt

attempt_id class-attribute instance-attribute

attempt_id: IntegrationAttemptID = Field(
    validation_alias="attemptID",
    serialization_alias="attemptID",
)

url instance-attribute

url: str

instructions instance-attribute

instructions: str

mode instance-attribute

mode: OpenEnum[Literal['auto', 'code']]

time instance-attribute

IntegrationAttemptID module-attribute

IntegrationAttemptID: TypeAlias = str

IntegrationAttemptStatus module-attribute

IntegrationAttemptStatus: TypeAlias = Annotated[
    Annotated[
        IntegrationAttemptStatusPending, Tag("pending")
    ]
    | Annotated[
        IntegrationAttemptStatusComplete, Tag("complete")
    ]
    | Annotated[
        IntegrationAttemptStatusFailed, Tag("failed")
    ]
    | Annotated[
        IntegrationAttemptStatusExpired, Tag("expired")
    ]
    | Annotated[
        UnknownIntegrationAttemptStatus, Tag("__unknown__")
    ],
    Discriminator(
        discriminator(
            "status",
            "status",
            ["pending", "complete", "failed", "expired"],
        )
    ),
]

IntegrationAttemptStatusComplete

status class-attribute instance-attribute

status: Literal['complete'] = 'complete'

time instance-attribute

IntegrationAttemptStatusCompleteTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationAttemptStatusExpired

status class-attribute instance-attribute

status: Literal['expired'] = 'expired'

time instance-attribute

IntegrationAttemptStatusExpiredTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationAttemptStatusFailed

status class-attribute instance-attribute

status: Literal['failed'] = 'failed'

message instance-attribute

message: str

time instance-attribute

IntegrationAttemptStatusFailedTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationAttemptStatusPending

status class-attribute instance-attribute

status: Literal['pending'] = 'pending'

time instance-attribute

IntegrationAttemptStatusPendingTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationAttemptTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationCommandAttempt

attempt_id class-attribute instance-attribute

attempt_id: IntegrationAttemptID = Field(
    validation_alias="attemptID",
    serialization_alias="attemptID",
)

time instance-attribute

IntegrationCommandAttemptStatus module-attribute

IntegrationCommandAttemptStatus: TypeAlias = Annotated[
    Annotated[
        IntegrationCommandAttemptStatusPending,
        Tag("pending"),
    ]
    | Annotated[
        IntegrationCommandAttemptStatusComplete,
        Tag("complete"),
    ]
    | Annotated[
        IntegrationCommandAttemptStatusFailed, Tag("failed")
    ]
    | Annotated[
        IntegrationCommandAttemptStatusExpired,
        Tag("expired"),
    ]
    | Annotated[
        UnknownIntegrationCommandAttemptStatus,
        Tag("__unknown__"),
    ],
    Discriminator(
        discriminator(
            "status",
            "status",
            ["pending", "complete", "failed", "expired"],
        )
    ),
]

IntegrationCommandAttemptStatusComplete

status class-attribute instance-attribute

status: Literal['complete'] = 'complete'

time instance-attribute

IntegrationCommandAttemptStatusCompleteTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationCommandAttemptStatusExpired

status class-attribute instance-attribute

status: Literal['expired'] = 'expired'

time instance-attribute

IntegrationCommandAttemptStatusExpiredTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationCommandAttemptStatusFailed

status class-attribute instance-attribute

status: Literal['failed'] = 'failed'

message instance-attribute

message: str

time instance-attribute

IntegrationCommandAttemptStatusFailedTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationCommandAttemptStatusPending

status class-attribute instance-attribute

status: Literal['pending'] = 'pending'

message class-attribute instance-attribute

message: str | None = Field(
    default=None, exclude_if=is_none
)

time instance-attribute

IntegrationCommandAttemptStatusPendingTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationCommandAttemptTime

created instance-attribute

created: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

expires instance-attribute

expires: (
    float
    | OpenEnum[Literal["Infinity", "-Infinity", "NaN"]]
)

IntegrationCommandConnectResponse

location instance-attribute

data instance-attribute

IntegrationCommandMethod

id instance-attribute

type class-attribute instance-attribute

type: Literal['command'] = 'command'

label instance-attribute

label: str

command instance-attribute

command: list[str]

IntegrationCommandStatusResponse

location instance-attribute

data instance-attribute

IntegrationEnvMethod

type class-attribute instance-attribute

type: Literal['env'] = 'env'

names instance-attribute

names: list[str]

IntegrationExternalMethod

id instance-attribute

type class-attribute instance-attribute

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

label instance-attribute

label: str

form class-attribute instance-attribute

form: FormFields | None = Field(
    default=None, exclude_if=is_none
)

IntegrationGetResponse

location instance-attribute

data instance-attribute

IntegrationID module-attribute

IntegrationID: TypeAlias = str

IntegrationInfo

id instance-attribute

name instance-attribute

name: str

metadata class-attribute instance-attribute

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

methods instance-attribute

connections instance-attribute

connections: list[ConnectionInfo]

IntegrationKeyMethod

type class-attribute instance-attribute

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

label class-attribute instance-attribute

label: str | None = Field(default=None, exclude_if=is_none)

form class-attribute instance-attribute

form: FormFields | None = Field(
    default=None, exclude_if=is_none
)

IntegrationListResponse

location instance-attribute

data instance-attribute

IntegrationMethod module-attribute

IntegrationMethod: TypeAlias = Annotated[
    Annotated[IntegrationOAuthMethod, Tag("oauth")]
    | Annotated[IntegrationCommandMethod, Tag("command")]
    | Annotated[IntegrationKeyMethod, Tag("key")]
    | Annotated[IntegrationExternalMethod, Tag("external")]
    | Annotated[IntegrationEnvMethod, Tag("env")]
    | Annotated[
        UnknownIntegrationMethod, Tag("__unknown__")
    ],
    Discriminator(
        discriminator(
            "type",
            "type",
            ["oauth", "command", "key", "external", "env"],
        )
    ),
]

IntegrationMethodID module-attribute

IntegrationMethodID: TypeAlias = str

IntegrationOAuthMethod

id instance-attribute

type class-attribute instance-attribute

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

label instance-attribute

label: str

form class-attribute instance-attribute

form: FormFields | None = Field(
    default=None, exclude_if=is_none
)

IntegrationOauthConnectResponse

location instance-attribute

data instance-attribute

IntegrationOauthStatusResponse

location instance-attribute

data instance-attribute