Add API documentation translations for all supported languages
Adds comprehensive translations for tenant API documentation in English, German, Spanish, and French. Includes ~312 translation keys per language covering API Overview, Appointments, Services, Resources, Customers, and Webhooks API documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -254,6 +254,452 @@
|
||||
"errorLoadingTokens": "Error Loading Tokens",
|
||||
"errorLoadingTokensMessage": "Failed to load API tokens. Please check your connection and try refreshing the page."
|
||||
},
|
||||
"apiDocs": {
|
||||
"overview": {
|
||||
"title": "API Overview",
|
||||
"subtitle": "REST API for third-party integrations",
|
||||
"introduction": {
|
||||
"title": "Introduction",
|
||||
"description": "SmoothSchedule provides a comprehensive REST API that allows you to integrate your scheduling platform with third-party applications, build custom tools, and automate workflows.",
|
||||
"baseUrl": "Base URL",
|
||||
"interactiveDocsTitle": "Interactive Documentation",
|
||||
"interactiveDocsDescription": "Explore and test API endpoints at"
|
||||
},
|
||||
"authentication": {
|
||||
"title": "Authentication",
|
||||
"description": "All API requests require authentication using Bearer tokens in the Authorization header.",
|
||||
"tokenFormat": "Token Format",
|
||||
"productionEnv": "Production environment",
|
||||
"sandboxEnv": "Sandbox environment (safe for testing)",
|
||||
"exampleRequest": "Example Request",
|
||||
"securityNote": "API tokens are created in Business Settings → API. Each token has configurable scopes that control access to specific endpoints and operations."
|
||||
},
|
||||
"scopes": {
|
||||
"title": "Available Scopes",
|
||||
"description": "Control which operations your API token can perform by selecting scopes:",
|
||||
"servicesRead": "View services and pricing",
|
||||
"resourcesRead": "View resources and staff",
|
||||
"availabilityRead": "Check time slot availability",
|
||||
"bookingsRead": "View appointments",
|
||||
"bookingsWrite": "Create, update, cancel appointments",
|
||||
"customersRead": "View customer information",
|
||||
"customersWrite": "Create and update customers",
|
||||
"businessRead": "View business information",
|
||||
"webhooksManage": "Manage webhook subscriptions"
|
||||
},
|
||||
"rateLimiting": {
|
||||
"title": "Rate Limiting",
|
||||
"description": "API requests are rate-limited to ensure fair usage and platform stability:",
|
||||
"globalLimit": "Global Limit",
|
||||
"globalLimitValue": "1,000 requests per hour",
|
||||
"burstLimit": "Burst Limit",
|
||||
"burstLimitValue": "100 requests per minute",
|
||||
"responseHeaders": "Response Headers",
|
||||
"headerLimit": "Maximum requests allowed",
|
||||
"headerRemaining": "Requests remaining in window",
|
||||
"headerReset": "Unix timestamp when limit resets"
|
||||
},
|
||||
"errors": {
|
||||
"title": "Error Responses",
|
||||
"description": "All errors follow a consistent JSON format:",
|
||||
"httpStatusCodes": "HTTP Status Codes",
|
||||
"code": "Code",
|
||||
"status": "Status",
|
||||
"codeDescription": "Description",
|
||||
"ok": "OK",
|
||||
"okDesc": "Request succeeded",
|
||||
"created": "Created",
|
||||
"createdDesc": "Resource created successfully",
|
||||
"badRequest": "Bad Request",
|
||||
"badRequestDesc": "Invalid request data",
|
||||
"unauthorized": "Unauthorized",
|
||||
"unauthorizedDesc": "Missing or invalid token",
|
||||
"forbidden": "Forbidden",
|
||||
"forbiddenDesc": "Insufficient scope permissions",
|
||||
"notFound": "Not Found",
|
||||
"notFoundDesc": "Resource does not exist",
|
||||
"conflict": "Conflict",
|
||||
"conflictDesc": "Resource conflict (e.g., double booking)",
|
||||
"tooManyRequests": "Too Many Requests",
|
||||
"tooManyRequestsDesc": "Rate limit exceeded",
|
||||
"serverError": "Internal Server Error",
|
||||
"serverErrorDesc": "Server error (contact support)"
|
||||
},
|
||||
"sandbox": {
|
||||
"title": "Sandbox Mode",
|
||||
"description": "Test your integration safely without affecting production data:",
|
||||
"testTokens": "Test Tokens",
|
||||
"testTokensDesc": "work with sandbox data only",
|
||||
"safeTesting": "Safe Testing",
|
||||
"safeTestingDesc": "Create, update, and delete test appointments without affecting real bookings",
|
||||
"easyToggle": "Easy Toggle",
|
||||
"easyToggleDesc": "Switch between test and live modes in Business Settings → API",
|
||||
"tip": "Always test with sandbox tokens before using production tokens in your application."
|
||||
},
|
||||
"endpoints": {
|
||||
"title": "API Endpoints",
|
||||
"appointmentsTitle": "Appointments API",
|
||||
"appointmentsDesc": "Create, manage, and query appointments",
|
||||
"servicesTitle": "Services API",
|
||||
"servicesDesc": "Access service catalog and pricing",
|
||||
"resourcesTitle": "Resources API",
|
||||
"resourcesDesc": "Staff, rooms, and equipment data",
|
||||
"customersTitle": "Customers API",
|
||||
"customersDesc": "Customer profiles and contact info",
|
||||
"webhooksTitle": "Webhooks",
|
||||
"webhooksDesc": "Real-time event notifications",
|
||||
"viewDocs": "View Docs"
|
||||
},
|
||||
"needHelp": {
|
||||
"title": "Need More Help?",
|
||||
"description": "Our support team is ready to help with API integration questions.",
|
||||
"contactSupport": "Contact Support"
|
||||
}
|
||||
},
|
||||
"appointments": {
|
||||
"title": "Appointments API",
|
||||
"subtitle": "Manage appointments and bookings programmatically",
|
||||
"overview": {
|
||||
"title": "Overview",
|
||||
"description": "The Appointments API allows you to programmatically manage appointments, bookings, and scheduling events in your SmoothSchedule account. Create, retrieve, update, and cancel appointments with full control over resources, customers, and scheduling.",
|
||||
"requiredScopes": "Required OAuth Scopes"
|
||||
},
|
||||
"endpoints": {
|
||||
"title": "API Endpoints",
|
||||
"list": {
|
||||
"title": "List Appointments",
|
||||
"description": "Retrieve a list of appointments with optional filtering.",
|
||||
"queryParams": "Query Parameters",
|
||||
"startDate": "Filter by start date (YYYY-MM-DD)",
|
||||
"endDate": "Filter by end date (YYYY-MM-DD)",
|
||||
"statusFilter": "Filter by status (scheduled, confirmed, completed, etc.)",
|
||||
"customerIdFilter": "Filter by customer UUID"
|
||||
},
|
||||
"get": {
|
||||
"title": "Get Appointment",
|
||||
"description": "Retrieve a single appointment by ID."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create Appointment",
|
||||
"description": "Create a new appointment.",
|
||||
"requestBody": "Request Body"
|
||||
},
|
||||
"update": {
|
||||
"title": "Update Appointment",
|
||||
"description": "Update an existing appointment.",
|
||||
"partialUpdate": "Request Body (partial update)"
|
||||
},
|
||||
"cancel": {
|
||||
"title": "Cancel Appointment",
|
||||
"description": "Cancel an appointment. Optionally provide a cancellation reason.",
|
||||
"optionalBody": "Request Body (optional)"
|
||||
}
|
||||
},
|
||||
"object": {
|
||||
"title": "Appointment Object",
|
||||
"description": "Each appointment object contains the following fields:",
|
||||
"field": "Field",
|
||||
"type": "Type",
|
||||
"fieldDescription": "Description",
|
||||
"id": "Unique appointment identifier",
|
||||
"service": "Service details (id, name, duration, price)",
|
||||
"resource": "Assigned resource (id, name, type)",
|
||||
"customer": "Customer details (id, email, name, phone)",
|
||||
"startTime": "Appointment start time (UTC)",
|
||||
"endTime": "Appointment end time (UTC)",
|
||||
"status": "Current status (see Status Values below)",
|
||||
"notes": "Additional notes or instructions",
|
||||
"createdAt": "When the appointment was created"
|
||||
},
|
||||
"statusValues": {
|
||||
"title": "Status Values",
|
||||
"description": "Appointments can have one of the following status values:",
|
||||
"scheduled": "Appointment has been scheduled but not yet confirmed",
|
||||
"confirmed": "Customer has confirmed the appointment",
|
||||
"inProgress": "Appointment is currently in progress",
|
||||
"completed": "Appointment has been completed successfully",
|
||||
"cancelled": "Appointment was cancelled",
|
||||
"noShow": "Customer did not show up for the appointment"
|
||||
},
|
||||
"exampleResponse": {
|
||||
"title": "Example Response",
|
||||
"description": "A typical appointment object in the API response:"
|
||||
},
|
||||
"rateLimiting": {
|
||||
"title": "Rate Limiting",
|
||||
"description": "API requests are limited to",
|
||||
"perHour": "requests per hour",
|
||||
"perKey": "per API key.",
|
||||
"headersInfo": "Rate limit information is included in response headers:"
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"title": "Services API",
|
||||
"subtitle": "Access your service catalog via API",
|
||||
"overview": {
|
||||
"title": "Overview",
|
||||
"description": "Access your service catalog via the public API to integrate scheduling capabilities into your own applications, websites, or mobile apps.",
|
||||
"requiredScope": "Required scope",
|
||||
"readOnlyNote": "Services are read-only via the public API. Use the dashboard to create, update, or delete services."
|
||||
},
|
||||
"endpoints": {
|
||||
"title": "Endpoints",
|
||||
"list": {
|
||||
"title": "List Services",
|
||||
"description": "Returns all active services ordered by"
|
||||
},
|
||||
"get": {
|
||||
"title": "Get Service",
|
||||
"description": "Returns detailed information for a specific service by UUID."
|
||||
}
|
||||
},
|
||||
"object": {
|
||||
"title": "Service Object",
|
||||
"field": "Field",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"id": "Unique identifier for the service",
|
||||
"name": "Service name (e.g., \"Haircut\", \"Oil Change\")",
|
||||
"serviceDescription": "Optional detailed description of the service",
|
||||
"duration": "Duration in minutes (e.g., 30, 60, 90)",
|
||||
"price": "Price in dollars (null for variable pricing)",
|
||||
"photos": "Array of photo URLs for the service",
|
||||
"isActive": "Whether the service is currently active"
|
||||
},
|
||||
"exampleResponse": {
|
||||
"title": "Example Response"
|
||||
},
|
||||
"codeExamples": {
|
||||
"title": "Code Examples",
|
||||
"listAll": "List All Services",
|
||||
"getSpecific": "Get Specific Service"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"title": "Resources API",
|
||||
"subtitle": "Access bookable resources via the public API",
|
||||
"overview": {
|
||||
"title": "Overview",
|
||||
"description": "The Resources API provides read-only access to your bookable resources including staff members, rooms, and equipment. Use this API to list available resources and retrieve their details.",
|
||||
"requiredScope": "Required OAuth Scope",
|
||||
"readOnlyNote": "Resources are read-only via the public API. To create or modify resources, use the main dashboard."
|
||||
},
|
||||
"endpoints": {
|
||||
"title": "Endpoints",
|
||||
"list": {
|
||||
"title": "List Resources",
|
||||
"description": "Returns a list of all active resources in your account.",
|
||||
"queryParams": "Query Parameters",
|
||||
"typeFilter": "Filter by resource type (STAFF, ROOM, EQUIPMENT)"
|
||||
},
|
||||
"get": {
|
||||
"title": "Get Resource",
|
||||
"description": "Retrieve details for a specific resource by its ID."
|
||||
}
|
||||
},
|
||||
"object": {
|
||||
"title": "Resource Object",
|
||||
"field": "Field",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"id": "Unique identifier",
|
||||
"name": "Resource name",
|
||||
"resourceDescription": "Resource description",
|
||||
"resourceType": "Resource type object with id, name, category",
|
||||
"photoUrl": "URL to resource photo",
|
||||
"isActive": "Whether resource is active"
|
||||
},
|
||||
"types": {
|
||||
"title": "Resource Types",
|
||||
"staff": "STAFF",
|
||||
"staffDesc": "Team members who provide services",
|
||||
"room": "ROOM",
|
||||
"roomDesc": "Physical spaces for appointments",
|
||||
"equipment": "EQUIPMENT",
|
||||
"equipmentDesc": "Tools or equipment needed for services"
|
||||
},
|
||||
"exampleResponse": {
|
||||
"title": "Example Response"
|
||||
},
|
||||
"codeExamples": {
|
||||
"title": "Code Examples",
|
||||
"listAll": "List All Resources",
|
||||
"filterByType": "Filter by Type",
|
||||
"getSpecific": "Get Specific Resource"
|
||||
},
|
||||
"exploreMore": {
|
||||
"title": "Explore More API Endpoints",
|
||||
"description": "The Resources API is just one part of our comprehensive public API. View the full documentation to learn about appointments, customers, services, and more.",
|
||||
"viewFullDocs": "View Full API Docs"
|
||||
}
|
||||
},
|
||||
"customers": {
|
||||
"title": "Customers API",
|
||||
"subtitle": "Manage customer records programmatically",
|
||||
"overview": {
|
||||
"title": "Overview",
|
||||
"description": "The Customers API allows you to manage customer records in your SmoothSchedule account. Create, retrieve, update, and list customer information programmatically.",
|
||||
"requiredScopes": "Required Scopes",
|
||||
"readScope": "for reading",
|
||||
"writeScope": "for creating/updating"
|
||||
},
|
||||
"endpoints": {
|
||||
"title": "Endpoints",
|
||||
"list": {
|
||||
"title": "List Customers",
|
||||
"description": "Retrieve a paginated list of customers. Results are limited to 100 customers per request.",
|
||||
"queryParams": "Query Parameters",
|
||||
"emailFilter": "Filter by exact email address",
|
||||
"searchFilter": "Search by name or email (partial match)"
|
||||
},
|
||||
"get": {
|
||||
"title": "Get Customer",
|
||||
"description": "Retrieve a specific customer by their UUID."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create Customer",
|
||||
"description": "Create a new customer record.",
|
||||
"requestBody": "Request Body",
|
||||
"emailRequired": "Email address (must be unique)",
|
||||
"nameField": "Customer's full name",
|
||||
"phoneField": "Phone number",
|
||||
"conflictNote": "if a customer with the email already exists."
|
||||
},
|
||||
"update": {
|
||||
"title": "Update Customer",
|
||||
"description": "Update an existing customer's information.",
|
||||
"requestBody": "Request Body",
|
||||
"emailNote": "Email addresses cannot be changed after creation."
|
||||
}
|
||||
},
|
||||
"object": {
|
||||
"title": "Customer Object",
|
||||
"field": "Field",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"id": "Unique customer identifier",
|
||||
"email": "Customer's email address (unique)",
|
||||
"name": "Customer's full name",
|
||||
"phone": "Customer's phone number",
|
||||
"createdAt": "Timestamp when customer was created",
|
||||
"totalAppointments": "Total number of appointments for this customer",
|
||||
"lastAppointmentAt": "Timestamp of customer's most recent appointment"
|
||||
},
|
||||
"exampleResponse": {
|
||||
"title": "Example Response"
|
||||
},
|
||||
"codeExamples": {
|
||||
"title": "Code Examples",
|
||||
"listAll": "List All Customers",
|
||||
"search": "Search Customers",
|
||||
"create": "Create Customer",
|
||||
"update": "Update Customer"
|
||||
}
|
||||
},
|
||||
"webhooks": {
|
||||
"title": "Webhooks API",
|
||||
"subtitle": "Receive real-time notifications when events occur in your account",
|
||||
"overview": {
|
||||
"title": "Overview",
|
||||
"description": "Webhooks allow your application to receive real-time notifications when events occur in your SmoothSchedule account. Instead of polling the API, webhooks POST JSON payloads to your specified endpoint whenever subscribed events happen.",
|
||||
"requiredScope": "Required scope",
|
||||
"format": "JSON payloads POSTed to your endpoint",
|
||||
"security": "HMAC-SHA256 signature verification"
|
||||
},
|
||||
"endpoints": {
|
||||
"title": "API Endpoints",
|
||||
"list": {
|
||||
"title": "List Subscriptions",
|
||||
"description": "Returns a list of all webhook subscriptions for your account."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create Subscription",
|
||||
"description": "Create a new webhook subscription. Returns the subscription including a",
|
||||
"secretNote": "for signature verification.",
|
||||
"requestBody": "Request Body",
|
||||
"secretWarning": "The",
|
||||
"secretWarningBold": "secret",
|
||||
"secretWarningEnd": "is only shown once in the response. Store it securely for signature verification."
|
||||
},
|
||||
"get": {
|
||||
"title": "Get Subscription",
|
||||
"description": "Retrieve details of a specific webhook subscription."
|
||||
},
|
||||
"update": {
|
||||
"title": "Update Subscription",
|
||||
"description": "Update an existing webhook subscription (URL, events, or description)."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete Subscription",
|
||||
"description": "Delete a webhook subscription permanently."
|
||||
},
|
||||
"listEvents": {
|
||||
"title": "List Event Types",
|
||||
"description": "Get a list of all available webhook event types."
|
||||
},
|
||||
"test": {
|
||||
"title": "Send Test Webhook",
|
||||
"description": "Send a test webhook to verify your endpoint is working correctly."
|
||||
},
|
||||
"deliveries": {
|
||||
"title": "View Delivery History",
|
||||
"description": "View delivery history and status for a webhook subscription."
|
||||
}
|
||||
},
|
||||
"events": {
|
||||
"title": "Available Events",
|
||||
"description": "Subscribe to one or more of these events to receive notifications:",
|
||||
"event": "Event",
|
||||
"eventDescription": "Description",
|
||||
"appointmentCreated": "Triggered when a new appointment is created",
|
||||
"appointmentUpdated": "Triggered when an appointment is updated",
|
||||
"appointmentCancelled": "Triggered when an appointment is cancelled",
|
||||
"customerCreated": "Triggered when a new customer is created",
|
||||
"customerUpdated": "Triggered when customer information is updated",
|
||||
"serviceCreated": "Triggered when a new service is created",
|
||||
"serviceUpdated": "Triggered when a service is updated"
|
||||
},
|
||||
"payload": {
|
||||
"title": "Webhook Payload Format",
|
||||
"description": "All webhook payloads follow this standard format:"
|
||||
},
|
||||
"signature": {
|
||||
"title": "Signature Verification",
|
||||
"description": "All webhooks include an",
|
||||
"headerName": "header containing an HMAC-SHA256 signature. Verify this signature to ensure the webhook came from SmoothSchedule.",
|
||||
"headerTitle": "Header",
|
||||
"algorithmTitle": "Algorithm",
|
||||
"algorithmDesc": "HMAC-SHA256 of the raw request body using your webhook secret",
|
||||
"pythonExample": "Python Example",
|
||||
"nodeExample": "Node.js Example"
|
||||
},
|
||||
"retry": {
|
||||
"title": "Retry Policy",
|
||||
"description": "If your endpoint fails to respond with a 2xx status code, SmoothSchedule will automatically retry delivery:",
|
||||
"attempts": "Retry attempts",
|
||||
"attemptsValue": "3 automatic retries",
|
||||
"backoff": "Backoff schedule",
|
||||
"backoffValue": "1 minute, 5 minutes, 30 minutes",
|
||||
"autoDisable": "Auto-disable",
|
||||
"autoDisableValue": "Subscription disabled after 10 consecutive failures",
|
||||
"responseNote": "Your endpoint should respond within 5 seconds and return a 2xx status code to acknowledge receipt. Process the webhook asynchronously if needed."
|
||||
},
|
||||
"codeExamples": {
|
||||
"title": "Code Examples",
|
||||
"createSubscription": "Creating a Webhook Subscription",
|
||||
"handleExpress": "Handling Webhook in Express.js"
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"required": "required",
|
||||
"optional": "optional",
|
||||
"returns": "Returns",
|
||||
"or": "or",
|
||||
"needMoreHelp": "Need More Help?",
|
||||
"supportDescription": "Our support team is ready to help with any questions about the API.",
|
||||
"contactSupport": "Contact Support"
|
||||
}
|
||||
},
|
||||
"contracts": {
|
||||
"title": "Contracts Guide",
|
||||
"subtitle": "Create and manage digital contracts with e-signatures",
|
||||
|
||||
Reference in New Issue
Block a user