Save privacy policy data
PUT
/api/apps/{appId}/policy
Saves the privacy policy wizard data. Returns any validation warnings
(e.g., missing fields that are recommended but not required).
Parameters
Name
Type
Description
appIdrequired
string
The app's unique identifier
Example:
-NtestApp123
Request Body
Name
Type
Description
app-info
object
app_name
string
developer_name
string
email
string
data-collection
object
collects_data
string
Gate field: 'yes' or 'no'
data_types
string[]
purposes
string[]
third-party
object
shares_data
string[]
third_party_list
string
data-retention
object
retains_data
string
Gate field: 'yes' or 'no'
retention_period
string
children-tracking
object
children_or_tracking
string
Gate field: 'yes' or 'no'
collects_from_children
string[]
uses_tracking
string[]
_seenSections
object
Tracks which wizard sections the user has visited
Responses
200
Policy saved
Name
Type
Description
warnings
string[]
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}/policy
curl -X PUT "https://api.orbitkit.io/api/apps/-NtestApp123/policy" \
-H "Authorization: Bearer $ORBITKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"app-info":"string","data-collection":"string","third-party":"string","data-retention":"string","children-tracking":"string","_seenSections":"string"}'
const response = await fetch(`https://api.orbitkit.io/api/apps/-NtestApp123/policy`, {
method: "PUT",
headers: {
"Authorization": "Bearer " + apiKey,
"Content-Type": "application/json",
},
body: JSON.stringify({
"app-info": "string",
"data-collection": "string",
"third-party": "string",
"data-retention": "string",
"children-tracking": "string",
"_seenSections": "string"
}),
});
const data = await response.json();
console.log(data);
var request = URLRequest(url: URL(string: "https://api.orbitkit.io/api/apps/-NtestApp123/policy")!)
request.httpMethod = "PUT"
request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let body: [String: Any] = ["app-info": "string", "data-collection": "string", "third-party": "string", "data-retention": "string", "children-tracking": "string", "_seenSections": "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
{
"warnings": "string"
}
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"
}
}