Save data deletion page

PUT /api/apps/{appId}/deletion-page

Parameters

Name Type Description
appIdrequired string The app's unique identifier Example: -NtestApp123

Request Body

Name Type Description
supportsAccountsrequired boolean Whether the app supports user accounts
deletionMethods string[]
deletionEmail string (email) Max 320 characters
deletionUrl string (uri) Max 500 characters
deletionSteps string[] Max 10 items
deletionTimeline string 1–200 characters
dataRetainedAfterDeletion string Max 2000 characters
additionalInfo string Max 2000 characters

Responses

200 Saved deletion page
Name Type Description
supportsAccountsrequired boolean Whether the app supports user accounts
deletionMethods string[]
deletionEmail string (email) Max 320 characters
deletionUrl string (uri) Max 500 characters
deletionSteps string[] Max 10 items
deletionTimeline string 1–200 characters
dataRetainedAfterDeletion string Max 2000 characters
additionalInfo string Max 2000 characters
updatedAt integer
400 Validation failed
Name Type Description
errorrequired object
coderequired string Machine-readable error code UNAUTHORIZEDFORBIDDENNOT_FOUNDVALIDATION_FAILEDRATE_LIMITEDSLUG_TAKENSLUG_RESERVEDDOMAIN_IN_USEAPP_LIMIT_REACHEDSUBSCRIPTION_REQUIREDSUBSCRIPTION_EXISTSNO_PAYMENT_METHODNO_ACTIVE_SUBSCRIPTIONNOT_CANCELINGALREADY_CANCELINGSUBSCRIPTION_CANCELINGSAME_PLANCARD_ERRORPAYMENT_ERRORNO_STRIPE_CUSTOMERCERT_CREATION_FAILEDDEPLOY_FAILEDAPI_KEY_LIMIT_REACHEDINVALID_IDEMPOTENCY_KEYIDEMPOTENCY_KEY_REUSEINTERNAL_ERROR
messagerequired string Human-readable error description
docUrl string (uri) Link to relevant API documentation for this error Example: https://orbitkit.io/api/errors/#unauthorized
details object[] Additional validation details (Zod errors)
401 Missing, invalid, or expired authentication token
Name Type Description
errorrequired object
coderequired string Machine-readable error code UNAUTHORIZEDFORBIDDENNOT_FOUNDVALIDATION_FAILEDRATE_LIMITEDSLUG_TAKENSLUG_RESERVEDDOMAIN_IN_USEAPP_LIMIT_REACHEDSUBSCRIPTION_REQUIREDSUBSCRIPTION_EXISTSNO_PAYMENT_METHODNO_ACTIVE_SUBSCRIPTIONNOT_CANCELINGALREADY_CANCELINGSUBSCRIPTION_CANCELINGSAME_PLANCARD_ERRORPAYMENT_ERRORNO_STRIPE_CUSTOMERCERT_CREATION_FAILEDDEPLOY_FAILEDAPI_KEY_LIMIT_REACHEDINVALID_IDEMPOTENCY_KEYIDEMPOTENCY_KEY_REUSEINTERNAL_ERROR
messagerequired string Human-readable error description
docUrl string (uri) Link to relevant API documentation for this error Example: https://orbitkit.io/api/errors/#unauthorized
details object[] Additional validation details (Zod errors)
Language
URL
PUT https://api.orbitkit.io/api/apps/{appId}/deletion-page
curl -X PUT "https://api.orbitkit.io/api/apps/-NtestApp123/deletion-page" \
  -H "Authorization: Bearer $ORBITKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"supportsAccounts":true,"deletionMethods":"string","deletionEmail":"user@example.com","deletionUrl":"https://example.com","deletionSteps":"string","deletionTimeline":"string","dataRetainedAfterDeletion":"string","additionalInfo":"string"}'
const response = await fetch(`https://api.orbitkit.io/api/apps/-NtestApp123/deletion-page`, {
  method: "PUT",
  headers: {
    "Authorization": "Bearer " + apiKey,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
      "supportsAccounts": true,
      "deletionMethods": "string",
      "deletionEmail": "user@example.com",
      "deletionUrl": "https://example.com",
      "deletionSteps": "string",
      "deletionTimeline": "string",
      "dataRetainedAfterDeletion": "string",
      "additionalInfo": "string"
  }),
});

const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://api.orbitkit.io/api/apps/-NtestApp123/deletion-page")!)
request.httpMethod = "PUT"
request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let body: [String: Any] = ["supportsAccounts": true, "deletionMethods": "string", "deletionEmail": "user@example.com", "deletionUrl": "https://example.com", "deletionSteps": "string", "deletionTimeline": "string", "dataRetainedAfterDeletion": "string", "additionalInfo": "string"]
request.httpBody = try JSONSerialization.data(withJSONObject: body)

let (data, _) = try await URLSession.shared.data(for: request)
let json = try JSONSerialization.jsonObject(with: data)
print(json)
200
{
  "supportsAccounts": true,
  "deletionMethods": "string",
  "deletionEmail": "user@example.com",
  "deletionUrl": "https://example.com",
  "deletionSteps": "string",
  "deletionTimeline": "string",
  "dataRetainedAfterDeletion": "string",
  "additionalInfo": "string",
  "updatedAt": 0
}
400
{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Validation failed",
    "docUrl": "https://orbitkit.io/api/errors/#validation-failed",
    "details": [
      {
        "field": "appName",
        "message": "Required"
      }
    ]
  }
}
401
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid or expired token",
    "docUrl": "https://orbitkit.io/api/errors/#unauthorized"
  }
}