Event Targets

An EventTarget is a delivery destination for EventRecords.

List Event Targets

SDK Method

event_target.List()

Return Values

Returns a *event_target.Iter and an error. Range over All() to receive files_sdk.EventTarget values and errors. Check each loop error before using its resource. Next() and Err() remain supported.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_target "github.com/Files-com/files-sdk-go/v3/eventtarget"
)

eventTargetIterator, err := event_target.List(files_sdk.EventTargetListParams{})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

for eventTarget, err := range eventTargetIterator.All() {
    if err != nil {
        var respErr files_sdk.ResponseError
        if errors.As(err, &respErr) {
            fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
        } else {
            fmt.Printf("Request failed: %v\n", err)
        }
        return
    }
    fmt.Println(eventTarget)
}

Show Event Target

SDK Method

event_target.Find()

Return Values

Returns a files_sdk.EventTarget value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventTargetFindParams Fields

FieldDescription
Id
int64
Required
Event Target ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_target "github.com/Files-com/files-sdk-go/v3/eventtarget"
)

eventTarget, err := event_target.Find(files_sdk.EventTargetFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(eventTarget)

Create Event Target

SDK Method

event_target.Create()

Return Values

Returns a files_sdk.EventTarget value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventTargetCreateParams Fields

FieldDefaultDescription
Name
string
Required
Event Target name.
WorkspaceId
int64
0Workspace ID. 0 means the default workspace or site-wide.
ApplyToAllWorkspaces
boolean
falseIf true, this default-workspace target can receive events from all workspaces.
Enabled
boolean
trueWhether this Event Target can receive events.
Config
object
Required
Event Target configuration. Folder targets accept path and format (json or csv).
DeliveryPolicy
object
Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
TargetType
string
Required
Event Target type.
Possible values: email, webhook, slack_webhook, teams_webhook, amazon_sns, google_pubsub, folder

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_target "github.com/Files-com/files-sdk-go/v3/eventtarget"
)

eventTarget, err := event_target.Create(files_sdk.EventTargetCreateParams{
  Name: "example",
  Config: "example",
  TargetType: "example",
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(eventTarget)

Update Event Target

SDK Method

event_target.Update()

Return Values

Returns a files_sdk.EventTarget value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventTargetUpdateParams Fields

FieldDescription
Id
int64
Required
Event Target ID.
Name
string
Event Target name.
WorkspaceId
int64
Workspace ID. 0 means the default workspace or site-wide.
ApplyToAllWorkspaces
boolean
If true, this default-workspace target can receive events from all workspaces.
Enabled
boolean
Whether this Event Target can receive events.
Config
object
Event Target configuration. Folder targets accept path and format (json or csv).
DeliveryPolicy
object
Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_target "github.com/Files-com/files-sdk-go/v3/eventtarget"
)

eventTarget, err := event_target.Update(files_sdk.EventTargetUpdateParams{
  Id: 1,
  Name: "example",
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(eventTarget)

Delete Event Target

SDK Method

event_target.Delete()

Return Values

Returns an error, or nil on success.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventTargetDeleteParams Fields

FieldDescription
Id
int64
Required
Event Target ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_target "github.com/Files-com/files-sdk-go/v3/eventtarget"
)

err := event_target.Delete(files_sdk.EventTargetDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

The EventTarget Object

Some of the methods above return a EventTarget object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Event Target ID
Name
string
Event Target name.
TargetType
string
Event Target type.
Possible values: email, webhook, slack_webhook, teams_webhook, amazon_sns, google_pubsub, folder
WorkspaceId
int64
Workspace ID. 0 means the default workspace or site-wide.
ApplyToAllWorkspaces
boolean
If true, this default-workspace target can receive events from all workspaces.
Enabled
boolean
Whether this Event Target can receive events.
Config
object
Event Target configuration. Folder targets accept path and format (json or csv).
DeliveryPolicy
object
Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
CreatedAt
date-time
Event Target create date/time.
UpdatedAt
date-time
Event Target update date/time.