Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions openapi/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,35 @@ info:
header contains an integer value representing the time, measured in
seconds since the UNIX Epoch, at which the request count will be reset.

## Idempotent Requests

Recurly supports idempotent requests via the `Idempotency-Key` header for
`POST`, `PUT`, `PATCH`, and `DELETE` requests. This allows API clients to
safely retry these requests without risk of duplicate operations.

When you send a request with an `Idempotency-Key` header, Recurly stores the
response for **1 hour**. If you send an identical request (same key, method,
path, and API key) within that window, Recurly replays the original response
rather than processing a new one. The replay response includes an
`Idempotency-Prior: true` header.

If a request with the same key is **already in flight** when a second arrives,
the server returns `409 Conflict` with `Recurly-Should-Retry: true` and a
`Retry-After` header indicating how long to wait in seconds before retrying.

> **Note:** `429 Too Many Requests` responses are intentionally **not** cached.
> You may retry freely once your rate limit resets without risk of unintended
> replay behavior.

Keys must be **255 characters or fewer**. Keys exceeding this limit will
receive a `400 Bad Request` response. We recommend using a UUID v4 as your
key to guarantee uniqueness.

> **SDK support:** Native `Idempotency-Key` management (automatic key
> generation, retry handling, and replay detection) is currently supported only
> in the **Ruby SDK**. When using other SDKs or raw HTTP clients, you must
> supply and manage the `Idempotency-Key` header yourself.

## Change Log

A list of changes for this version can be found [in the changelog](https://recurly.com/developers/api/changelog.html#v2021-02-25---current-ga-version).
Expand Down Expand Up @@ -18737,6 +18766,14 @@ components:
at the root level and must not be included in individual line items.
items:
"$ref": "#/components/schemas/RecoveryLineItemCreate"
transaction_descriptor_suffix:
type: string
title: Transaction Descriptor Suffix
maxLength: 255
description: Optionally overrides the suffix component of the composed transaction
descriptor. If omitted, the suffix is derived from the subscription's
plan name or the invoice description, with a Trial prefix on Visa trial
conversions. Subject to gateway availability and payment method support.
required:
- currency
- due_at
Expand Down Expand Up @@ -21585,6 +21622,14 @@ components:
with the original subscription.
vertex_transaction_type:
"$ref": "#/components/schemas/VertexTransactionTypeEnum"
transaction_descriptor_suffix:
type: string
title: Transaction Descriptor Suffix
maxLength: 255
description: Optionally overrides the suffix component of the composed transaction
descriptor. If omitted, the suffix is derived from the subscription's
plan name or the invoice description, with a Trial prefix on Visa trial
conversions. Subject to gateway availability and payment method support.
required:
- currency
InvoiceCollect:
Expand Down Expand Up @@ -24708,6 +24753,14 @@ components:
default: false
proration_settings:
"$ref": "#/components/schemas/SubscriptionCreateProrationSettings"
transaction_descriptor_suffix:
type: string
title: Transaction Descriptor Suffix
maxLength: 255
description: Optionally overrides the suffix component of the composed transaction
descriptor. If omitted, the suffix is derived from the subscription's
plan name or the invoice description, with a Trial prefix on Visa trial
conversions. Subject to gateway availability and payment method support.
required:
- plan_code
- currency
Expand Down Expand Up @@ -24927,6 +24980,14 @@ components:
billing info to the subscription, all future billing events for the subscription
will bill to the specified billing info. `billing_info_id` can ONLY be
used for sites utilizing the Wallet feature.
transaction_descriptor_suffix:
type: string
title: Transaction Descriptor Suffix
maxLength: 255
description: Optionally overrides the suffix component of the composed transaction
descriptor. If omitted, the suffix is derived from the subscription's
plan name or the invoice description, with a Trial prefix on Visa trial
conversions. Subject to gateway availability and payment method support.
SubscriptionPause:
type: object
properties:
Expand Down Expand Up @@ -25786,6 +25847,15 @@ components:
including both gateway-level fraud checks and Recurly's fraud detection
services. This is useful for trusted transactions where fraud screening
is not required.
descriptor_suffix:
type: string
title: Transaction Descriptor Suffix
maxLength: 255
description: Optionally overrides the suffix component of the composed
transaction descriptor. If omitted, the suffix is derived from the
subscription's plan name or the invoice description, with a Trial
prefix on Visa trial conversions. Subject to gateway availability
and payment method support.
customer_notes:
type: string
title: Customer notes
Expand Down Expand Up @@ -28120,6 +28190,7 @@ components:
- mercadopago
- klarna
- braintree_google_pay
- stripe_link
CardTypeEnum:
type: string
enum:
Expand Down
Loading
Loading