WorkOS PHP SDK

CreateDataIntegration
in package
implements JsonSerializable uses JsonSerializableTrait

Read onlyYes

Table of Contents

Interfaces

JsonSerializable

Properties

$apiKey  : ApiKeyInstallation|null
An optional API key to install for the first tenant on an `api_key` integration. Omit to declare a keyless integration; tenants can be added later via the per-installation API key path.
$authMethods  : array<string|int, DataIntegrationAuthMethods>|null
How accounts authenticate with the provider. Defaults to `["oauth"]`. Use `["api_key"]` to declare an API key integration; `credentials` is then not required and keys are supplied per-tenant (optionally via `api_key` on this request). Use `["client_credentials"]` to declare a client-credentials integration; `credentials` is likewise not required and client credentials are supplied per-tenant.
$config  : array<string, string>|null
Provider-specific config values (e.g. a Snowflake `account`), keyed by the config field. Only fields the built-in provider declares are accepted.
$credentials  : DataIntegrationCredentialsInput|null
The OAuth credentials to configure for the Data Integration. Required for OAuth integrations; omit when `auth_methods` is `["api_key"]`.
$customProvider  : CustomProviderDefinition|null
The OAuth definition for a custom provider. Supply this to define a custom provider; omit it to create an integration for a built-in provider.
$description  : string|null
An optional description of the Data Integration.
$enabled  : bool|null
Whether the Data Integration is enabled. Defaults to `false`.
$provider  : string
The provider to create a Data Integration for. For a built-in provider use its slug (e.g. `github`, `slack`). For a custom provider, this is the new provider slug and `custom_provider` must be supplied. A custom provider slug cannot shadow an existing global provider slug.
$scopes  : array<string|int, string>|null
The OAuth scopes to request for the Data Integration. Defaults to the provider's configured scopes when omitted.

Methods

__construct()  : mixed
fromArray()  : self
jsonSerialize()  : array<string|int, mixed>
toArray()  : array<string|int, mixed>

Properties

$apiKey

An optional API key to install for the first tenant on an `api_key` integration. Omit to declare a keyless integration; tenants can be added later via the per-installation API key path.

public ApiKeyInstallation|null $apiKey = null

$authMethods

How accounts authenticate with the provider. Defaults to `["oauth"]`. Use `["api_key"]` to declare an API key integration; `credentials` is then not required and keys are supplied per-tenant (optionally via `api_key` on this request). Use `["client_credentials"]` to declare a client-credentials integration; `credentials` is likewise not required and client credentials are supplied per-tenant.

public array<string|int, DataIntegrationAuthMethods>|null $authMethods = null

$config

Provider-specific config values (e.g. a Snowflake `account`), keyed by the config field. Only fields the built-in provider declares are accepted.

public array<string, string>|null $config = null

$customProvider

The OAuth definition for a custom provider. Supply this to define a custom provider; omit it to create an integration for a built-in provider.

public CustomProviderDefinition|null $customProvider = null

$description

An optional description of the Data Integration.

public string|null $description = null

$enabled

Whether the Data Integration is enabled. Defaults to `false`.

public bool|null $enabled = null

$provider

The provider to create a Data Integration for. For a built-in provider use its slug (e.g. `github`, `slack`). For a custom provider, this is the new provider slug and `custom_provider` must be supplied. A custom provider slug cannot shadow an existing global provider slug.

public string $provider

$scopes

The OAuth scopes to request for the Data Integration. Defaults to the provider's configured scopes when omitted.

public array<string|int, string>|null $scopes = null

Methods

__construct()

public __construct(string $provider[, string|null $description = null ][, bool|null $enabled = null ][, array<string|int, mixed>|null $scopes = null ][, array<string|int, mixed>|null $authMethods = null ][, array<string|int, mixed>|null $config = null ][, DataIntegrationCredentialsInput|null $credentials = null ][, ApiKeyInstallation|null $apiKey = null ][, CustomProviderDefinition|null $customProvider = null ]) : mixed
Parameters
$provider : string
$description : string|null = null
$enabled : bool|null = null
$scopes : array<string|int, mixed>|null = null
$authMethods : array<string|int, mixed>|null = null
$config : array<string|int, mixed>|null = null
$credentials : DataIntegrationCredentialsInput|null = null
$apiKey : ApiKeyInstallation|null = null
$customProvider : CustomProviderDefinition|null = null

fromArray()

public static fromArray(array<string|int, mixed> $data) : self
Parameters
$data : array<string|int, mixed>
Return values
self

jsonSerialize()

public jsonSerialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

toArray()

public toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>
On this page

Search results