---
title: "Update pipelines constraints"
method: PUT
path: "/api/pipelines/constraints"
tags: ["Automation"]
---

# Update pipelines constraints

`PUT /api/pipelines/constraints`

## Request

- Base URL: `https://go.urbanairship.com`
- URL: `https://go.urbanairship.com/api/pipelines/constraints`
- Auth: one of:
  - HTTP basic
  - HTTP bearer
  - OAuth 2
    - Client credentials
    - Token URL: `http://oauth2.{domain}.com/token` scopes: `pln`
- TypeScript: <https://skmtc.dev/airship/apis/airship-api/docs/api/pipelines/constraints/put.ts> (a function with typed inputs; its response is checked against the schema)

Update the pipelines constraints.

## Request body

- object
  - `constraints` RateLimitConstraintsObject[]: An array of rate objects determining the maximum number of messages each audience member can receive over a period of time.
    - `rate` union: A rate limit constraint describes a limit on the number of pushes that can be sent to an individual device per a specified time period.
      - object: Limits the number of pushes any individual audience member will receive from the pipeline over a number of days.
        - `days` integer: An integer, specifying the time period in number of days.
        - `pushes` integer: An integer, specifying the maximum number of pushes to any individual audience member per time period.
      - object: Limits the number of pushes any individual audience member will receive from the pipeline over a number of hours.
        - `hours` integer: An integer, specifying the time period in number of hours.
        - `pushes` integer: An integer, specifying the maximum number of pushes to any individual audience member per time period.
      - object: Limits the number of pushes any individual audience member will ever receive from the pipeline.
        - `lifetimes` integer: An integer specifying a lifetime.
        - `pushes` integer: An integer, specifying the maximum number of pushes to any individual audience member per time period.
  - `ok` boolean: Success.

## Response `200`

Everything worked as expected.

- OkResponseObject: Returned with 2xx Responses. At a minimum, successful calls return `true` for the `ok` key. If your call includes a verbose response (as with `GET` requests, etc.), the `ok` key will appear in the top-most object, outside the verbose response.
  - `ok` boolean, required: Success.
  - `operation_id` string, uuid: A unique string identifying the operations that modify resources. Use the operation ID to locate and track grouped operations (i.e., a batch push operation may generate multiple `push_id` strings, but a single `operation_id`) or operations that change an existing resource.

## Other responses

- `400`: There was a parsing or validation error in the request. Bad Request errors typically include `path` and `location` in the response to help you find the cause of the error.
- `401`: Authentication information (the app key and secret or bearer token) was either incorrect or missing.
- `403`: Authentication was correct, but the user does not have permission to access the requested API, e.g., if the feature in question is not included in your pricing plan.

## Changes

- **2026-06-24** `38241778b0c1`: 1 breaking, 1 info
  - removed `subschema #1: Pushes/days constraint, subschema #2: Pushes/hours constraint, subschema #3: Pushes/lifetime constraint` from the `constraints/items/rate` request property `oneOf` list
  - added `#/components/schemas/daysConstraint, #/components/schemas/hoursConstraint, #/components/schemas/lifetimesConstraint` to the `constraints/items/rate` request property `oneOf` list
  - …this revision’s changelog is incomplete

[Operation history](https://skmtc.dev/airship/apis/airship-api/changes/api/pipelines/constraints/put.md)

---

[API](https://skmtc.dev/airship/apis/airship-api.md) - [All operations](https://skmtc.dev/airship/apis/airship-api/llms.txt) - [OpenAPI document](https://skmtc.dev/airship/apis/airship-api/revisions/bd6ab947117a?raw)
