Skip to content

Update a sender

client.Sender.Update(ctx, id, body) (*SenderUpdateResponse, error)
POST/v1/senders/{id}

Replaces a sender’s pacing and returns the updated sender. Send exactly the sender’s step types, with every value: read the sender first to change only some of them. Concurrent updates are last-write-wins.

Each step type must stay within the ceilings the workspace’s own limits have, and maxGapSeconds can’t be below minGapSeconds: EMAIL on an OAuth sender dailyLimit at least 1 and gaps 60 to 3600 seconds; EMAIL on an SMTP sender dailyLimit 1 to 100 and gaps 60 to 3600 seconds; LINKEDIN_INVITE dailyLimit 1 to 30 and gaps 120 to 3600 seconds; LINKEDIN_MESSAGE dailyLimit 1 to 60 and gaps 120 to 3600 seconds. Out-of-range values, or step types the sender doesn’t send, return 400.

Returns 409 if the sender is archived; archived senders can be read but not updated.

Required scope: senders:update

Rate limit category: Write

ParametersExpand Collapse
id string

Unique identifier of the sender to update.

body SenderUpdateParams
Pacing param.Field[SenderUpdateParamsPacing]

The sender’s new pacing, replacing all of its current values. Send exactly the step types the sender’s channel sends: EMAIL for an email sender; LINKEDIN_INVITE and LINKEDIN_MESSAGE for a LinkedIn sender.

Email SenderUpdateParamsPacingEmailOptional

Email steps. Present only on an email sender.

DailyLimit int64

Most sends of this step type in any rolling 24 hours.

minimum-9007199254740991
maximum9007199254740991
MaxGapSeconds int64

Upper bound of the minimum spacing, in seconds. Before each send, a minimum spacing is drawn at random between minGapSeconds and this value, and the send waits until that long after the previous one. Sends can be further apart, for example outside the send window or once dailyLimit is reached. Null means the minimum spacing is always minGapSeconds.

minimum-9007199254740991
maximum9007199254740991
MinGapSeconds int64

Lower bound of the minimum spacing between two of its sends, in seconds.

minimum-9007199254740991
maximum9007199254740991
LinkedinInvite SenderUpdateParamsPacingLinkedinInviteOptional

LinkedIn connection requests. Present only on a LinkedIn sender.

DailyLimit int64

Most sends of this step type in any rolling 24 hours.

minimum-9007199254740991
maximum9007199254740991
MaxGapSeconds int64

Upper bound of the minimum spacing, in seconds. Before each send, a minimum spacing is drawn at random between minGapSeconds and this value, and the send waits until that long after the previous one. Sends can be further apart, for example outside the send window or once dailyLimit is reached. Null means the minimum spacing is always minGapSeconds.

minimum-9007199254740991
maximum9007199254740991
MinGapSeconds int64

Lower bound of the minimum spacing between two of its sends, in seconds.

minimum-9007199254740991
maximum9007199254740991
LinkedinMessage SenderUpdateParamsPacingLinkedinMessageOptional

LinkedIn messages. Present only on a LinkedIn sender.

DailyLimit int64

Most sends of this step type in any rolling 24 hours.

minimum-9007199254740991
maximum9007199254740991
MaxGapSeconds int64

Upper bound of the minimum spacing, in seconds. Before each send, a minimum spacing is drawn at random between minGapSeconds and this value, and the send waits until that long after the previous one. Sends can be further apart, for example outside the send window or once dailyLimit is reached. Null means the minimum spacing is always minGapSeconds.

minimum-9007199254740991
maximum9007199254740991
MinGapSeconds int64

Lower bound of the minimum spacing between two of its sends, in seconds.

minimum-9007199254740991
maximum9007199254740991
ReturnsExpand Collapse
type SenderUpdateResponse struct{…}
ID string

Unique identifier of the sender.

ArchivedAt string

When the sender was archived, or null if it is active. Archived senders never send.

Channel SenderUpdateResponseChannel

Whether this sender sends email or LinkedIn messages.

One of the following:
const SenderUpdateResponseChannelEmail SenderUpdateResponseChannel = "EMAIL"
const SenderUpdateResponseChannelLinkedin SenderUpdateResponseChannel = "LINKEDIN"
CreatedAt string

When the sender was created.

EmailAddress string

The address email from this sender is sent from. Null for LinkedIn senders, or when the connected account has no address.

Health SenderUpdateResponseHealth

HEALTHY can send. UNHEALTHY cannot send until healthReason is resolved. UNVERIFIED means no health verdict yet: an email sender in this state cannot send until it passes a health check, while a LinkedIn sender is never health-checked, so a working LinkedIn sender is usually UNVERIFIED and can send.

One of the following:
const SenderUpdateResponseHealthUnverified SenderUpdateResponseHealth = "UNVERIFIED"
const SenderUpdateResponseHealthHealthy SenderUpdateResponseHealth = "HEALTHY"
const SenderUpdateResponseHealthUnhealthy SenderUpdateResponseHealth = "UNHEALTHY"
HealthReason string

Why the sender is UNHEALTHY or UNVERIFIED, for example ACCOUNT_DISCONNECTED, BOUNCE_THRESHOLD or INVITE_LIMIT; null when healthy.

ObjectType SenderUpdateResponseObjectType

Always sender.

Owner string

Member ID of the person who owns this sender, or null when no workspace membership can be resolved.

Pacing SenderUpdateResponsePacing

How this sender paces each step type it sends, keyed by sequence step type: EMAIL for an email sender; LINKEDIN_INVITE and LINKEDIN_MESSAGE for a LinkedIn sender.

Email SenderUpdateResponsePacingEmailOptional

Email steps. Present only on an email sender.

DailyLimit int64

Most sends of this step type in any rolling 24 hours.

minimum-9007199254740991
maximum9007199254740991
MaxGapSeconds int64

Upper bound of the minimum spacing, in seconds. Before each send, a minimum spacing is drawn at random between minGapSeconds and this value, and the send waits until that long after the previous one. Sends can be further apart, for example outside the send window or once dailyLimit is reached. Null means the minimum spacing is always minGapSeconds.

minimum-9007199254740991
maximum9007199254740991
MinGapSeconds int64

Lower bound of the minimum spacing between two of its sends, in seconds.

minimum-9007199254740991
maximum9007199254740991
LinkedinInvite SenderUpdateResponsePacingLinkedinInviteOptional

LinkedIn connection requests. Present only on a LinkedIn sender.

DailyLimit int64

Most sends of this step type in any rolling 24 hours.

minimum-9007199254740991
maximum9007199254740991
MaxGapSeconds int64

Upper bound of the minimum spacing, in seconds. Before each send, a minimum spacing is drawn at random between minGapSeconds and this value, and the send waits until that long after the previous one. Sends can be further apart, for example outside the send window or once dailyLimit is reached. Null means the minimum spacing is always minGapSeconds.

minimum-9007199254740991
maximum9007199254740991
MinGapSeconds int64

Lower bound of the minimum spacing between two of its sends, in seconds.

minimum-9007199254740991
maximum9007199254740991
LinkedinMessage SenderUpdateResponsePacingLinkedinMessageOptional

LinkedIn messages. Present only on a LinkedIn sender.

DailyLimit int64

Most sends of this step type in any rolling 24 hours.

minimum-9007199254740991
maximum9007199254740991
MaxGapSeconds int64

Upper bound of the minimum spacing, in seconds. Before each send, a minimum spacing is drawn at random between minGapSeconds and this value, and the send waits until that long after the previous one. Sends can be further apart, for example outside the send window or once dailyLimit is reached. Null means the minimum spacing is always minGapSeconds.

minimum-9007199254740991
maximum9007199254740991
MinGapSeconds int64

Lower bound of the minimum spacing between two of its sends, in seconds.

minimum-9007199254740991
maximum9007199254740991
ReplyToAddress string

SMTP senders only: the connected mailbox replies are sent to and read from. Null for other senders.

Transport SenderUpdateResponseTransport

How an email sender sends: SMTP through its own mail server, OAUTH through its connected Google or Microsoft account. Null for LinkedIn senders.

One of the following:
const SenderUpdateResponseTransportSmtp SenderUpdateResponseTransport = "SMTP"
const SenderUpdateResponseTransportOAuth SenderUpdateResponseTransport = "OAUTH"

Update a sender

package main

import (
  "context"
  "fmt"

  "github.com/Lightfld/lightfield-go"
  "github.com/Lightfld/lightfield-go/option"
)

func main() {
  client := githubcomlightfldlightfieldgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  senderUpdateResponse, err := client.Sender.Update(
    context.TODO(),
    "id",
    githubcomlightfldlightfieldgo.SenderUpdateParams{
      Pacing: githubcomlightfldlightfieldgo.SenderUpdateParamsPacing{

      },
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", senderUpdateResponse.ID)
}
{
  "id": "id",
  "archivedAt": "archivedAt",
  "channel": "EMAIL",
  "createdAt": "createdAt",
  "emailAddress": "emailAddress",
  "health": "UNVERIFIED",
  "healthReason": "healthReason",
  "objectType": "sender",
  "owner": "owner",
  "pacing": {
    "EMAIL": {
      "dailyLimit": -9007199254740991,
      "maxGapSeconds": -9007199254740991,
      "minGapSeconds": -9007199254740991
    },
    "LINKEDIN_INVITE": {
      "dailyLimit": -9007199254740991,
      "maxGapSeconds": -9007199254740991,
      "minGapSeconds": -9007199254740991
    },
    "LINKEDIN_MESSAGE": {
      "dailyLimit": -9007199254740991,
      "maxGapSeconds": -9007199254740991,
      "minGapSeconds": -9007199254740991
    }
  },
  "replyToAddress": "replyToAddress",
  "transport": "SMTP"
}
Returns Examples
{
  "id": "id",
  "archivedAt": "archivedAt",
  "channel": "EMAIL",
  "createdAt": "createdAt",
  "emailAddress": "emailAddress",
  "health": "UNVERIFIED",
  "healthReason": "healthReason",
  "objectType": "sender",
  "owner": "owner",
  "pacing": {
    "EMAIL": {
      "dailyLimit": -9007199254740991,
      "maxGapSeconds": -9007199254740991,
      "minGapSeconds": -9007199254740991
    },
    "LINKEDIN_INVITE": {
      "dailyLimit": -9007199254740991,
      "maxGapSeconds": -9007199254740991,
      "minGapSeconds": -9007199254740991
    },
    "LINKEDIN_MESSAGE": {
      "dailyLimit": -9007199254740991,
      "maxGapSeconds": -9007199254740991,
      "minGapSeconds": -9007199254740991
    }
  },
  "replyToAddress": "replyToAddress",
  "transport": "SMTP"
}