From 222d554b5c5a7a0bf9d2b5250adea55c1f3c5080 Mon Sep 17 00:00:00 2001 From: appscisumup Date: Wed, 17 Jun 2026 21:21:34 +0000 Subject: [PATCH] chore: synced local 'openapi.json' with remote 'specs/openapi.json' --- openapi.json | 613 +++++++++++++++++++++++++-------------------------- 1 file changed, 295 insertions(+), 318 deletions(-) diff --git a/openapi.json b/openapi.json index 3217c6b..4ff3692 100755 --- a/openapi.json +++ b/openapi.json @@ -543,10 +543,10 @@ ] } }, - "/v0.1/checkouts/{id}": { + "/v0.1/checkouts/{checkout_id}": { "parameters": [ { - "name": "id", + "name": "checkout_id", "in": "path", "description": "Unique ID of the checkout resource.", "required": true, @@ -1150,14 +1150,14 @@ ] } }, - "/v0.2/checkouts/{id}/apple-pay-session": { + "/v0.2/checkouts/{checkout_id}/apple-pay-session": { "put": { "operationId": "CreateApplePaySession", "summary": "Create an Apple Pay session", "description": "Creates an Apple Pay merchant session for the specified checkout.\n\nUse this endpoint after the customer selects Apple Pay and before calling\n`ApplePaySession.completeMerchantValidation(...)` in the browser.\nSumUp validates the merchant session request and returns the Apple Pay\nsession object that your frontend should pass to Apple's JavaScript API.\n", "parameters": [ { - "name": "id", + "name": "checkout_id", "in": "path", "description": "Unique ID of the checkout resource.", "required": true, @@ -1900,7 +1900,7 @@ ] } }, - "/v1.0/merchants/{merchant_code}/payments/{id}/refunds": { + "/v1.0/merchants/{merchant_code}/payments/{transaction_id}/refunds": { "parameters": [ { "name": "merchant_code", @@ -1913,7 +1913,7 @@ } }, { - "name": "id", + "name": "transaction_id", "in": "path", "description": "Unique ID of the transaction.", "required": true, @@ -2206,7 +2206,7 @@ } }, { - "name": "users", + "name": "users[]", "in": "query", "description": "Filters the returned results by user email.", "required": false, @@ -2244,7 +2244,7 @@ } }, { - "name": "payment_types", + "name": "payment_types[]", "in": "query", "description": "Filters the returned results by the specified list of payment types used for the transactions.", "required": false, @@ -2268,7 +2268,7 @@ } }, { - "name": "types", + "name": "types[]", "in": "query", "description": "Filters the returned results by the specified list of transaction types.", "required": false, @@ -2658,14 +2658,14 @@ ] } }, - "/v1.1/receipts/{id}": { + "/v1.1/receipts/{transaction_id}": { "get": { "operationId": "GetReceipt", "summary": "Retrieve receipt details", "description": "Retrieves receipt specific data for a transaction.", "parameters": [ { - "name": "id", + "name": "transaction_id", "in": "path", "description": "SumUp unique transaction ID or transaction code, e.g. TS7HDYLSKD.", "required": true, @@ -3436,7 +3436,7 @@ "type": "object", "properties": { "nickname": { - "description": "User's preferred name. Used for display purposes only.", + "description": "User's nickname. Used for display purposes only.", "type": "string", "example": "Test User" }, @@ -3594,6 +3594,22 @@ "200": { "description": "Returns an empty response if the deletion succeeded." }, + "403": { + "description": "Member deletion was forbidden.", + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/Problem" + }, + "example": { + "type": "https://developer.sumup.com/problem/forbidden", + "title": "Forbidden", + "status": 403, + "detail": "You do not have permission to perform this action." + } + } + } + }, "404": { "description": "Merchant or member not found.", "content": { @@ -4549,14 +4565,14 @@ "UpdateReaderByID": { "operationId": "UpdateReader", "parameters": { - "id": "$response.body#/id" + "reader_id": "$response.body#/id" }, "description": "Update the reader object. This can be used to set a name after using this endpoint to verify the pairing code." }, "DeleteReaderByID": { "operationId": "DeleteReader", "parameters": { - "id": "$response.body#/id" + "reader_id": "$response.body#/id" }, "description": "Delete the reader." } @@ -4639,7 +4655,7 @@ ] } }, - "/v0.1/merchants/{merchant_code}/readers/{id}": { + "/v0.1/merchants/{merchant_code}/readers/{reader_id}": { "get": { "operationId": "GetReader", "summary": "Retrieve a Reader", @@ -4677,7 +4693,7 @@ } }, { - "name": "id", + "name": "reader_id", "in": "path", "description": "The unique identifier of the reader.", "required": true, @@ -4757,7 +4773,7 @@ } }, { - "name": "id", + "name": "reader_id", "in": "path", "description": "The unique identifier of the reader.", "required": true, @@ -4830,7 +4846,7 @@ } }, { - "name": "id", + "name": "reader_id", "in": "path", "description": "The unique identifier of the reader.", "required": true, @@ -5403,7 +5419,7 @@ } }, "CheckoutID": { - "name": "id", + "name": "checkout_id", "in": "path", "required": true, "description": "Unique ID of the checkout resource.", @@ -5482,7 +5498,7 @@ } }, "PaymentTypesFilter": { - "name": "payment_types", + "name": "payment_types[]", "in": "query", "description": "Filters the returned results by the specified list of payment types used for the transactions.", "required": false, @@ -5539,17 +5555,8 @@ "type": "string" } }, - "TxnID": { - "in": "path", - "name": "txn_id", - "required": true, - "description": "Unique ID of the transaction.", - "schema": { - "type": "string" - } - }, "TypesFilter": { - "name": "types", + "name": "types[]", "in": "query", "description": "Filters the returned results by the specified list of transaction types.", "required": false, @@ -5566,7 +5573,7 @@ } }, "UsersFilter": { - "name": "users", + "name": "users[]", "in": "query", "description": "Filters the returned results by user email.", "required": false, @@ -7999,6 +8006,9 @@ "type": "string", "example": "44ca0f5b-813b-46e1-aee7-e6242010662e" }, + "type": { + "$ref": "#/components/schemas/UserType" + }, "email": { "description": "End-User's preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC5322] addr-spec syntax. The RP MUST NOT rely upon this value being unique, for unique identification use ID instead.", "type": "string", @@ -8012,12 +8022,16 @@ "virtual_user": { "description": "True if the user is a virtual user (operator).", "type": "boolean", - "example": false + "example": false, + "deprecated": true, + "x-deprecation-notice": "Rely on `type` instead." }, "service_account_user": { "description": "True if the user is a service account.", "type": "boolean", - "example": false + "example": false, + "deprecated": true, + "x-deprecation-notice": "Rely on `type` instead." }, "disabled_at": { "description": "Time when the user has been disabled. Applies only to virtual users (`virtual_user: true`).", @@ -8025,7 +8039,7 @@ "format": "date-time" }, "nickname": { - "description": "User's preferred name. Used for display purposes only.", + "description": "User's nickname. Used for display purposes only.", "type": "string", "example": "Test User" }, @@ -8041,6 +8055,7 @@ }, "required": [ "id", + "type", "email", "mfa_on_login_enabled", "virtual_user", @@ -8053,7 +8068,8 @@ "properties": { "user_id": { "type": "integer", - "format": "int32" + "maximum": 2147483647, + "minimum": 0 } }, "deprecated": true, @@ -8120,12 +8136,6 @@ ], "title": "Role" }, - "Attributes": { - "description": "Object attributes that are modifiable only by SumUp applications.", - "type": "object", - "example": {}, - "additionalProperties": true - }, "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", @@ -8133,6 +8143,198 @@ "additionalProperties": true, "maxProperties": 64 }, + "Attributes": { + "description": "Object attributes that are modifiable only by SumUp applications.\n", + "type": "object", + "example": {}, + "additionalProperties": true + }, + "UserType": { + "description": "Type of the user account.", + "type": "string", + "example": "user", + "enum": [ + "user", + "managed_user", + "service_account", + "system_account" + ] + }, + "Address": { + "description": "An address somewhere in the world. The address fields used depend on the country conventions. For example, in Great Britain, `city` is `post_town`. In the United States, the top-level administrative unit used in addresses is `state`, whereas in Chile it's `region`.\nWhether an address is valid or not depends on whether the locally required fields are present. Fields not supported in a country will be ignored.", + "type": "object", + "properties": { + "street_address": { + "type": "array", + "items": { + "type": "string", + "description": "The first line of the address.", + "maxLength": 100 + }, + "example": [ + "Paul-Linke-Ufer 39-40", + "2. Hinterhof" + ], + "maxItems": 2 + }, + "post_code": { + "description": "The postal code (aka. zip code) of the address.\n", + "type": "string", + "example": "10999", + "maxLength": 32 + }, + "country": { + "$ref": "#/components/schemas/CountryCode" + }, + "city": { + "description": "The city of the address.\n", + "type": "string", + "example": "Berlin", + "maxLength": 512 + }, + "province": { + "description": "The province where the address is located. This may not be relevant in some countries.\n", + "type": "string", + "example": "Berlin", + "maxLength": 512 + }, + "region": { + "description": "The region where the address is located. This may not be relevant in some countries.\n", + "type": "string", + "example": "Baden Wuerttemberg", + "maxLength": 512 + }, + "county": { + "description": "A county is a geographic region of a country used for administrative or other purposes in some nations. Used in countries such as Ireland, Romania, etc.\n", + "type": "string", + "example": "Dublin County", + "maxLength": 512 + }, + "autonomous_community": { + "description": "In Spain, an autonomous community is the first sub-national level of political and administrative division.\n", + "type": "string", + "example": "Catalonia", + "maxLength": 512 + }, + "post_town": { + "description": "A post town is a required part of all postal addresses in the United Kingdom and Ireland, and a basic unit of the postal delivery system.\n", + "type": "string", + "example": "London", + "maxLength": 512 + }, + "state": { + "description": "Most often, a country has a single state, with various administrative divisions. The term \"state\" is sometimes used to refer to the federated polities that make up the federation. Used in countries such as the United States and Brazil.\n", + "type": "string", + "example": "California", + "maxLength": 512 + }, + "neighborhood": { + "description": "Locality level of the address. Used in countries such as Brazil or Chile.\n", + "type": "string", + "example": "Copacabana", + "maxLength": 512 + }, + "commune": { + "description": "In many countries, terms cognate with \"commune\" are used, referring to the community living in the area and the common interest. Used in countries such as Chile.\n", + "type": "string", + "example": "Providencia", + "maxLength": 512 + }, + "department": { + "description": "A department (French: département, Spanish: departamento) is an administrative or political division in several countries. Used in countries such as Colombia.\n", + "type": "string", + "example": "Antioquia", + "maxLength": 512 + }, + "municipality": { + "description": "A municipality is usually a single administrative division having corporate status and powers of self-government or jurisdiction as granted by national and regional laws to which it is subordinate. Used in countries such as Colombia.\n", + "type": "string", + "example": "Medellín", + "maxLength": 512 + }, + "district": { + "description": "A district is a type of administrative division that in some countries is managed by the local government. Used in countries such as Portugal.\n", + "type": "string", + "example": "Lisbon District", + "maxLength": 512 + }, + "zip_code": { + "description": "A US system of postal codes used by the United States Postal Service (USPS).\n", + "type": "string", + "example": "94103", + "maxLength": 512 + }, + "eircode": { + "description": "A postal address in Ireland.\n", + "type": "string", + "example": "D02 X285", + "maxLength": 512 + } + }, + "example": { + "street_address": [ + "Paul-Linke-Ufer 39-40", + "2. Hinterhof" + ], + "post_code": "10999", + "city": "Berlin", + "country": "DE" + }, + "externalDocs": { + "description": "Address documentation", + "url": "https://backstage.sumup.net/docs/default/Component/merchants/merchant/#addresses" + }, + "required": [ + "country" + ] + }, + "CountryCode": { + "description": "An [ISO3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\ncountry code. This definition users `oneOf` with a two-character string\ntype to allow for support of future countries in client code.", + "type": "string", + "example": "BR", + "maxLength": 2, + "minLength": 2, + "pattern": "^[A-Z]{2}$" + }, + "PersonalIdentifiers": { + "description": "A list of country-specific personal identifiers.", + "type": "array", + "items": { + "$ref": "#/components/schemas/PersonalIdentifier" + }, + "example": [ + { + "ref": "br.cpf", + "value": "847.060.136-90" + } + ], + "maxItems": 32 + }, + "PersonalIdentifier": { + "type": "object", + "properties": { + "ref": { + "description": "The unique reference for the personal identifier type.", + "type": "string", + "example": "br.cpf", + "maxLength": 32 + }, + "value": { + "description": "The company identifier value.", + "type": "string", + "example": "847.060.136-90", + "maxLength": 128 + } + }, + "example": { + "ref": "br.cpf", + "value": "847.060.136-90" + }, + "required": [ + "ref", + "value" + ] + }, "ListPersonsResponseBody": { "type": "object", "properties": { @@ -8235,57 +8437,6 @@ }, "title": "Merchant" }, - "Company": { - "description": "Information about the company or business. This is legal information that is used for verification.\n", - "type": "object", - "properties": { - "name": { - "description": "The company's legal name.", - "type": "string", - "example": "Gin & Doughnuts Bar GmbH", - "maxLength": 150, - "minLength": 1 - }, - "merchant_category_code": { - "description": "The merchant category code for the account as specified by [ISO18245](https://www.iso.org/standard/33365.html). MCCs are used to classify businesses based on the goods or services they provide.\n", - "type": "string", - "example": "1532", - "pattern": "^[0-9]{4}$" - }, - "legal_type": { - "$ref": "#/components/schemas/LegalType" - }, - "address": { - "$ref": "#/components/schemas/Address" - }, - "trading_address": { - "$ref": "#/components/schemas/Address" - }, - "identifiers": { - "$ref": "#/components/schemas/CompanyIdentifiers" - }, - "phone_number": { - "$ref": "#/components/schemas/PhoneNumber" - }, - "website": { - "description": "HTTP(S) URL of the company's website.\n", - "type": "string", - "format": "uri", - "examples": [ - "https://www.sumup.com" - ], - "maxLength": 255, - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/Attributes" - } - }, - "externalDocs": { - "description": "Company documentation", - "url": "https://developer.sumup.com/tools/glossary/merchant#company" - } - }, "Meta": { "description": "A set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.\n\n**Warning**: Updating Meta will overwrite the existing data. Make sure to always include the complete JSON object.", "type": "object", @@ -8317,7 +8468,6 @@ "website": { "description": "The business's publicly available website.", "type": "string", - "format": "uri", "example": "https://example.com", "maxLength": 255 }, @@ -8345,199 +8495,12 @@ } ] }, - "CountryCode": { - "description": "An [ISO3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This definition users `oneOf` with a two-character string type to allow for support of future countries in client code.\n", - "type": "string", - "examples": [ - "AR", - "AT", - "AU", - "BE", - "BG", - "BR", - "CH", - "CL", - "CO", - "CY", - "CZ", - "DE", - "DK", - "EE", - "ES", - "FI", - "FR", - "GB", - "GR", - "HU", - "IE", - "IT", - "LT", - "LU", - "LV", - "MT", - "MX", - "NL", - "NO", - "PE", - "PL", - "PT", - "RO", - "SE", - "SI", - "SK", - "US" - ], - "maxLength": 2, - "minLength": 2 - }, "PhoneNumber": { "description": "A publicly available phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.\n", "type": "string", "example": "+420123456789", "maxLength": 16 }, - "Address": { - "description": "An address somewhere in the world. The address fields used depend on the country conventions. For example, in Great Britain, `city` is `post_town`. In the United States, the top-level administrative unit used in addresses is `state`, whereas in Chile it's `region`.\nWhether an address is valid or not depends on whether the locally required fields are present. Fields not supported in a country will be ignored.", - "type": "object", - "properties": { - "street_address": { - "type": "array", - "items": { - "type": "string", - "description": "The first line of the address.", - "maxLength": 100 - }, - "example": [ - "Paul-Linke-Ufer 39-40", - "2. Hinterhof" - ], - "maxItems": 2, - "minItems": 1 - }, - "post_code": { - "description": "The postal code (aka. zip code) of the address.\n", - "type": "string", - "example": "10999", - "maxLength": 10 - }, - "country": { - "$ref": "#/components/schemas/CountryCode" - }, - "city": { - "description": "The city of the address.\n", - "type": "string", - "example": "Berlin", - "maxLength": 60 - }, - "province": { - "description": "The province where the address is located. This may not be relevant in some countries.\n", - "type": "string", - "example": "Ontario", - "maxLength": 60 - }, - "region": { - "description": "The region where the address is located. This may not be relevant in some countries.\n", - "type": "string", - "example": "Baden-Wuerttemberg", - "maxLength": 60 - }, - "county": { - "description": "A county is a geographic region of a country used for administrative or other purposes in some nations. Used in countries such as Ireland, Romania, etc.\n", - "type": "string", - "example": "Dublin", - "maxLength": 60 - }, - "autonomous_community": { - "description": "In Spain, an autonomous community is the first sub-national level of political and administrative division.\n", - "type": "string", - "example": "Catalonia", - "maxLength": 60 - }, - "post_town": { - "description": "A post town is a required part of all postal addresses in the United Kingdom and Ireland, and a basic unit of the postal delivery system.\n", - "type": "string", - "example": "London", - "maxLength": 60 - }, - "state": { - "description": "Most often, a country has a single state, with various administrative divisions. The term \"state\" is sometimes used to refer to the federated polities that make up the federation. Used in countries such as the United States and Brazil.\n", - "type": "string", - "example": "California", - "maxLength": 60 - }, - "neighborhood": { - "description": "Locality level of the address. Used in countries such as Brazil or Chile.\n", - "type": "string", - "example": "Copacabana", - "maxLength": 60 - }, - "commune": { - "description": "In many countries, terms cognate with \"commune\" are used, referring to the community living in the area and the common interest. Used in countries such as Chile.\n", - "type": "string", - "example": "Providencia", - "maxLength": 60 - }, - "department": { - "description": "A department (French: département, Spanish: departamento) is an administrative or political division in several countries. Used in countries such as Colombia.\n", - "type": "string", - "example": "Antioquia", - "maxLength": 60 - }, - "municipality": { - "description": "A municipality is usually a single administrative division having corporate status and powers of self-government or jurisdiction as granted by national and regional laws to which it is subordinate. Used in countries such as Colombia.\n", - "type": "string", - "example": "Medellin", - "maxLength": 60 - }, - "district": { - "description": "A district is a type of administrative division that in some countries is managed by the local government. Used in countries such as Portugal.\n", - "type": "string", - "example": "Lisbon", - "maxLength": 60 - }, - "zip_code": { - "description": "A US system of postal codes used by the United States Postal Service (USPS).\n", - "type": "string", - "example": "94103", - "maxLength": 10 - }, - "eircode": { - "description": "A postal address in Ireland.\n", - "type": "string", - "example": "D02 X285", - "maxLength": 10 - } - }, - "examples": [ - { - "street_address": [ - "Paul-Linke-Ufer 39-40", - "2. Hinterhof" - ], - "post_code": "10999", - "city": "Berlin", - "country": "DE" - }, - { - "street_address": [ - "156 Avenida Vida Nova", - "Apto 2" - ], - "city": "Taboão da Serra", - "post_code": "06764045", - "state": "SP", - "neighborhood": "Jardim Maria Rosa", - "country": "BR" - } - ], - "externalDocs": { - "description": "Address documentation", - "url": "https://developer.sumup.com/tools/glossary/merchant#addresses" - }, - "required": [ - "country" - ] - }, "Branding": { "description": "Settings used to apply the Merchant's branding to email receipts, invoices, checkouts, and other products.", "type": "object", @@ -8677,36 +8640,6 @@ "share" ] }, - "PersonalIdentifier": { - "type": "object", - "properties": { - "ref": { - "description": "The unique reference for the personal identifier type as defined in the country SDK.\n", - "type": "string", - "examples": [ - "br.cpf" - ] - }, - "value": { - "description": "The company identifier value.\n", - "type": "string", - "examples": [ - "847.060.136-90" - ], - "maxLength": 30 - } - }, - "examples": [ - { - "ref": "br.cpf", - "value": "847.060.136-90" - } - ], - "required": [ - "ref", - "value" - ] - }, "Version": { "description": "The version of the resource. The version reflects a specific change submitted to the API via one of the `PATCH` endpoints.\n", "type": "string", @@ -8787,12 +8720,7 @@ "$ref": "#/components/schemas/Address" }, "identifiers": { - "description": "A list of country-specific personal identifiers.\n", - "type": "array", - "items": { - "$ref": "#/components/schemas/PersonalIdentifier" - }, - "maxItems": 5 + "$ref": "#/components/schemas/PersonalIdentifiers" }, "citizenship": { "$ref": "#/components/schemas/CountryCode" @@ -8824,6 +8752,55 @@ "id" ] }, + "Company": { + "description": "Information about the company or business. This is legal information that is used for verification.\n", + "type": "object", + "properties": { + "name": { + "description": "The company's legal name.", + "type": "string", + "example": "Gin & Doughnuts Bar GmbH", + "maxLength": 150, + "minLength": 1 + }, + "merchant_category_code": { + "description": "The merchant category code for the account as specified by [ISO18245](https://www.iso.org/standard/33365.html). MCCs are used to classify businesses based on the goods or services they provide.\n", + "type": "string", + "example": "1532", + "pattern": "^[0-9]{4}$" + }, + "legal_type": { + "$ref": "#/components/schemas/LegalType" + }, + "address": { + "$ref": "#/components/schemas/Address" + }, + "trading_address": { + "$ref": "#/components/schemas/Address" + }, + "identifiers": { + "$ref": "#/components/schemas/CompanyIdentifiers" + }, + "phone_number": { + "$ref": "#/components/schemas/PhoneNumber" + }, + "website": { + "description": "HTTP(S) URL of the company's website.\n", + "type": "string", + "examples": [ + "https://www.sumup.com" + ], + "maxLength": 255 + }, + "attributes": { + "$ref": "#/components/schemas/Attributes" + } + }, + "externalDocs": { + "description": "Company documentation", + "url": "https://developer.sumup.com/tools/glossary/merchant#company" + } + }, "ClassicMerchantIdentifiers": { "type": "object", "properties": { @@ -9595,14 +9572,14 @@ "UpdateReaderByID": { "operationId": "UpdateReader", "parameters": { - "id": "$response.body#/id" + "reader_id": "$response.body#/id" }, "description": "Update the reader object. This can be used to set a name after using this endpoint to verify the pairing code." }, "DeleteReaderByID": { "operationId": "DeleteReader", "parameters": { - "id": "$response.body#/id" + "reader_id": "$response.body#/id" }, "description": "Delete the reader." }