{"changes":[{"id":523,"provider":{"id":"paypal","name":"PayPal"},"title":"PayPal Payments v2 spec changed: 22 breaking, 86 behaviour changes","url":"https://github.com/paypal/paypal-rest-api-specifications/commit/81921a59da30078baafc7412e54b611f6e41e2ab","severity":"breaking","signals":["oasdiff:request-parameter-max-length-set","oasdiff:request-parameter-min-length-set","oasdiff:request-parameter-pattern-added","oasdiff:response-property-max-items-increased","oasdiff:response-required-property-removed"],"details":[{"text":"for the `header` request parameter `paypal-auth-assertion`, the maxLength was set to `10000`","check":"request-parameter-max-length-set","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"for the `path` request parameter `authorization_id`, the maxLength was set to `2147483647`","check":"request-parameter-max-length-set","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"for the `header` request parameter `paypal-auth-assertion`, the minLength was set to `1`","check":"request-parameter-min-length-set","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"added the pattern `^.*$` to the `header` request parameter `paypal-auth-assertion`","check":"request-parameter-pattern-added","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"added the pattern `^[\\S\\s]*$` to the `path` request parameter `authorization_id`","check":"request-parameter-pattern-added","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `links` response property's maxItems was increased from `10000` to `32767` for the response status `401`","check":"response-property-max-items-increased","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"removed the required property `details/items/issue` from the response with the `401` status","check":"response-required-property-removed","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"removed the required property `links/items/href` from the response with the `401` status","check":"response-required-property-removed","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"removed the required property `links/items/rel` from the response with the `401` status","check":"response-required-property-removed","level":"breaking","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"for the `header` request parameter `paypal-request-id`, the maxLength was set to `10000`","check":"request-parameter-max-length-set","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"for the `header` request parameter `prefer`, the maxLength was set to `2147483647`","check":"request-parameter-max-length-set","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"for the `header` request parameter `paypal-request-id`, the minLength was set to `1`","check":"request-parameter-min-length-set","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"added the pattern `^.*$` to the `header` request parameter `paypal-request-id`","check":"request-parameter-pattern-added","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"added the pattern `^[\\S\\s]*$` to the `header` request parameter `prefer`","check":"request-parameter-pattern-added","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"the `links` response property's maxItems was increased from `10000` to `32767` for the response status `409`","check":"response-property-max-items-increased","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"removed the required property `details/items/issue` from the response with the `409` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"removed the required property `links/items/href` from the response with the `409` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"removed the required property `links/items/rel` from the response with the `409` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/payments/authorizations/{authorization_id}/capture"},{"text":"for the `path` request parameter `capture_id`, the maxLength was set to `2147483647`","check":"request-parameter-max-length-set","level":"breaking","operation":"GET /v2/payments/captures/{capture_id}"},{"text":"added the pattern `^[\\S\\s]*$` to the `path` request parameter `capture_id`","check":"request-parameter-pattern-added","level":"breaking","operation":"GET /v2/payments/captures/{capture_id}"},{"text":"for the `path` request parameter `refund_id`, the maxLength was set to `2147483647`","check":"request-parameter-max-length-set","level":"breaking","operation":"GET /v2/payments/refunds/{refund_id}"},{"text":"added the pattern `^[\\S\\s]*$` to the `path` request parameter `refund_id`","check":"request-parameter-pattern-added","level":"breaking","operation":"GET /v2/payments/refunds/{refund_id}"},{"text":"removed `#/components/schemas/error_404, #/components/schemas/404` from the response body `allOf` list for the response status `404`","check":"response-body-all-of-removed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/expiration_time` response property's maxLength was unset from `64` for the response status `200`","check":"response-property-max-length-unset","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/create_time` response property's maxLength was unset from `64` for the response status `200`","check":"response-property-max-length-unset","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/update_time` response property's maxLength was unset from `64` for the response status `200`","check":"response-property-max-length-unset","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/expiration_time` response property's minLength was unset from `20` for the response status `200`","check":"response-property-min-length-unset","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/create_time` response property's minLength was unset from `20` for the response status `200`","check":"response-property-min-length-unset","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/update_time` response property's minLength was unset from `20` for the response status `200`","check":"response-property-min-length-unset","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/expiration_time` response's property pattern `^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$` was removed for t","check":"response-property-pattern-removed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/create_time` response's property pattern `^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0","check":"response-property-pattern-removed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/update_time` response's property pattern `^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0","check":"response-property-pattern-removed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #1: Authorization Status With Details -> subschema #1: authorization_status]/status_details` response's property `type` changed from `object` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/amount` response's property `type` changed from `object` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/expiration_time` response's property `type/format` changed from `string/ppaas_date_time_v3` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/links/items/` response's property `type` changed from `object` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/network_transaction_reference` response's property `type` changed from `object` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #2]/seller_protection` response's property `type` changed from `object` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/create_time` response's property `type/format` changed from `string/ppaas_date_time_v3` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"},{"text":"the `allOf[subschema #1: Authorization -> subschema #1: authorization]/allOf[subschema #3: Transaction Date and Time Stamps -> subschema #3: activity_timestamps]/update_time` response's property `type/format` changed from `string/ppaas_date_time_v3` to `any` for status `200`","check":"response-property-type-changed","level":"warning","operation":"GET /v2/payments/authorizations/{authorization_id}"}],"published_at":"2026-04-07T22:42:09.000Z","first_seen_at":"2026-10-03T00:58:34.820Z"},{"id":522,"provider":{"id":"paypal","name":"PayPal"},"title":"PayPal Orders v2 spec changed: 16 breaking, 209 behaviour changes","url":"https://github.com/paypal/paypal-rest-api-specifications/commit/9f0f52810ae24244ec3f24260c28f58e198d0b9e","severity":"breaking","signals":["oasdiff:request-parameter-max-length-set","oasdiff:request-parameter-min-length-set","oasdiff:request-parameter-pattern-added","oasdiff:response-property-max-items-increased","oasdiff:response-required-property-removed","oasdiff:request-body-type-changed","oasdiff:request-property-pattern-added"],"details":[{"text":"for the `header` request parameter `paypal-auth-assertion`, the maxLength was set to `10000`","check":"request-parameter-max-length-set","level":"breaking","operation":"POST /v2/checkout/orders"},{"text":"for the `header` request parameter `paypal-auth-assertion`, the minLength was set to `1`","check":"request-parameter-min-length-set","level":"breaking","operation":"POST /v2/checkout/orders"},{"text":"added the pattern `^.*$` to the `header` request parameter `paypal-auth-assertion`","check":"request-parameter-pattern-added","level":"breaking","operation":"POST /v2/checkout/orders"},{"text":"added the pattern `^[A-Za-z0-9-{}(),]*$` to the `header` request parameter `paypal-client-metadata-id`","check":"request-parameter-pattern-added","level":"breaking","operation":"POST /v2/checkout/orders"},{"text":"added the pattern `^[\\S\\s]*$` to the `header` request parameter `paypal-partner-attribution-id`","check":"request-parameter-pattern-added","level":"breaking","operation":"POST /v2/checkout/orders"},{"text":"added the pattern `^[\\S\\s]*$` to the `header` request parameter `paypal-request-id`","check":"request-parameter-pattern-added","level":"breaking","operation":"POST /v2/checkout/orders"},{"text":"the `links` response property's maxItems was increased from `10000` to `32767` for the response status `403`","check":"response-property-max-items-increased","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"the `links` response property's maxItems was increased from `10000` to `32767` for the response status `500`","check":"response-property-max-items-increased","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"removed the required property `details/items/issue` from the response with the `403` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"removed the required property `links/items/href` from the response with the `403` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"removed the required property `links/items/href` from the response with the `500` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"removed the required property `links/items/rel` from the response with the `403` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"removed the required property `links/items/rel` from the response with the `500` status","check":"response-required-property-removed","level":"breaking","operation":"POST /v2/checkout/orders/order-update-callback"},{"text":"for the `query` request parameter `fields`, the maxLength was set to `2147483647`","check":"request-parameter-max-length-set","level":"breaking","operation":"GET /v2/checkout/orders/{id}"},{"text":"the request's body `type` changed from `any` to `object`","check":"request-body-type-changed","level":"breaking","operation":"POST /v2/checkout/orders/{id}/confirm-payment-source"},{"text":"added the pattern `^[\\S\\s]*$` to the request property `application_context/brand_name`","check":"request-property-pattern-added","level":"breaking","operation":"POST /v2/checkout/orders/{id}/confirm-payment-source"},{"text":"added `#/components/schemas/apple_pay_request` to the `payment_source/apple_pay` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/bancontact_request` to the `payment_source/bancontact` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/blik_request` to the `payment_source/blik` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/crypto_request` to the `payment_source/crypto` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/eps_request` to the `payment_source/eps` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/giropay_request` to the `payment_source/giropay` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/google_pay_request` to the `payment_source/google_pay` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/ideal_request` to the `payment_source/ideal` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/mybank_request` to the `payment_source/mybank` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/order_application_context` to the `application_context` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/p24_request` to the `payment_source/p24` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/payer, subschema #2` to the `payer` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/paypal_wallet` to the `payment_source/paypal` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/purchase_unit_request` to the `purchase_units/items/` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/sofort_request` to the `payment_source/sofort` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/trustly_request` to the `payment_source/trustly` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `#/components/schemas/venmo_wallet_request` to the `payment_source/venmo` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"added `subschema #1, subschema #2` to the `payment_source/card` request property `allOf` list","check":"request-property-all-of-added","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"removed the request property `application_context/brand_name`","check":"request-property-removed","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"removed the request property `application_context/cancel_url`","check":"request-property-removed","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"removed the request property `application_context/landing_page`","check":"request-property-removed","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"removed the request property `application_context/locale`","check":"request-property-removed","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"removed the request property `application_context/payment_method`","check":"request-property-removed","level":"warning","operation":"POST /v2/checkout/orders"},{"text":"removed the request property `application_context/return_url`","check":"request-property-removed","level":"warning","operation":"POST /v2/checkout/orders"}],"published_at":"2026-04-07T22:37:23.000Z","first_seen_at":"2026-10-03T00:58:32.142Z"}],"next":null}