Skip to content

Change a provider's label, pricing or limits

PATCH
/api/v1/workspaces/{workspace}/providers/{providerId}
curl --request PATCH \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/providers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "label": "example", "limits": { "bounce": 1, "complaint": 1 }, "pricing": { "model": "metered", "monthly": 1, "nextTierAdds": 1, "nextTierPrice": 1, "per1000": 1 } }'

Permission: providers:manage (sensitive)

workspace
required

Workspace slug

string
/^[a-z0-9][a-z0-9-]{1,62}$/

Workspace slug

providerId
required
string format: uuid
Media typeapplication/json
object
label
string
<= 120 characters
limits
object
bounce
required
number format: double
>= 0.1 <= 50
complaint
required
number format: double
>= 0.01 <= 5
pricing
object
model
required
string
Allowed values: metered plan self_hosted
monthly
number format: double
<= 1000000
nextTierAdds
integer format: int64
nextTierPrice
number format: double
per1000
number format: double
<= 1000

OK

Media typeapplication/json
object
account
required
string
accountKind
required
string
Allowed values: account server
adapter
required
string
bounce
required
object
label
string
limit
required
number format: double
pause
number format: double
review
number format: double
stale
required
boolean
value

Percent over the last 7 days

number format: double
capabilities
required
Array<object>
object
kind
required
string
Allowed values: yes partial no info
label
required
string
checkedAt
string format: date-time
color
required
string
Allowed values: ses postal postmark other
complaint
required
object
label
string
limit
required
number format: double
pause
number format: double
review
number format: double
stale
required
boolean
value

Percent over the last 7 days

number format: double
connectedAt
required
string format: date-time
cost
required
object
basis
required
string
Allowed values: metered plan self_hosted
monthly
number format: double
per1000
number format: double
source
string
toDate
required

Dollars this month

number format: double
credentials
required
Array<object>
object
key
required
string
label
required
string
set
required
boolean
down
object
credentialLabel
string
errors
required
Array<object>
object
at
required
string format: date-time
code
required
string
message
required
string
op
required
string
status
required
integer format: int64
lastSuccessAt
string format: date-time
lastSuccessOp
string
reason
required
string
Allowed values: outage auth
since
required
string format: date-time
statusLabel
string
statusSummary
string
statusUrl
string
errorRate3m
number format: double
errorRate7d

Percent of API calls that failed

number format: double
id
required
string
ipMode
required
string
Allowed values: shared dedicated
ips
required
Array<string>
label
required
string
name
required
string
quota
required
object
fromFailover
required
integer format: int64
kind
required
string
Allowed values: rolling_24h monthly_plan warmup_daily none
max
required
integer format: int64
used
required
integer format: int64
rate
required
object
label
string
max
required
number format: double
now
required
number format: double
peakToday
required
number format: double
throttled
required
boolean
roles
required
Array<object>
object
active
required
boolean
held
required
boolean
percent
required
integer format: int64
role
required
string
Allowed values: primary split fallback condition
stream
required
string
Allowed values: broadcast automation system transactional
short
required
string
status
required
string
Allowed values: healthy degraded down sandbox warming_up paused
takingFailover
required
Array<string>
warmup
object
day
required
integer format: int64
days
required
integer format: int64
planId
required
string
rate
required
number format: double
sentToday
required
integer format: int64
share
required
integer format: int64
status
required
string
Allowed values: active slowed paused done
todayCap
required
integer format: int64
webhook
required
object
kind
required
string
lastEventAt
string format: date-time
silentSince
string format: date-time

Example

{
"accountKind": "account",
"capabilities": [
{
"kind": "yes"
}
],
"color": "ses",
"cost": {
"basis": "metered"
},
"down": {
"reason": "outage"
},
"ipMode": "shared",
"quota": {
"kind": "rolling_24h"
},
"roles": [
{
"role": "primary",
"stream": "broadcast"
}
],
"status": "healthy",
"warmup": {
"status": "active"
}
}

Error

Media typeapplication/problem+json
object
code

Stable error code, e.g. permission_denied

string
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object>
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

helpers

Members who hold the missing permission

Array<string>
instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
meta
object
key
additional properties
permission

The missing permission key

string
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank

Example

{
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}