โ
Logged in
Endpoint: POST https://la.deltascripts.com/api/v1/auth/login
Input:{
"email": "api@example.com",
"password": "ApiTest123!"
}Response:Status: HTTP 200
{
"token": "97c00afe418a36bf3362fd5bb7f4600db6fa5244b851e3ab32810eb85a9dfe0b",
"user": {
"id": 49,
"email": "api@example.com",
"name": "Updated Tester"
},
"expires_at": "2025-12-30 14:44:12"
}๐ค Create user
Endpoint: POST https://la.deltascripts.com/api/v1/users
Input:{
"email": "testuser844@example.com",
"name": "Tester",
"password": "Pass1234"
}Response:Status: HTTP 201
{
"id": 73,
"email": "testuser844@example.com",
"name": "Tester",
"is_active": 1,
"created_at": "2025-12-23 14:44:12"
}๐ฅ List users
Endpoint: GET https://la.deltascripts.com/api/v1/users
Input: (none)
Response:Status: HTTP 200
[
{
"id": 73,
"email": "testuser844@example.com",
"name": "Tester",
"is_active": 1,
"created_at": "2025-12-23 14:44:12"
},
{
"id": 55,
"email": "testuser653@example.com",
"name": "Tester",
"is_active": 1,
"created_at": "2025-08-24 06:02:55"
},
{
"id": 54,
"email": "testuser529@example.com",
"name": "Tester",
"is_active": 1,
"created_at": "2025-08-24 00:40:10"
},
{
"id": 51,
"email": "kontor@webspesialisten.no",
"name": "Are Haugsdal",
"is_active": 1,
"created_at": "2025-08-23 21:02:53"
},
{
"id": 49,
"email": "api@example.com",
"name": "Updated Tester",
"is_active": 1,
"created_at": "2025-08-23 19:16:40"
},
{
"id": 1,
"email": "admin@example.com",
"name": "Admin User",
"is_active": 1,
"created_at": "2025-08-23 12:54:27"
}
]๐ค Get user
Endpoint: GET https://la.deltascripts.com/api/v1/users/73
Input: (none)
Response:Status: HTTP 200
{
"id": 73,
"email": "testuser844@example.com",
"name": "Tester",
"is_active": 1,
"created_at": "2025-12-23 14:44:12"
}โ๏ธ Update user
Endpoint: PUT https://la.deltascripts.com/api/v1/users/73
Input:{
"name": "Tester Updated"
}Response:Status: HTTP 200
{
"ok": true,
"id": 73
}๐ Update password
Endpoint: PUT https://la.deltascripts.com/api/v1/users/73/password
Input:{
"new_password": "NewPass1234"
}Response:Status: HTTP 200
{
"ok": true,
"message": "Password updated"
}๐ข Create customer
Endpoint: POST https://la.deltascripts.com/api/v1/customers
Input:{
"name": "TestCustomer"
}Response:Status: HTTP 201
{
"id": 88,
"name": "TestCustomer"
}๐ List customers
Endpoint: GET https://la.deltascripts.com/api/v1/customers
Input: (none)
Response:Status: HTTP 200
[
{
"id": 88,
"name": "TestCustomer",
"created_at": "2025-12-23 14:44:12"
},
{
"id": 66,
"name": "Webspesialisten AS",
"created_at": "2025-08-23 21:02:52"
},
{
"id": 1,
"name": "Admin Group",
"created_at": "2025-08-23 10:54:27"
}
]๐ข Get customer
Endpoint: GET https://la.deltascripts.com/api/v1/customers/88
Input: (none)
Response:Status: HTTP 200
{
"id": 88,
"name": "TestCustomer",
"created_at": "2025-12-23 14:44:12"
}โ๏ธ Update customer
Endpoint: PUT https://la.deltascripts.com/api/v1/customers/88
Input:{
"name": "Customer Updated"
}Response:Status: HTTP 200
{
"ok": true,
"id": 88,
"name": "Customer Updated"
}๐ฅ Add customer member
Endpoint: POST https://la.deltascripts.com/api/v1/customers/88/members
Input:{
"user_id": 73,
"role": "admin"
}Response:Status: HTTP 200
{
"ok": true
}๐ฅ List customer members
Endpoint: GET https://la.deltascripts.com/api/v1/customers/88/members
Input: (none)
Response:Status: HTTP 200
[
{
"id": 63,
"role": "admin",
"user_id": 73,
"email": "testuser844@example.com",
"name": "Tester Updated"
}
]๐ฆ Create project
Endpoint: POST https://la.deltascripts.com/api/v1/projects
Input:{
"customer_id": 88,
"name": "TestProjectStrings",
"default_lang": "en"
}Response:Status: HTTP 201
{
"id": 114,
"name": "TestProjectStrings",
"default_lang": "en"
}๐ List projects
Endpoint: GET https://la.deltascripts.com/api/v1/projects
Input: (none)
Response:Status: HTTP 200
[
{
"id": 114,
"customer_id": 88,
"name": "TestProjectStrings",
"default_lang": "en",
"created_at": "2025-12-23 14:44:13"
},
{
"id": 102,
"customer_id": 66,
"name": "eAvtale",
"default_lang": "en",
"created_at": "2025-10-11 20:52:10"
},
{
"id": 98,
"customer_id": 66,
"name": "Kundeweb",
"default_lang": "en",
"created_at": "2025-09-15 15:43:03"
},
{
"id": 96,
"customer_id": 66,
"name": "InventarListen",
"default_lang": "en",
"created_at": "2025-08-24 16:13:03"
},
{
"id": 64,
"customer_id": 1,
"name": "TestProjectStrings",
"default_lang": "en",
"created_at": "2025-08-23 19:45:26"
}
]๐ฅ Add project member
Endpoint: POST https://la.deltascripts.com/api/v1/projects/114/members
Input:{
"user_id": 73,
"role": "editor"
}Response:Status: HTTP 200
{
"ok": true
}๐ฅ List project members
Endpoint: GET https://la.deltascripts.com/api/v1/projects/114/members
Input: (none)
Response:Status: HTTP 200
[
{
"id": 92,
"role": "editor",
"user_id": 73,
"email": "testuser844@example.com",
"name": "Tester Updated"
},
{
"id": 91,
"role": "admin",
"user_id": 49,
"email": "api@example.com",
"name": "Updated Tester"
}
]๐ Create area
Endpoint: POST https://la.deltascripts.com/api/v1/projects/114/areas
Input:{
"name": "admin"
}Response:Status: HTTP 500
{
"error": "Database error",
"detail": "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '114-admin' for key 'areas.uniq_project_area'"
}๐ Create section
Endpoint: POST https://la.deltascripts.com/api/v1/projects/114/areas/admin/sections
Input:{
"name": "categories"
}Response:Status: HTTP 201
{
"id": 341,
"name": "categories",
"area": "admin",
"message": "Section created successfully"
}๐ Propose string
Endpoint: POST https://la.deltascripts.com/api/v1/projects/114/strings:propose
Input:{
"area": "admin",
"section": "categories",
"key": "admin.categories.title",
"base_text": "Kategorier"
}Response:Status: HTTP 400
{
"error": "Key can only contain lowercase letters a-z and underscores"
}๐ Upsert translation
Endpoint: POST https://la.deltascripts.com/api/v1/projects/114/translations:upsert
Input:{
"key": null,
"lang": "nb",
"text": "Ny kategori"
}Response:Status: HTTP 400
{
"error": "key, lang, text required"
}โ
Approve translation
Endpoint: POST https://la.deltascripts.com/api/v1/projects/114/translations:approve
Input:{
"keys": [
null
],
"lang": "nb"
}Response:Status: HTTP 200
{
"success": true,
"message": "Translations approved successfully",
"data": {
"approved_count": 0,
"approved_translations": [],
"summary": {
"total_requested": 1,
"successfully_approved": 0,
"language": "nb"
}
},
"meta": {
"approved_by": "Updated Tester",
"approved_at": "2025-12-23 14:44:13"
}
}๐ Version check
Endpoint: GET https://la.deltascripts.com/api/v1/projects/114/areas/admin/version?lang=nb
Input: (none)
Response:Status: HTTP 200
{
"version": 0,
"checksum": null
}๐ฆ Bundle fetch
Endpoint: GET https://la.deltascripts.com/api/v1/projects/114/areas/admin/sections/categories/bundle?lang=nb&since_version=0
Input: (none)
Response:Status: HTTP 200
{
"meta": {
"project_id": 114,
"area": "admin",
"section": "categories",
"lang": "nb",
"version": 0,
"checksum": null
},
"strings": []
}๐ Lookup by key
Endpoint: GET https://la.deltascripts.com/api/v1/projects/114/strings?keys=&lang=nb
Input: (none)
Response:Status: HTTP 200
[]
๐ Stats overview
Endpoint: GET https://la.deltascripts.com/api/v1/stats/overview
Input: (none)
Response:Status: HTTP 200
{
"totalProjects": 2,
"totalStrings": 0,
"totalTranslations": 0,
"projects": [
{
"id": 64,
"name": "TestProjectStrings",
"strings": 0,
"translations": 0
},
{
"id": 114,
"name": "TestProjectStrings",
"strings": 0,
"translations": 0
}
]
}๐ Project stats
Endpoint: GET https://la.deltascripts.com/api/v1/projects/114/stats
Input: (none)
Response:Status: HTTP 200
{
"totalStrings": 0,
"lastModified": null,
"languages": [],
"areas": [
{
"name": "admin",
"lastModified": null,
"sections": [
{
"name": "categories",
"lastModified": null,
"languages": []
},
{
"name": "dashboard",
"lastModified": null,
"languages": []
},
{
"name": "login",
"lastModified": null,
"languages": []
},
{
"name": "settings",
"lastModified": null,
"languages": []
}
]
},
{
"name": "member",
"lastModified": null,
"sections": [
{
"name": "messages",
"lastModified": null,
"languages": []
},
{
"name": "preferences",
"lastModified": null,
"languages": []
},
{
"name": "profile",
"lastModified": null,
"languages": []
}
]
},
{
"name": "public",
"lastModified": null,
"sections": [
{
"name": "about",
"lastModified": null,
"languages": []
},
{
"name": "contact",
"lastModified": null,
"languages": []
},
{
"name": "home",
"lastModified": null,
"languages": []
}
]
}
]
}๐ค Get profile
Endpoint: GET https://la.deltascripts.com/api/profile
Input: (none)
Response:Status: HTTP 200
{
"id": 49,
"email": "api@example.com",
"name": "Updated Tester",
"is_active": 1,
"created_at": "2025-08-23 19:16:40"
}โ๏ธ Update profile
Endpoint: PUT https://la.deltascripts.com/api/profile
Input:{
"name": "Updated Tester"
}Response:Status: HTTP 200
{
"ok": true,
"message": "Profile updated successfully"
}โ๏ธ List settings
Endpoint: GET https://la.deltascripts.com/api/v1/settings
Input: (none)
Response:Status: HTTP 200
[
{
"id": 16,
"setting_key": "api-cors-origins",
"setting_value": "[\"*\"]",
"setting_type": "json",
"category": "api",
"description": "Allowed CORS origins",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 15,
"setting_key": "api-logging",
"setting_value": "1",
"setting_type": "bool",
"category": "api",
"description": "Enable API request logging",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 14,
"setting_key": "api-rate-limit",
"setting_value": "1000",
"setting_type": "int",
"category": "api",
"description": "API rate limit per hour",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 10,
"setting_key": "default-language",
"setting_value": "en",
"setting_type": "string",
"category": "general",
"description": "Default system language",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 13,
"setting_key": "maintenance-mode",
"setting_value": "0",
"setting_type": "bool",
"category": "general",
"description": "Maintenance mode (0=off, 1=on)",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 11,
"setting_key": "max-file-size",
"setting_value": "10485760",
"setting_type": "int",
"category": "general",
"description": "Maximum file upload size in bytes",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 12,
"setting_key": "session-timeout",
"setting_value": "604800",
"setting_type": "int",
"category": "general",
"description": "Session timeout in seconds (7 days)",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 8,
"setting_key": "system-name",
"setting_value": "Translation Manager",
"setting_type": "string",
"category": "general",
"description": "System display name",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 9,
"setting_key": "system-version",
"setting_value": "1.0.0",
"setting_type": "string",
"category": "general",
"description": "System version",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 18,
"setting_key": "email-notifications",
"setting_value": "1",
"setting_type": "bool",
"category": "notifications",
"description": "Enable email notifications",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 19,
"setting_key": "notification-email",
"setting_value": "admin@example.com",
"setting_type": "string",
"category": "notifications",
"description": "Default notification email",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 17,
"setting_key": "notifications-enabled",
"setting_value": "1",
"setting_type": "bool",
"category": "notifications",
"description": "Enable system notifications",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
},
{
"id": 7,
"setting_key": "smtp-from-email",
"setting_value": "noreply@yourdomain.com",
"setting_type": "string",
"category": "smtp",
"description": "System sender email",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-09-23 06:20:05"
},
{
"id": 6,
"setting_key": "smtp-from-name",
"setting_value": "Translation Manager System",
"setting_type": "string",
"category": "smtp",
"description": "System sender name",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-09-23 06:20:05"
},
{
"id": 1,
"setting_key": "smtp-hostname",
"setting_value": "smtp.gmail.com",
"setting_type": "string",
"category": "smtp",
"description": "Gmail SMTP server",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-24 00:40:11"
},
{
"id": 4,
"setting_key": "smtp-port",
"setting_value": "587",
"setting_type": "int",
"category": "smtp",
"description": "Gmail SMTP port",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-09-23 06:20:04"
},
{
"id": 5,
"setting_key": "smtp-secure",
"setting_value": "1",
"setting_type": "int",
"category": "smtp",
"description": "Use TLS encryption",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:43:16"
},
{
"id": 2,
"setting_key": "smtp-username",
"setting_value": "your-email@gmail.com",
"setting_type": "string",
"category": "smtp",
"description": "Gmail username",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-09-23 06:20:04"
},
{
"id": 22,
"setting_key": "test-feature-flag",
"setting_value": "1",
"setting_type": "bool",
"category": "testing",
"description": "Test feature flag for API testing",
"is_sensitive": 0,
"created_at": "2025-08-24 00:40:11",
"updated_at": "2025-08-24 00:40:11"
}
]๐ List settings categories
Endpoint: GET https://la.deltascripts.com/api/v1/settings/categories
Input: (none)
Response:Status: HTTP 200
[
"api",
"general",
"notifications",
"smtp",
"testing"
]๐ Get specific setting
Endpoint: GET https://la.deltascripts.com/api/v1/settings/system-name
Input: (none)
Response:Status: HTTP 200
{
"id": 8,
"setting_key": "system-name",
"setting_value": "Translation Manager",
"setting_type": "string",
"category": "general",
"description": "System display name",
"is_sensitive": 0,
"created_at": "2025-08-23 20:27:22",
"updated_at": "2025-08-23 20:27:22"
}โ๏ธ Update SMTP setting
Endpoint: PUT https://la.deltascripts.com/api/v1/settings/smtp-hostname
Input:{
"value": "smtp.gmail.com",
"description": "Gmail SMTP server"
}Response:Status: HTTP 200
{
"ok": true,
"key": "smtp-hostname"
}โ Create custom setting
Endpoint: POST https://la.deltascripts.com/api/v1/settings
Input:{
"key": "test-feature-flag",
"value": "1",
"type": "bool",
"category": "testing",
"description": "Test feature flag for API testing"
}Response:Status: HTTP 409
{
"error": "Setting already exists"
}๐๏ธ Delete custom setting
Endpoint: DELETE https://la.deltascripts.com/api/v1/settings/
Input: (none)
Response:Status: HTTP 404
{
"error": "Not Found"
}๐งน Cleanup
Delete project
Endpoint: DELETE https://la.deltascripts.com/api/v1/projects/114
Input: (none)
Response:Status: HTTP 204
Remove customer member
Endpoint: DELETE https://la.deltascripts.com/api/v1/customers/88/members/73
Input: (none)
Response:Status: HTTP 204
Delete customer
Endpoint: DELETE https://la.deltascripts.com/api/v1/customers/88
Input: (none)
Response:Status: HTTP 204
Delete user
Endpoint: DELETE https://la.deltascripts.com/api/v1/users/73
Input: (none)
Response:Status: HTTP 204
โ
Done (resources cleaned up)