# Update an order pause

Updates an order pause with a specified ID.

Endpoint: PUT /order-pauses/{id}
Version: latest
Security: SecretApiKey, JWT

## Security:

  - `SecretApiKey` (unknown)
    apiKey in header REB-APIKEY

  - `JWT` (unknown)
    http bearer JWT

## Path parameters:

  - `id` (string, required)
    ID of the resource.

## Request fields (application/json):

  - `orderId` (string, required)
    ID of the paused order.
    Example: ord_01HVKA5975PJBSQ1SX72G3MSZC

  - `pausedBy` (string)
    Specifies who initiated the pause.
    Enum: "merchant", "customer"

  - `description` (string | null)
    Description of the pause reason in free form.

  - `effectiveTime` (string | null)
    Date and time when the service period pauses.

This time must be later than the current time.
If this time is earlier than the current time, the current time is used.

If this field is omitted, this value defaults to the current time.

  - `endTime` (string | null)
    Date and time when the pause ends and the order resumes billing.
To resume an order from this point in time,
use the current time or an earlier time.
If `endTime` is earlier than the current time, the current time is used.
If this field is empty, the order is indefinitely paused.

  - `timeRemaining` (string | null)
    Amount of time between the pause end time and the renewal time in ISO-8601 durations format.
By default, this value is computed as the time between the pause and the renewal.
Example: A $30 per month order on a 30-day month is paused on day 20.
There are 10 unused days on the order.
Therefore, the order renews in 10 days after it is resumed.
The upcoming invoice does not change the amount for the invoiced period, it remains at $30.
If a subscription item in the order uses a service period anchor,
the renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),
and the service period anchor is ignored for that period.
For more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).
    Example: P3600S

## Response 200:

  - `200` (unknown)
    Pause updated.

## Response 200 fields (application/json):

  - `id` (string)
    ID of the order pause.
    Example: sub_pau_01H085J3ZR1WKD120D73D7N4C9

  - `orderId` (string, required)
    ID of the paused order.
    Example: ord_01HVKA5975PJBSQ1SX72G3MSZC

  - `status` (string)
    Status of the order pause.
    Enum: "pending", "ongoing", "revoked", "finished"

  - `pausedBy` (string)
    Specifies who initiated the pause.
    Enum: "merchant", "customer"

  - `description` (string | null)
    Description of the pause reason in free form.

  - `effectiveTime` (string | null)
    Date and time when the service period pauses.

This time must be later than the current time.
If this time is earlier than the current time, the current time is used.

If this field is omitted, this value defaults to the current time.

  - `endTime` (string | null)
    Date and time when the pause ends and the order resumes billing.
To resume an order from this point in time,
use the current time or an earlier time.
If `endTime` is earlier than the current time, the current time is used.
If this field is empty, the order is indefinitely paused.

  - `timeRemaining` (string | null)
    Amount of time between the pause end time and the renewal time in ISO-8601 durations format.
By default, this value is computed as the time between the pause and the renewal.
Example: A $30 per month order on a 30-day month is paused on day 20.
There are 10 unused days on the order.
Therefore, the order renews in 10 days after it is resumed.
The upcoming invoice does not change the amount for the invoiced period, it remains at $30.
If a subscription item in the order uses a service period anchor,
the renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),
and the service period anchor is ignored for that period.
For more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).
    Example: P3600S

  - `createdTime` (string)
    Date and time when the resource is created.
This value is set automatically when the resource is created.

  - `updatedTime` (string)
    Date and time when the resource is updated.
This value is set automatically when the resource is updated.

  - `_links` (array)
    Related links.

  - `_links.href` (string)
    Link URL.

  - `_links.rel` (string)
    Type of link.
    Enum: "self"

## Response 200 headers (application/json):

  - `Rate-Limit-Limit` (integer)
    Maximum number of requests available at one time for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 500

  - `Rate-Limit-Remaining` (integer)
    Number of requests still available for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 499

## Response 201:

  - `201` (unknown)
    Pause created.

## Response 201 fields (application/json):

  - `id` (string)
    ID of the order pause.
    Example: sub_pau_01H085J3ZR1WKD120D73D7N4C9

  - `orderId` (string, required)
    ID of the paused order.
    Example: ord_01HVKA5975PJBSQ1SX72G3MSZC

  - `status` (string)
    Status of the order pause.
    Enum: "pending", "ongoing", "revoked", "finished"

  - `pausedBy` (string)
    Specifies who initiated the pause.
    Enum: "merchant", "customer"

  - `description` (string | null)
    Description of the pause reason in free form.

  - `effectiveTime` (string | null)
    Date and time when the service period pauses.

This time must be later than the current time.
If this time is earlier than the current time, the current time is used.

If this field is omitted, this value defaults to the current time.

  - `endTime` (string | null)
    Date and time when the pause ends and the order resumes billing.
To resume an order from this point in time,
use the current time or an earlier time.
If `endTime` is earlier than the current time, the current time is used.
If this field is empty, the order is indefinitely paused.

  - `timeRemaining` (string | null)
    Amount of time between the pause end time and the renewal time in ISO-8601 durations format.
By default, this value is computed as the time between the pause and the renewal.
Example: A $30 per month order on a 30-day month is paused on day 20.
There are 10 unused days on the order.
Therefore, the order renews in 10 days after it is resumed.
The upcoming invoice does not change the amount for the invoiced period, it remains at $30.
If a subscription item in the order uses a service period anchor,
the renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),
and the service period anchor is ignored for that period.
For more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).
    Example: P3600S

  - `createdTime` (string)
    Date and time when the resource is created.
This value is set automatically when the resource is created.

  - `updatedTime` (string)
    Date and time when the resource is updated.
This value is set automatically when the resource is updated.

  - `_links` (array)
    Related links.

  - `_links.href` (string)
    Link URL.

  - `_links.rel` (string)
    Type of link.
    Enum: "self"

## Response 201 headers (application/json):

  - `Location` (string)
    Location of the related resource.
    Example: https://api.rebilly.com/example

  - `Rate-Limit-Limit` (integer)
    Maximum number of requests available at one time for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 500

  - `Rate-Limit-Remaining` (integer)
    Number of requests still available for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 499

## Response 401:

  - `401` (unknown)
    Unauthorized access.
Invalid credentials used.

## Response 401 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 403:

  - `403` (unknown)
    Access forbidden.
If the organization requires multi-factor authentication (MFA) and the session has not passed MFA, `error` is `mfa_required`.

## Response 403 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `error` (string)
    Message that describes why the request is forbidden.
Most responses use a descriptive message, such as `Not allowed to change security settings`.
If the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`.
If the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 422:

  - `422` (unknown)
    Invalid data sent.

## Response 422 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

  - `invalidFields` (array)
    Invalid field details.
    Example: [{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]

  - `invalidFields.field` (string)
    Name of the field.
Dot notation is used for nested object field names.

  - `invalidFields.message` (string)
    Message field.

## Response 429:

  - `429` (unknown)
    Request rate limit exceeded.

## Response 429 fields (application/json):

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".
    Example: about:blank

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.
    Example: Rate Limit Exceeded

  - `status` (integer)
    HTTP status code.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.
    Example: A request cannot be executed because the user has sent too many requests within a certain period of time

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 429 headers (application/json):

  - `Rate-Limit-Limit` (integer)
    Maximum number of requests available at one time for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 500

  - `Rate-Limit-Remaining` (integer)
    Number of requests still available for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 0

  - `Rate-Limit-Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 1

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 1

