From 5959cd3d89bd157c50c68e6d6f633fa1d4cd915c Mon Sep 17 00:00:00 2001 From: appscisumup Date: Fri, 25 Sep 2026 11:29:28 +0000 Subject: [PATCH 1/2] chore: synced local 'openapi.json' with remote 'specs/openapi.json' --- openapi.json | 75 ++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/openapi.json b/openapi.json index 23fae243..0fe1690e 100755 --- a/openapi.json +++ b/openapi.json @@ -243,7 +243,7 @@ "post": { "operationId": "CreateCheckout", "summary": "Create a checkout", - "description": "Creates a new payment checkout resource. The unique `checkout_reference` created by this request, is used for further manipulation of the checkout.\n\nFor 3DS checkouts, add the `redirect_url` parameter to your request body schema.\nTo use the [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) page, set the `hosted_checkout.enabled` to `true`.\n\nFollow by processing a checkout to charge the provided payment instrument.", + "description": "Creates a payment checkout for the specified merchant, amount, and currency. Supply a `checkout_reference` to identify the payment attempt in your own systems. Creating a checkout does not charge a payment instrument.\n\nSet `hosted_checkout.enabled` to `true` to receive a [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) URL where the customer can complete the payment.\nUse `redirect_url` for redirect-based payment and 3DS flows. If `return_url` is provided, SumUp sends processing updates to that backend callback URL.\n\nComplete the payment through [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) or the [Payment Widget](https://developer.sumup.com/online-payments/checkouts/card-widget).", "tags": [ "Checkouts" ], @@ -746,7 +746,7 @@ "patch": { "operationId": "UpdateCheckout", "summary": "Update a checkout", - "description": "Updates an identified checkout resource.", + "description": "Updates the amount, currency, description, reference, expiration, or customer associated with an existing checkout. Only the supplied fields are updated.\n\nThis request changes the checkout details; it does not charge a payment instrument. Process the checkout separately to attempt a payment.", "tags": [ "Checkouts" ], @@ -3443,26 +3443,30 @@ "type": "string" } }, + { + "name": "resource.id", + "in": "query", + "description": "Filter memberships by the ID of the resource the membership is in.", + "schema": { + "type": "string" + } + }, { "name": "resource.parent.id", "in": "query", - "description": "Filter memberships by the parent of the resource the membership is in.\nWhen filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent.", + "allowEmptyValue": true, + "description": "Filter memberships by the parent of the resource the membership is in.\nOmit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent.", "schema": { - "type": "string", - "nullable": true + "type": "string" } }, { "name": "resource.parent.type", "in": "query", - "description": "Filter memberships by the parent of the resource the membership is in.\nWhen filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent.", + "allowEmptyValue": true, + "description": "Filter memberships by the parent of the resource the membership is in.\nOmit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent.", "schema": { - "nullable": true, - "allOf": [ - { - "$ref": "#/components/schemas/ResourceType" - } - ] + "$ref": "#/components/schemas/ResourceType" } }, { @@ -3601,19 +3605,6 @@ "example": "245b2ead-85bf-45ff-856f-311a88a5d454" } }, - { - "name": "user.type", - "in": "query", - "description": "Filter the returned members by user type. Repeat this parameter to include multiple user types.", - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserType" - } - }, - "style": "form", - "explode": true - }, { "name": "status", "in": "query", @@ -3728,7 +3719,7 @@ "post": { "operationId": "CreateMerchantMember", "summary": "Create a member", - "description": "Create a merchant member.", + "description": "Adds a member to the merchant account with the specified roles.\n\nBy default, sends an invitation email to the provided address. The recipient must accept the invitation to join the account.\nWhen `is_managed_user` is `true`, creates a managed user with the provided password and optional nickname and assigns the roles directly, without sending an invitation.", "tags": [ "Members" ], @@ -3793,6 +3784,7 @@ "roles": { "type": "array", "description": "List of roles to assign to the new member.", + "minItems": 1, "maxItems": 124, "items": { "type": "string", @@ -3976,7 +3968,7 @@ }, "put": { "summary": "Update a member", - "description": "Update the merchant member.", + "description": "Updates a merchant member and returns the updated member.\n\nProviding `roles` replaces the member's assigned roles and can grant or revoke access. Providing `metadata` replaces the entire metadata object.\nFor managed users, `user.nickname` changes the display name and `user.password` replaces the password. Updating the password also enables the managed user account.", "tags": [ "Members" ], @@ -4015,6 +4007,7 @@ "properties": { "roles": { "type": "array", + "minItems": 1, "maxItems": 124, "items": { "type": "string", @@ -4390,6 +4383,7 @@ "permissions": { "type": "array", "description": "User's permissions.", + "minItems": 1, "maxItems": 100, "items": { "type": "string" @@ -4650,7 +4644,7 @@ "patch": { "operationId": "UpdateMerchantRole", "summary": "Update a role", - "description": "Update a custom role.", + "description": "Updates a custom role's name, description, or permissions and returns the updated role.\n\nProviding `permissions` replaces the role's permission list and changes the access granted to members assigned to that role. Omitted fields remain unchanged.", "tags": [ "Roles" ], @@ -4694,6 +4688,7 @@ "permissions": { "type": "array", "description": "User's permissions.", + "minItems": 1, "maxItems": 100, "items": { "type": "string" @@ -5436,7 +5431,7 @@ }, "patch": { "summary": "Update a Reader", - "description": "Update a Reader.", + "description": "Updates a reader's name or metadata and returns the updated reader.\n\nProviding `metadata` replaces the entire metadata object; include all entries that should be retained. Omitted fields remain unchanged.", "operationId": "UpdateReader", "tags": [ "Readers" @@ -8915,17 +8910,6 @@ } } }, - "UserType": { - "type": "string", - "description": "Type of the user account.", - "enum": [ - "user", - "managed_user", - "service_account", - "system_account" - ], - "example": "user" - }, "Metadata": { "description": "Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata. Maximum of 64 parameters are allowed in the object.", "type": "object", @@ -8939,6 +8923,17 @@ "example": {}, "additionalProperties": true }, + "UserType": { + "type": "string", + "description": "Type of the user account.", + "enum": [ + "user", + "managed_user", + "service_account", + "system_account" + ], + "example": "user" + }, "Address": { "externalDocs": { "description": "Address documentation", From ca8f5f5a97094193720c1758e6b1fba54b273cea Mon Sep 17 00:00:00 2001 From: appscisumup Date: Fri, 25 Sep 2026 11:29:28 +0000 Subject: [PATCH 2/2] chore: synced local 'openapi.yaml' with remote 'specs/openapi.yaml' --- openapi.yaml | 81 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 33 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 16098426..52c91057 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -188,12 +188,12 @@ paths: operationId: CreateCheckout summary: Create a checkout description: |- - Creates a new payment checkout resource. The unique `checkout_reference` created by this request, is used for further manipulation of the checkout. + Creates a payment checkout for the specified merchant, amount, and currency. Supply a `checkout_reference` to identify the payment attempt in your own systems. Creating a checkout does not charge a payment instrument. - For 3DS checkouts, add the `redirect_url` parameter to your request body schema. - To use the [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) page, set the `hosted_checkout.enabled` to `true`. + Set `hosted_checkout.enabled` to `true` to receive a [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) URL where the customer can complete the payment. + Use `redirect_url` for redirect-based payment and 3DS flows. If `return_url` is provided, SumUp sends processing updates to that backend callback URL. - Follow by processing a checkout to charge the provided payment instrument. + Complete the payment through [Hosted Checkout](https://developer.sumup.com/online-payments/checkouts/hosted-checkout/) or the [Payment Widget](https://developer.sumup.com/online-payments/checkouts/card-widget). tags: - Checkouts security: @@ -560,7 +560,9 @@ paths: operationId: UpdateCheckout summary: Update a checkout description: |- - Updates an identified checkout resource. + Updates the amount, currency, description, reference, expiration, or customer associated with an existing checkout. Only the supplied fields are updated. + + This request changes the checkout details; it does not charge a payment instrument. Process the checkout separately to attempt a payment. tags: - Checkouts security: @@ -2437,25 +2439,29 @@ paths: description: Filter memberships by the name of the resource the membership is in. schema: type: string + - name: resource.id + in: query + description: Filter memberships by the ID of the resource the membership is in. + schema: + type: string - name: resource.parent.id in: query + allowEmptyValue: true description: >- Filter memberships by the parent of the resource the membership is in. - When filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent. + Omit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent. schema: type: string - nullable: true - name: resource.parent.type in: query + allowEmptyValue: true description: >- Filter memberships by the parent of the resource the membership is in. - When filtering by parent both `resource.parent.id` and `resource.parent.type` must be present. Pass explicit null to filter for resources without a parent. + Omit both `resource.parent.id` and `resource.parent.type` to skip parent filtering. When filtering by parent, both parameters must be present. To select resources without a parent, set each parameter to an empty value. Otherwise, both parameters must identify a parent. schema: - nullable: true - allOf: - - $ref: '#/components/schemas/ResourceType' + $ref: '#/components/schemas/ResourceType' - name: roles in: query description: Filter the returned memberships by role. @@ -2547,15 +2553,6 @@ paths: type: string format: uuid example: 245b2ead-85bf-45ff-856f-311a88a5d454 - - name: user.type - in: query - description: Filter the returned members by user type. Repeat this parameter to include multiple user types. - schema: - type: array - items: - $ref: '#/components/schemas/UserType' - style: form - explode: true - name: status in: query description: Filter the returned members by the membership status. @@ -2626,7 +2623,11 @@ paths: post: operationId: CreateMerchantMember summary: Create a member - description: Create a merchant member. + description: |- + Adds a member to the merchant account with the specified roles. + + By default, sends an invitation email to the provided address. The recipient must accept the invitation to join the account. + When `is_managed_user` is `true`, creates a managed user with the provided password and optional nickname and assigns the roles directly, without sending an invitation. tags: - Members security: @@ -2674,6 +2675,7 @@ paths: roles: type: array description: List of roles to assign to the new member. + minItems: 1 maxItems: 124 items: type: string @@ -2800,7 +2802,11 @@ paths: example: mem_WZsm7QTPhVrompscmPhoGTXXcrd58fr9MOhP put: summary: Update a member - description: Update the merchant member. + description: |- + Updates a merchant member and returns the updated member. + + Providing `roles` replaces the member's assigned roles and can grant or revoke access. Providing `metadata` replaces the entire metadata object. + For managed users, `user.nickname` changes the display name and `user.password` replaces the password. Updating the password also enables the managed user account. tags: - Members operationId: UpdateMerchantMember @@ -2825,6 +2831,7 @@ paths: properties: roles: type: array + minItems: 1 maxItems: 124 items: type: string @@ -3067,6 +3074,7 @@ paths: permissions: type: array description: User's permissions. + minItems: 1 maxItems: 100 items: type: string @@ -3231,7 +3239,10 @@ paths: patch: operationId: UpdateMerchantRole summary: Update a role - description: Update a custom role. + description: |- + Updates a custom role's name, description, or permissions and returns the updated role. + + Providing `permissions` replaces the role's permission list and changes the access granted to members assigned to that role. Omitted fields remain unchanged. tags: - Roles security: @@ -3261,6 +3272,7 @@ paths: permissions: type: array description: User's permissions. + minItems: 1 maxItems: 100 items: type: string @@ -3730,7 +3742,10 @@ paths: $ref: '#/components/schemas/ReaderID' patch: summary: Update a Reader - description: Update a Reader. + description: |- + Updates a reader's name or metadata and returns the updated reader. + + Providing `metadata` replaces the entire metadata object; include all entries that should be retained. Omitted fields remain unchanged. operationId: UpdateReader tags: - Readers @@ -6531,15 +6546,6 @@ components: description: The timestamp of when the role was last updated. format: date-time example: 2023-01-20T15:16:17Z - UserType: - type: string - description: Type of the user account. - enum: - - user - - managed_user - - service_account - - system_account - example: user Metadata: description: >- Set of user-defined key-value pairs attached to the object. Partial updates are not supported. When updating, always submit whole metadata. Maximum of 64 parameters are allowed in the object. @@ -6554,6 +6560,15 @@ components: type: object example: {} additionalProperties: true + UserType: + type: string + description: Type of the user account. + enum: + - user + - managed_user + - service_account + - system_account + example: user Address: externalDocs: description: Address documentation