Files
adyen-openapi/json/DataProtectionService-v1.json
Adyen Automation 4211894fc8 spec release
2023-05-30 14:02:35 +00:00

200 lines
7.8 KiB
JSON

{
"openapi" : "3.1.0",
"servers" : [
{
"url" : "https://ca-test.adyen.com/ca/services/DataProtectionService/v1"
}
],
"info" : {
"version" : "1",
"x-publicVersion" : true,
"title" : "Adyen Data Protection API",
"description" : "Adyen Data Protection API provides a way for you to process [Subject Erasure Requests](https://gdpr-info.eu/art-17-gdpr/) as mandated in GDPR.\n\nUse our API to submit a request to delete shopper's data, including payment details and other related information (for example, delivery address or shopper email).## Authentication\nEach request to the Data Protection API must be signed with an API key. Get your API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nData Protection Service API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://ca-test.adyen.com/ca/services/DataProtectionService/v1/requestSubjectErasure\n```",
"x-timestamp" : "2023-05-30T15:26:47Z",
"termsOfService" : "https://www.adyen.com/legal/terms-and-conditions",
"contact" : {
"name" : "Adyen Developer Experience team",
"url" : "https://github.com/Adyen/adyen-openapi"
}
},
"x-groups" : [
"General"
],
"tags" : [
{
"name" : "General"
}
],
"paths" : {
"/requestSubjectErasure" : {
"post" : {
"tags" : [
"General"
],
"summary" : "Submit a Subject Erasure Request.",
"description" : "Sends the PSP reference containing the shopper data that should be deleted.",
"operationId" : "post-requestSubjectErasure",
"x-groupName" : "General",
"x-sortIndex" : 0,
"x-methodName" : "requestSubjectErasure",
"security" : [
{
"BasicAuth" : [
]
},
{
"ApiKeyAuth" : [
]
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SubjectErasureByPspReferenceRequest"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SubjectErasureResponse"
}
}
},
"description" : "OK - the request has succeeded."
},
"400" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ServiceError"
}
}
},
"description" : "Bad Request - a problem reading or understanding the request."
},
"401" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ServiceError"
}
}
},
"description" : "Unauthorized - authentication required."
},
"403" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ServiceError"
}
}
},
"description" : "Forbidden - insufficient permissions to process the request."
},
"422" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ServiceError"
}
}
},
"description" : "Unprocessable Entity - a request validation error."
},
"500" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ServiceError"
}
}
},
"description" : "Internal Server Error - the server could not process the request."
}
}
}
}
},
"components" : {
"schemas" : {
"ServiceError" : {
"properties" : {
"errorCode" : {
"description" : "The error code mapped to the error message.",
"type" : "string"
},
"errorType" : {
"description" : "The category of the error.",
"type" : "string"
},
"message" : {
"description" : "A short explanation of the issue.",
"type" : "string"
},
"pspReference" : {
"description" : "The PSP reference of the payment.",
"type" : "string"
},
"status" : {
"description" : "The HTTP response status.",
"format" : "int32",
"type" : "integer"
}
},
"type" : "object"
},
"SubjectErasureByPspReferenceRequest" : {
"properties" : {
"forceErasure" : {
"description" : "Set this to **true** if you want to delete shopper-related data, even if the shopper has an existing recurring transaction. This only deletes the shopper-related data for the specific payment, but does not cancel the existing recurring transaction.",
"type" : "boolean"
},
"merchantAccount" : {
"description" : "Your merchant account",
"type" : "string"
},
"pspReference" : {
"description" : "The PSP reference of the payment. We will delete all shopper-related data for this payment.",
"type" : "string"
}
},
"type" : "object"
},
"SubjectErasureResponse" : {
"properties" : {
"result" : {
"description" : "The result of this operation.",
"enum" : [
"ACTIVE_RECURRING_TOKEN_EXISTS",
"ALREADY_PROCESSED",
"PAYMENT_NOT_FOUND",
"SUCCESS"
],
"type" : "string"
}
},
"type" : "object"
}
},
"securitySchemes" : {
"ApiKeyAuth" : {
"in" : "header",
"name" : "X-API-Key",
"type" : "apiKey"
},
"BasicAuth" : {
"scheme" : "basic",
"type" : "http"
}
},
"examples" : {
}
}
}