Skip to content
Power301/API
Sign inGet API key
Bulk Operations · recordBulk.update
PUT/bulkrecordBulk.update

Update records in bulk

Applies the same change across many records in one request.

Base URL
https://api.power301.com/v1
Auth
Bearer token
Idempotent
Yes
Returns
application/json

The request

Send a JSON body to PUT /bulk. Every field is optional — send only what you want to set.

# Update records in bulk
curl -X PUT "https://api.power301.com/v1/bulk?filter=value" \
  -H "Authorization: Bearer $POWER301_TOKEN"

Query parameters

ParameterDescription
sortoptionalstringSort results by field. Prefix with - for descending order. Available sorts: id, created_at, updated_at, total_clicksid-idcreated_at-created_atupdated_at-updated_attotal_clicks-total_clicks
filterRequiredobjectRecords the operation applies to. Accepted as a query object (filter[host]=go.example.com) or as a filter object in the JSON body. At least one filter must carry a value, or every record of the workspace would match. Available filters: id, host, path, tld, handler, type, destination, search, tags, traffic, dns_correct, status, created_after, created_before
filter[id]optionalstring
filter[host]optionalstringA hostname already connected to the workspace. See List hostnames.
filter[path]optionalstring
filter[tld]optionalstring
filter[handler]optionalstring
filter[type]optionalstringRecord type. List the available types with GET /shared/types.
filter[destination]optionalstringWhere matching traffic is sent.
filter[search]optionalstring
filter[tags]optionalstringFreeform labels. Filter on them with filter[tags].
filter[traffic]optionalstring
filter[dns_correct]optionalstring
filter[status]optionalstringThe HTTP status code used for the redirect response.
filter[created_after]optionalstring
filter[created_before]optionalstring

The response

A 200 returns the record as JSON.

{
  "affected": 1,
  "still_paused": 1
}

Status codes

200
SuccessNumber of records the filter matched and the update was applied to. still_paused counts the matched records that a status: active update could not resume because the plan paused them and the workspace is still over its allowance; they resume on their own once the plan covers them. It is 0 for any other update.
401
UnauthenticatedUnauthenticated
422
Validation failedA field was rejected. errors lists every field with its reason.
429
Too many requestsToo many requests
484
Bad requestThe workspace role of the authenticated user is too low for this action.

What usually comes next

One call is rarely the whole job. These are the endpoints most integrations reach for around this one.