# Xenia Team API ## Docs - [Client Key Setup](https://docs.xenia.team/api-reference/endpoints/authentication/index.md): Learn how to authenticate with the Xenia API using either a user token or client credentials. - [Create Location](https://docs.xenia.team/api-reference/endpoints/locations/create-location.md) - [Create Location Group](https://docs.xenia.team/api-reference/endpoints/locations/create-location-group.md) - [Delete Location](https://docs.xenia.team/api-reference/endpoints/locations/delete-location.md) - [Delete Location Group](https://docs.xenia.team/api-reference/endpoints/locations/delete-location-group.md) - [Get Location Group](https://docs.xenia.team/api-reference/endpoints/locations/get-location-group.md): Returns a specific location group identified by groupId. Includes locations, members, and location metadata. - [Get Location Groups](https://docs.xenia.team/api-reference/endpoints/locations/get-location-groups.md): Returns all location groups for a given workspace, along with associated locations and metadata. - [Get Location Levels](https://docs.xenia.team/api-reference/endpoints/locations/get-location-levels.md): Fetches all location levels associated with a specific workspace. These levels determine the hierarchy of physical locations. - [Get Location Members](https://docs.xenia.team/api-reference/endpoints/locations/get-location-members.md): Returns all members assigned to the specified location within a workspace. - [Get Location Tasks](https://docs.xenia.team/api-reference/endpoints/locations/get-location-tasks.md): Returns a list of tasks associated with a specific location in a workspace. - [Get Locations - Sub Locations Hierarchy](https://docs.xenia.team/api-reference/endpoints/locations/get-locations.md): Fetches all locations for a given workspace in a nested tree structure. Only users with proper permissions can access this data. - [Get Locations - No Sub Locations Hierarchy](https://docs.xenia.team/api-reference/endpoints/locations/get-locations-notree.md): Fetches all locations for a given workspace as a flat array by using `notree=true` query param. Useful for dropdowns, filters, or simple listings. - [Update Location](https://docs.xenia.team/api-reference/endpoints/locations/update-location.md): Updates details of an existing location including name, description, coordinates, and membership. Applies validation and business rules such as uniqueness of name within a parent location. - [Update Location Group](https://docs.xenia.team/api-reference/endpoints/locations/update-location-group.md): Update an existing location group. Partial updates allowed. Requires `CAN_MANAGE_LOCATIONS` permission. - [Create Project](https://docs.xenia.team/api-reference/endpoints/projects/create-project.md) - [Delete Project](https://docs.xenia.team/api-reference/endpoints/projects/delete-project.md) - [Get Project](https://docs.xenia.team/api-reference/endpoints/projects/get-project-by-id.md) - [Get Projects](https://docs.xenia.team/api-reference/endpoints/projects/get-projects.md) - [Update Project](https://docs.xenia.team/api-reference/endpoints/projects/update-project.md): Edits an existing recurring project using its ID. - [Create Role](https://docs.xenia.team/api-reference/endpoints/roles/create.md): Creates a new role in the specified workspace - [Delete Role](https://docs.xenia.team/api-reference/endpoints/roles/delete.md) - [Get Roles](https://docs.xenia.team/api-reference/endpoints/roles/get.md) - [Get Role](https://docs.xenia.team/api-reference/endpoints/roles/get-by-id.md) - [Update Role](https://docs.xenia.team/api-reference/endpoints/roles/patch.md): Edit an existing role by ID for a specific workspace - [Get Submission Audit Trail](https://docs.xenia.team/api-reference/endpoints/submission/get-audit-trail.md): Returns a complete, immutable audit trail... - [Get Template Submission](https://docs.xenia.team/api-reference/endpoints/submission/get-submission.md) - [Get Template Submissions](https://docs.xenia.team/api-reference/endpoints/submission/get-submissions.md) - [Start Template Submission](https://docs.xenia.team/api-reference/endpoints/submission/start-submission.md) - [Submit Template Submission](https://docs.xenia.team/api-reference/endpoints/submission/submit-submission.md) - [Update Submission Items](https://docs.xenia.team/api-reference/endpoints/submission/update-submission-items.md) - [Multi Tasks Actions](https://docs.xenia.team/api-reference/endpoints/tasks/bulk-actions.md) - [Create Tasks - One-off](https://docs.xenia.team/api-reference/endpoints/tasks/create-task.md): Creates one or multiple tasks based on request payload. - [Create Tasks - Daily Recurring](https://docs.xenia.team/api-reference/endpoints/tasks/create-task-daily.md): Creates a task that recurs based on specified days. - [Create Tasks - Monthly Recurring](https://docs.xenia.team/api-reference/endpoints/tasks/create-task-monthly.md): Creates a task that recurs monthly on a specific day. - [Create Tasks - Weekly Recurring](https://docs.xenia.team/api-reference/endpoints/tasks/create-task-weekly.md): Creates a task that recurs weekly on specific days (e.g., Mon, Wed, Fri). - [Get Task](https://docs.xenia.team/api-reference/endpoints/tasks/get-task-by-id.md): Retrieve complete details for a single task using its ID. - [Get Tasks](https://docs.xenia.team/api-reference/endpoints/tasks/get-tasks.md) - [Update Task Status](https://docs.xenia.team/api-reference/endpoints/tasks/update-status.md): Change the status of a specific task to one of the valid status values. - [Update Task](https://docs.xenia.team/api-reference/endpoints/tasks/update-task.md) - [Archive Template](https://docs.xenia.team/api-reference/endpoints/templates/archive-template.md) - [Create/Update Template](https://docs.xenia.team/api-reference/endpoints/templates/create-template.md) - [Get Template Categories](https://docs.xenia.team/api-reference/endpoints/templates/get-template-categories.md): Returns a list of checklist categories for the current workspace. - [Get Template Folders](https://docs.xenia.team/api-reference/endpoints/templates/get-template-folders.md): Returns all template folders in the given workspace. - [Get Template Industries](https://docs.xenia.team/api-reference/endpoints/templates/get-template-industries.md): Returns a list of all available checklist industries for the current workspace. - [Get Template Types](https://docs.xenia.team/api-reference/endpoints/templates/get-template-types.md): Returns a list of all available checklist types for the current workspace. - [Get Templates](https://docs.xenia.team/api-reference/endpoints/templates/get-templates.md): Fetches all checklist templates for the workspace, optionally filtered by folder, archived status, and sort order. - [Publish Template](https://docs.xenia.team/api-reference/endpoints/templates/publish-template.md): Publishes or unpublishes a checklist template by its ID. This is a toggle action. - [Update Template Items](https://docs.xenia.team/api-reference/endpoints/templates/update-template-items.md) - [Change User Role](https://docs.xenia.team/api-reference/endpoints/users/change-user-role.md): Updates the role of a specific user in the workspace. Ensures the action is permissible based on peer or subordinate roles and business logic constraints. - [Create User](https://docs.xenia.team/api-reference/endpoints/users/create-user.md) - [Delete User](https://docs.xenia.team/api-reference/endpoints/users/delete-user.md): Deletes a user from the specified workspace. This operation removes the user association from the workspace. - [Get Users](https://docs.xenia.team/api-reference/endpoints/users/get-users.md): Fetches all users in the given workspace - [Set User Login Pin](https://docs.xenia.team/api-reference/endpoints/users/set-login-pin.md): Sets a secure PIN (4 to 6 digits) for a user in a workspace. Validates uniqueness and sends notifications upon success. - [Set User Password](https://docs.xenia.team/api-reference/endpoints/users/set-password.md): Sets or resets the password for a user within the specified workspace. Also sends a notification email. - [Get User Context](https://docs.xenia.team/api-reference/endpoints/users/user-context.md): Fetches the user context for the current authenticated session - [Bulk Replay Dead Letters](https://docs.xenia.team/api-reference/endpoints/webhooks/bulk-replay.md): Replays multiple failed webhooks matching the specified filters. Requires at least one filter (subscriptionId or eventType). Maximum 100 items per request. - [Create Webhook Subscription](https://docs.xenia.team/api-reference/endpoints/webhooks/create-subscription.md) - [Delete Dead Letter](https://docs.xenia.team/api-reference/endpoints/webhooks/delete-dead-letter.md) - [Delete Webhook Subscription](https://docs.xenia.team/api-reference/endpoints/webhooks/delete-subscription.md) - [Get Dead Letter](https://docs.xenia.team/api-reference/endpoints/webhooks/get-dead-letter.md): Returns detailed information about a specific dead letter entry including the full payload. - [Get Webhook Subscription](https://docs.xenia.team/api-reference/endpoints/webhooks/get-subscription.md) - [Get Subscription Logs](https://docs.xenia.team/api-reference/endpoints/webhooks/get-subscription-logs.md): Returns paginated delivery logs for a webhook subscription with filtering options. - [Get Subscription Stats](https://docs.xenia.team/api-reference/endpoints/webhooks/get-subscription-stats.md): Returns delivery statistics for a specific webhook subscription. - [Get Workspace Webhook Stats](https://docs.xenia.team/api-reference/endpoints/webhooks/get-workspace-stats.md): Returns aggregate webhook delivery statistics for the entire workspace. - [List Dead Letters](https://docs.xenia.team/api-reference/endpoints/webhooks/list-dead-letters.md): Returns failed webhook deliveries from the dead letter queue. Items are retained for 28 days. - [List Event Types](https://docs.xenia.team/api-reference/endpoints/webhooks/list-event-types.md): Returns all available webhook event types with their tier, category, and sample payload information. - [List Webhook Subscriptions](https://docs.xenia.team/api-reference/endpoints/webhooks/list-subscriptions.md): Returns all webhook subscriptions for the specified workspace with pagination support. - [Replay Dead Letter](https://docs.xenia.team/api-reference/endpoints/webhooks/replay-dead-letter.md): Attempts to redeliver a failed webhook from the dead letter queue. - [Rotate Webhook Secret](https://docs.xenia.team/api-reference/endpoints/webhooks/rotate-secret.md): Generates a new webhook secret. The old secret remains valid for 24 hours to allow seamless migration. - [Test Webhook](https://docs.xenia.team/api-reference/endpoints/webhooks/test-webhook.md): Sends a test webhook payload to the subscription URL and returns the response status, timing, and any errors. - [Update Webhook Subscription](https://docs.xenia.team/api-reference/endpoints/webhooks/update-subscription.md): Updates an existing webhook subscription. All fields are optional - only provided fields will be updated. - [Core Concepts](https://docs.xenia.team/guides/core-concepts.md): Understand the key entities in the Xenia platform - [Error Handling](https://docs.xenia.team/guides/error-handling.md): Learn how to handle API errors gracefully - [Getting Started](https://docs.xenia.team/guides/getting-started.md): Get up and running with the Xenia API in minutes - [Data Extraction & Reporting](https://docs.xenia.team/guides/integrations/data-extraction.md): Export submissions, generate reports, and integrate with BI tools - [HRIS Integration](https://docs.xenia.team/guides/integrations/hris-sync.md): Sync employee data from your HR system using Merge.dev - [Webhooks](https://docs.xenia.team/guides/integrations/webhooks.md): Receive real-time HTTP notifications when events occur in your workspace - [Asset Management](https://docs.xenia.team/guides/workflows/asset-management.md): Create, organize, and maintain assets with hierarchical structures and service tracking - [Automations](https://docs.xenia.team/guides/workflows/automations.md): Configure item-level automations for immediate triggers and actions - [Checklist Workflows](https://docs.xenia.team/guides/workflows/checklist-workflows.md): Configure multi-condition workflows with AND/OR logic and conditional visibility - [Corrective Actions](https://docs.xenia.team/guides/workflows/corrective-actions.md): Track and resolve issues flagged during inspections - [Location Hierarchy](https://docs.xenia.team/guides/workflows/location-hierarchy.md): Manage location structures, levels, and hierarchies in your workspace - [Location Members](https://docs.xenia.team/guides/workflows/location-members.md): Assign users to locations for location-based access control and task routing - [Project Management](https://docs.xenia.team/guides/workflows/project-management.md): Organize and manage groups of related tasks with projects - [Role Management](https://docs.xenia.team/guides/workflows/role-management.md): Create and manage roles with custom permissions - [Submission Approvals](https://docs.xenia.team/guides/workflows/submission-approvals.md): Configure approval workflows and manage submission reviews - [Submission Exports](https://docs.xenia.team/guides/workflows/submission-exports.md): Export submission data to PDF, Excel, and other formats - [Submission Workflow](https://docs.xenia.team/guides/workflows/submission-workflow.md): Complete the full inspection lifecycle from start to submit - [Task Management](https://docs.xenia.team/guides/workflows/task-management.md): Create, update, assign, and manage tasks through the API - [Task Scheduling](https://docs.xenia.team/guides/workflows/task-scheduling.md): Create and manage recurring tasks with flexible scheduling options - [Team Management](https://docs.xenia.team/guides/workflows/team-management.md): Organize users into teams for easier assignment and collaboration - [Template Management](https://docs.xenia.team/guides/workflows/template-management.md): Create, configure, and publish inspection templates (checklists) - [User Lifecycle](https://docs.xenia.team/guides/workflows/user-lifecycle.md): Manage users from invitation to removal - [Work Orders](https://docs.xenia.team/guides/workflows/work-orders.md): Create and manage facility requests and work orders with cost tracking ## OpenAPI Specs - [update_subscription](https://docs.xenia.team/api-reference/openapi/webhooks/update_subscription.json) - [test_webhook](https://docs.xenia.team/api-reference/openapi/webhooks/test_webhook.json) - [rotate_secret](https://docs.xenia.team/api-reference/openapi/webhooks/rotate_secret.json) - [replay_dead_letter](https://docs.xenia.team/api-reference/openapi/webhooks/replay_dead_letter.json) - [list_subscriptions](https://docs.xenia.team/api-reference/openapi/webhooks/list_subscriptions.json) - [list_event_types](https://docs.xenia.team/api-reference/openapi/webhooks/list_event_types.json) - [list_dead_letters](https://docs.xenia.team/api-reference/openapi/webhooks/list_dead_letters.json) - [get_workspace_stats](https://docs.xenia.team/api-reference/openapi/webhooks/get_workspace_stats.json) - [get_subscription_stats](https://docs.xenia.team/api-reference/openapi/webhooks/get_subscription_stats.json) - [get_subscription_logs](https://docs.xenia.team/api-reference/openapi/webhooks/get_subscription_logs.json) - [get_subscription](https://docs.xenia.team/api-reference/openapi/webhooks/get_subscription.json) - [get_dead_letter](https://docs.xenia.team/api-reference/openapi/webhooks/get_dead_letter.json) - [delete_subscription](https://docs.xenia.team/api-reference/openapi/webhooks/delete_subscription.json) - [delete_dead_letter](https://docs.xenia.team/api-reference/openapi/webhooks/delete_dead_letter.json) - [create_subscription](https://docs.xenia.team/api-reference/openapi/webhooks/create_subscription.json) - [bulk_replay](https://docs.xenia.team/api-reference/openapi/webhooks/bulk_replay.json) - [update_submission_item](https://docs.xenia.team/api-reference/openapi/submissions/update_submission_item.json) - [submit_submission](https://docs.xenia.team/api-reference/openapi/submissions/submit_submission.json) - [start_submission](https://docs.xenia.team/api-reference/openapi/submissions/start_submission.json) - [get_submissions](https://docs.xenia.team/api-reference/openapi/submissions/get_submissions.json) - [get_submission](https://docs.xenia.team/api-reference/openapi/submissions/get_submission.json) - [user_context](https://docs.xenia.team/api-reference/openapi/users/user_context.json) - [set_user_password](https://docs.xenia.team/api-reference/openapi/users/set_user_password.json) - [set_user_login_pin](https://docs.xenia.team/api-reference/openapi/users/set_user_login_pin.json) - [get_users](https://docs.xenia.team/api-reference/openapi/users/get_users.json) - [delete_user](https://docs.xenia.team/api-reference/openapi/users/delete_user.json) - [create_user](https://docs.xenia.team/api-reference/openapi/users/create_user.json) - [change_user_role](https://docs.xenia.team/api-reference/openapi/users/change_user_role.json) - [update_template_items](https://docs.xenia.team/api-reference/openapi/templates/update_template_items.json) - [publish_template](https://docs.xenia.team/api-reference/openapi/templates/publish_template.json) - [get_templates](https://docs.xenia.team/api-reference/openapi/templates/get_templates.json) - [get_template_types](https://docs.xenia.team/api-reference/openapi/templates/get_template_types.json) - [get_template_industries](https://docs.xenia.team/api-reference/openapi/templates/get_template_industries.json) - [get_template_folders](https://docs.xenia.team/api-reference/openapi/templates/get_template_folders.json) - [get_template_categories](https://docs.xenia.team/api-reference/openapi/templates/get_template_categories.json) - [create_update_template](https://docs.xenia.team/api-reference/openapi/templates/create_update_template.json) - [archive_template](https://docs.xenia.team/api-reference/openapi/templates/archive_template.json) - [update_task](https://docs.xenia.team/api-reference/openapi/tasks/update_task.json) - [update_status](https://docs.xenia.team/api-reference/openapi/tasks/update_status.json) - [get_tasks](https://docs.xenia.team/api-reference/openapi/tasks/get_tasks.json) - [get_task](https://docs.xenia.team/api-reference/openapi/tasks/get_task.json) - [create_task_weekly_recurring](https://docs.xenia.team/api-reference/openapi/tasks/create_task_weekly_recurring.json) - [create_task_monthly_recurring](https://docs.xenia.team/api-reference/openapi/tasks/create_task_monthly_recurring.json) - [create_task_daily_recurring](https://docs.xenia.team/api-reference/openapi/tasks/create_task_daily_recurring.json) - [create_task](https://docs.xenia.team/api-reference/openapi/tasks/create_task.json) - [bulk_actions](https://docs.xenia.team/api-reference/openapi/tasks/bulk_actions.json) - [roles_post](https://docs.xenia.team/api-reference/openapi/roles/roles_post.json) - [roles_patch](https://docs.xenia.team/api-reference/openapi/roles/roles_patch.json) - [roles_get_by_id](https://docs.xenia.team/api-reference/openapi/roles/roles_get_by_id.json) - [roles_get](https://docs.xenia.team/api-reference/openapi/roles/roles_get.json) - [roles_delete](https://docs.xenia.team/api-reference/openapi/roles/roles_delete.json) - [update_project](https://docs.xenia.team/api-reference/openapi/projects/update_project.json) - [get_projects](https://docs.xenia.team/api-reference/openapi/projects/get_projects.json) - [get_project](https://docs.xenia.team/api-reference/openapi/projects/get_project.json) - [delete_project](https://docs.xenia.team/api-reference/openapi/projects/delete_project.json) - [create_project](https://docs.xenia.team/api-reference/openapi/projects/create_project.json) - [update_location_group](https://docs.xenia.team/api-reference/openapi/locations/update_location_group.json) - [update_location](https://docs.xenia.team/api-reference/openapi/locations/update_location.json) - [get_locations_notree](https://docs.xenia.team/api-reference/openapi/locations/get_locations_notree.json) - [get_locations](https://docs.xenia.team/api-reference/openapi/locations/get_locations.json) - [get_location_tasks](https://docs.xenia.team/api-reference/openapi/locations/get_location_tasks.json) - [get_location_members](https://docs.xenia.team/api-reference/openapi/locations/get_location_members.json) - [get_location_levels](https://docs.xenia.team/api-reference/openapi/locations/get_location_levels.json) - [get_location_groups](https://docs.xenia.team/api-reference/openapi/locations/get_location_groups.json) - [get_location_group](https://docs.xenia.team/api-reference/openapi/locations/get_location_group.json) - [delete_locations](https://docs.xenia.team/api-reference/openapi/locations/delete_locations.json) - [delete_location_group](https://docs.xenia.team/api-reference/openapi/locations/delete_location_group.json) - [create_location_group](https://docs.xenia.team/api-reference/openapi/locations/create_location_group.json) - [create_location](https://docs.xenia.team/api-reference/openapi/locations/create_location.json) - [ser_user_login_pin](https://docs.xenia.team/api-reference/openapi/users/ser_user_login_pin.json) - [plants](https://docs.xenia.team/api-reference/openapi/plants.json)