{
    "openapi": "3.0.0",
    "info": {
        "title": "Orangescrum Developer API",
        "description": "Developer API for Orangescrum application with encrypted request support and API key authentication",
        "contact": {
            "name": "Developer API Support",
            "url": "https://www.orangescrum.com/contact-sales",
            "email": "developers-support@orangescrum.com"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://v4-api.orangescrum.com",
            "description": "Production server"
        }
    ],
    "paths": {
        "/api/v1/partner/validate": {
            "post": {
                "tags": [
                    "Developer"
                ],
                "summary": "Validate developer API authentication",
                "description": "Test endpoint to validate HMAC-SHA256 signature authentication. Requires X-API-KEY, X-TIMESTAMP, X-NONCE, and X-SIGNATURE headers. See API_auth_Solution.md for full authentication specification.",
                "operationId": "af84e27ae0a06ba095ea706ecdf9e5be",
                "parameters": [
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Optional JSON request body. Body hash (SHA256) is included in signature canonical string.",
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "test": {
                                        "description": "Test field",
                                        "type": "string",
                                        "example": "data"
                                    },
                                    "message": {
                                        "description": "Test message",
                                        "type": "string",
                                        "example": "Hello Developer API"
                                    }
                                },
                                "type": "object"
                            },
                            "example": {
                                "test": "data",
                                "message": "Hello Developer API"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Authentication successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Request authenticated successfully"
                                        },
                                        "data": {
                                            "properties": {
                                                "partner_id": {
                                                    "type": "integer",
                                                    "example": 4669
                                                },
                                                "api_key_id": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "scopes": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "example": [
                                                        "transactions:read",
                                                        "transactions:write",
                                                        "partner:read"
                                                    ]
                                                },
                                                "timestamp": {
                                                    "type": "string",
                                                    "example": "2026-02-03T12:00:00+00:00"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                },
                                "examples": {
                                    "missing_header": {
                                        "summary": "Missing required header",
                                        "value": {
                                            "message": "X-API-KEY header is required"
                                        }
                                    },
                                    "invalid_key": {
                                        "summary": "Invalid API key",
                                        "value": {
                                            "message": "Invalid API key"
                                        }
                                    },
                                    "invalid_signature": {
                                        "summary": "Invalid HMAC signature",
                                        "value": {
                                            "message": "Invalid signature"
                                        }
                                    },
                                    "expired_timestamp": {
                                        "summary": "Timestamp outside allowed window",
                                        "value": {
                                            "message": "Request timestamp outside allowed window (±5 minutes)"
                                        }
                                    },
                                    "replay_attack": {
                                        "summary": "Nonce already used",
                                        "value": {
                                            "message": "Request nonce has already been used (replay detected)"
                                        }
                                    },
                                    "expired_key": {
                                        "summary": "API key expired",
                                        "value": {
                                            "message": "API key has expired"
                                        }
                                    },
                                    "revoked_key": {
                                        "summary": "API key revoked",
                                        "value": {
                                            "message": "API key has been revoked"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient scope",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Insufficient scope. Required: transactions:write"
                                        },
                                        "error": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/projects/list": {
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "List projects",
                "description": "Retrieve a list of projects with optional filters. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"filters\": {\n    \"status\": \"Started\",              // (optional) Filter by project status: Started, Hold, Stack, \"Completed\"  \n    \"start_date\": \"2024-01-01\",     // (optional) Filter projects where start_date >= this date\n    \"end_date\": \"2024-12-31\"       // (optional) Filter projects where end_date <= this date  }\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Projects retrieved successfully\",\n  \"data\": [\n    {\n      \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"name\": \"Website Redesign\",\n      \"short_name\": \"WR\",\n      \"description\": \"Complete website overhaul\",\n      \"project_type\": \"Web Development\",\n      \"status\": \"In Progress\",\n      \"isactive\": true,\n      \"start_date\": \"2024-01-15\",\n      \"end_date\": \"2024-06-30\",\n      \"estimated_hours\": 500.0,\n      \"is_favourite\": false,\n      \"dt_created\": \"2024-01-10 10:30:00\",\n      \"dt_updated\": \"2024-01-20 14:25:00\"\n    }\n  ]\n}\n```",
                "operationId": "6064104bd760ee9f1f6d7174d8be7edb",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing optional filters",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success - Returns decrypted project list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "example": {
                                                "encrypted_data": [
                                                    "The encrypted data field is required."
                                                ]
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Internal server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/projects/create": {
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Create a new project",
                "description": "Create a new project in Orangescrum. All data must be encrypted in the request body.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"name\": \"Mobile App Development\",           // (required) Project name (max 255 chars)\n  \"priority\": \"High\",                           // (required) Priority:High, Medium, Low\n  \"description\": \"iOS and Android app\",       // (optional) Project description\n  \"status\": \"Started\",                       // (optional) Status: Started, Hold, Stack, \"Completed\"  \n  \"start_date\": \"2024-03-01\",                 // (optional) Start date (YYYY-MM-DD)\n  \"end_date\": \"2024-09-30\",                   // (optional) End date (YYYY-MM-DD)\n  \"estimated_hours\": 1200.0,                  // (optional) Estimated hours\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Project created successfully\",\n  \"data\": {\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440001\",\n    \"name\": \"Mobile App Development\",\n    \"short_name\": \"MAD\",\n    \"description\": \"iOS and Android app development\",\n    \"project_type\": \"Mobile\",\n    \"status\": \"Planning\",\n    \"isactive\": true,\n    \"start_date\": \"2024-03-01\",\n    \"end_date\": \"2024-09-30\",\n    \"estimated_hours\": 1200.0,\n    \"is_favourite\": false,\n    \"dt_created\": \"2024-02-04 10:30:00\",\n    \"dt_updated\": \"2024-02-04 10:30:00\"\n  }\n}\n```",
                "operationId": "e96833e2770ba218dbfd27b10237d742",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing project details",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Project created successfully - Returns encrypted project data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "example": {
                                                "name": [
                                                    "The name field is required."
                                                ],
                                                "priority": [
                                                    "The priority field is required."
                                                ]
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to create project"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/projects/detail": {
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Get project details",
                "description": "Retrieve detailed information about a specific project.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\"  // (required) Project UUID (uniq_id)\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Project retrieved successfully\",\n  \"data\": {\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"name\": \"Website Redesign\",\n    \"short_name\": \"WR\",\n    \"description\": \"Complete website overhaul\",\n    \"project_type\": \"Web Development\",\n    \"status\": \"In Progress\",\n    \"isactive\": true,\n    \"start_date\": \"2024-01-15\",\n    \"end_date\": \"2024-06-30\",\n    \"estimated_hours\": 500.0,\n    \"is_favourite\": false,\n    \"dt_created\": \"2024-01-10 10:30:00\",\n    \"dt_updated\": \"2024-01-20 14:25:00\"\n  }\n}\n```",
                "operationId": "2f58d963efa10184f9a1a0f1fda38afd",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing project_id",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success - Returns encrypted project details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Project not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "example": {
                                                "project_id": [
                                                    "The project id field is required."
                                                ]
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Internal server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/projects/update": {
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Update a project",
                "description": "Update an existing project. Only send fields that need to be updated.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",  // (required) Project UUID (uniq_id)\n  \"name\": \"Website Redesign v2\",              // (optional) Project name (max 255 chars)\n  \"description\": \"Updated description\",       // (optional) Project description\n  \"status\": \"Completed\",                      // (optional) Status : Started, Hold, Stack, Completed  \n  \"start_date\": \"2024-01-15\",                 // (optional) Start date (YYYY-MM-DD)\n  \"end_date\": \"2024-08-31\",                   // (optional) End date (YYYY-MM-DD, must be >= start_date)\n  \"estimated_hours\": 600.0                    // (optional) Estimated hours (min 0)\n  \"isactive\": true,                           // (optional) Active status\n  }\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Project updated successfully\",\n  \"data\": {\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"name\": \"Website Redesign v2\",\n    \"short_name\": \"WR\",\n    \"description\": \"Updated description\",\n    \"project_type\": \"Web Development\",\n    \"status\": \"Active\",\n    \"isactive\": true,\n    \"start_date\": \"2024-01-15\",\n    \"end_date\": \"2024-08-31\",\n    \"estimated_hours\": 600.0,\n    \"is_favourite\": false,\n    \"dt_created\": \"2024-01-10 10:30:00\",\n    \"dt_updated\": \"2024-02-04 15:45:00\"\n  }\n}\n```",
                "operationId": "13d12c9c31102e0825bc47d79e9fe3fb",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing project_id and fields to update",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Project updated successfully - Returns encrypted updated project data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Project not found or no permission",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "example": {
                                                "project_id": [
                                                    "The project id field is required."
                                                ]
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to update project"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/projects/search": {
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Search projects",
                "description": "Search projects with pagination. All data must be encrypted in the request body. Response returns decrypted JSON data with pagination.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"q\": \"website\",                  // (optional) Search query\n  \"page\": 1,                        // (optional) Page number (default: 1)\n  \"per_page\": 20                    // (optional) Results per page (default: 20, max: 100)\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Projects searched successfully\",\n  \"data\": [\n    {\n      \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"name\": \"Website Redesign\",\n      \"short_name\": \"WR\",\n      \"description\": \"Complete website overhaul\",\n      \"project_type\": \"Web Development\",\n      \"status\": \"In Progress\",\n      \"isactive\": true,\n      \"start_date\": \"2024-01-15\",\n      \"end_date\": \"2024-06-30\",\n      \"estimated_hours\": 500.0,\n      \"is_favourite\": false,\n      \"dt_created\": \"2024-01-10 10:30:00\",\n      \"dt_updated\": \"2024-01-20 14:25:00\"\n    }\n  ],\n  \"pagination\": {\n    \"total\": 45,\n    \"per_page\": 20,\n    \"current_page\": 1,\n    \"last_page\": 3,\n    \"from\": 1,\n    \"to\": 20\n  }\n}\n```",
                "operationId": "projects_search",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing search query and pagination",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Projects searched successfully - Returns encrypted project list with pagination",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "example": {
                                                "per_page": [
                                                    "Per page must be at most 100"
                                                ]
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to search projects"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/tasks/list": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "List tasks",
                "description": "Retrieve a list of tasks with optional filters. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"filters\": {\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",  // (optional) Filter by project UUID (uniq_id)\n    \"status\": \"Open\",                    // (optional) Filter by task status : Open, Closed  \n    \"assigned_to\": 456,             // (optional) Filter by assigned user ID\n    \"priority\": \"high\",             // (optional) Filter by priority (low, medium, high)\n    \"start_date\": \"2024-01-01\",     // (optional) Filter tasks where start_date >= this date\n    \"due_date\": \"2024-12-31\"        // (optional) Filter tasks where due_date <= this date\n  }\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Tasks retrieved successfully\",\n  \"data\": [\n    {\n      \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n      \"title\": \"Implement user authentication\",\n      \"description\": \"Add OAuth2 authentication\",\n      \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"project_name\": \"Website Redesign\",\n      \"status\": \"In Progress\",\n      \"priority\": \"high\",\n      \"assigned_to\": 456,\n      \"assigned_to_name\": \"John Doe\",\n      \"estimated_hours\": 40.0,\n      \"actual_hours\": 25.0,\n      \"start_date\": \"2024-01-15\",\n      \"due_date\": \"2024-02-15\",\n      \"completion_percentage\": 60,\n      \"created_at\": \"2024-01-10 10:30:00\",\n      \"updated_at\": \"2024-01-20 14:25:00\"\n    }\n  ]\n}\n```",
                "operationId": "tasks_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing optional filters",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success - Returns encrypted task list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to retrieve tasks"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/tasks/create": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Create a new task",
                "description": "Create a new task in a project. All data must be encrypted in the request body. Response returns decrypted JSON data with task UUID.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",      // (required) Project UUID (uniq_id)\n  \"title\": \"Implement user authentication\",   // (required) Task title\n  \"description\": \"Add OAuth2 authentication\", // (optional) Task description\n  \"assigned_to\": 456,                         // (optional) User ID to assign task to\n  \"priority\": \"high\",                         // (optional) Priority: low, medium, high, urgent\n  \"status\": \"Open\",                           // (optional) task status : Open, Closed  \n  \"estimated_hours\": 40.0,                    // (optional) Estimated hours\n  \"start_date\": \"2024-01-15\",                 // (optional) Start date (YYYY-MM-DD)\n  \"due_date\": \"2024-02-15\"                    // (optional) Due date (YYYY-MM-DD)\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Task created successfully\",\n  \"data\": {\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n    \"title\": \"Implement user authentication\",\n    \"description\": \"Add OAuth2 authentication\",\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"project_name\": \"Website Redesign\",\n    \"status\": \"Not Started\",\n    \"priority\": \"high\",\n    \"assigned_to\": 456,\n    \"assigned_to_name\": \"John Doe\",\n    \"estimated_hours\": 40.0,\n    \"start_date\": \"2024-01-15\",\n    \"due_date\": \"2024-02-15\",\n    \"created_at\": \"2024-01-10 10:30:00\"\n  }\n}\n```",
                "operationId": "tasks_create",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing task details",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Task created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Validation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to create task"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/tasks/detail": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Get task details",
                "description": "Retrieve detailed information about a specific task using its unique ID. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\"          // (required) Task UUID (uniq_id)\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Task retrieved successfully\",\n  \"data\": {\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n    \"title\": \"Implement user authentication\",\n    \"description\": \"Add OAuth2 authentication\",\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"project_name\": \"Website Redesign\",\n    \"status\": \"In Progress\",\n    \"priority\": \"high\",\n    \"assigned_to\": 456,\n    \"assigned_to_name\": \"John Doe\",\n    \"estimated_hours\": 40.0,\n    \"actual_hours\": 25.0,\n    \"start_date\": \"2024-01-15\",\n    \"due_date\": \"2024-02-15\",\n    \"completion_percentage\": 60,\n    \"created_at\": \"2024-01-10 10:30:00\",\n    \"updated_at\": \"2024-01-20 14:25:00\"\n  }\n}\n```",
                "operationId": "tasks_detail",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing task_id",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success - Returns encrypted task details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Validation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Task not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Task not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to retrieve task"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/tasks/update": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Update a task",
                "description": "Update an existing task. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",        // (required) Task UUID (uniq_id)\n  \"title\": \"Updated task title\",              // (optional) New task title\n  \"description\": \"Updated description\",       // (optional) New description\n  \"assigned_to\": 789,                         // (optional) New assigned user ID\n  \"priority\": \"high\",                         // (optional) New priority: low, medium, high\n  \"status\": \"Open\",                           // (optional) task status : Open, Closed \n  \"custom_status\": \"In Progress\",             // (optional) task status : New, In Progress, Resolved, Closed\n  \"estimated_hours\": 50.0,                    // (optional) New estimated hours\n  \"actual_hours\": 35.0,                       // (optional) Actual hours worked\n  \"start_date\": \"2024-01-20\",                 // (optional) New start date\n  \"due_date\": \"2024-03-01\"                    // (optional) New due date\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Task updated successfully\",\n  \"data\": {\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n    \"title\": \"Updated task title\",\n    \"description\": \"Updated description\",\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"project_name\": \"Website Redesign\",\n    \"status\": \"In Progress\",\n    \"priority\": \"high\",\n    \"assigned_to\": 789,\n    \"assigned_to_name\": \"Jane Smith\",\n    \"estimated_hours\": 50.0,\n    \"actual_hours\": 35.0,\n    \"start_date\": \"2024-01-20\",\n    \"due_date\": \"2024-03-01\",\n    \"completion_percentage\": 75,\n    \"updated_at\": \"2024-01-25 16:45:00\"\n  }\n}\n```",
                "operationId": "tasks_update",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing task_id and update fields",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Task updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Validation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Task not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Task not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to update task"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/tasks/search": {
            "post": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Search tasks",
                "description": "Search tasks with pagination. All data must be encrypted in the request body. Response returns decrypted JSON data with pagination.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"q\": \"authentication\",            // (optional) Search query\n \"page\": 1,                        // (optional) Page number (default: 1)\n  \"per_page\": 20                    // (optional) Results per page (default: 20, max: 100)\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Tasks searched successfully\",\n  \"data\": [\n    {\n      \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n      \"title\": \"Implement user authentication\",\n      \"description\": \"Add OAuth2 authentication\",\n      \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"project_name\": \"Website Redesign\",\n      \"status\": \"In Progress\",\n      \"priority\": \"high\",\n      \"assigned_to\": 456,\n      \"assigned_to_name\": \"John Doe\",\n      \"estimated_hours\": 40.0,\n      \"actual_hours\": 25.0,\n      \"start_date\": \"2024-01-15\",\n      \"due_date\": \"2024-02-15\",\n      \"completion_percentage\": 60,\n      \"created_at\": \"2024-01-10 10:30:00\",\n      \"updated_at\": \"2024-01-20 14:25:00\"\n    }\n  ],\n  \"pagination\": {\n    \"total\": 120,\n    \"per_page\": 20,\n    \"current_page\": 1,\n    \"last_page\": 6,\n    \"from\": 1,\n    \"to\": 20\n  }\n}\n```",
                "operationId": "tasks_search",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing search query and pagination",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tasks searched successfully - Returns encrypted task list with pagination",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "example": {
                                                "per_page": [
                                                    "Per page cannot exceed 100"
                                                ]
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Failed to search tasks"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/timelogs/list": {
            "post": {
                "tags": [
                    "Timelogs"
                ],
                "summary": "List timelogs",
                "description": "Retrieve a list of timelogs with optional filters. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"filters\": {\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",  // (optional) Filter by project UUID (uniq_id)\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",      // (optional) Filter by task UUID (uniq_id)\n    \"start_date\": \"2024-01-01\",     // (optional) Filter timelogs from this date\n    \"end_date\": \"2024-12-31\",       // (optional) Filter timelogs until this date\n    \"is_billable\": true             // (optional) Filter by billable status\n  }\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Timelogs retrieved successfully\",\n  \"data\": [\n    {\n      \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",\n      \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n      \"project_name\": \"Website Redesign\",\n      \"task_title\": \"Implement user authentication\",\n      \"task_date\": \"2024-01-15\",\n      \"start_time\": \"09:00:00\",\n      \"end_time\": \"17:00:00\",\n      \"start_datetime\": \"2024-01-15 09:00:00\",\n      \"end_datetime\": \"2024-01-15 17:00:00\",\n      \"total_hours\": 8.0,\n      \"break_time\": 1.0,\n      \"description\": \"Worked on authentication module\",\n      \"is_billable\": true,\n      \"is_from_timer\": false,\n      \"timesheet_flag\": false,\n      \"task_status\": \"In Progress\",\n      \"user_id\": 456,\n      \"user_name\": \"John Doe\",\n      \"created_at\": \"2024-01-15 18:30:00\"\n    }\n  ]\n}\n```",
                "operationId": "timelogs_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing optional filter parameters",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Timelogs retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Invalid filters"
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/timelogs/search": {
            "post": {
                "tags": [
                    "Timelogs"
                ],
                "summary": "Search timelogs",
                "description": "Search timelogs with pagination. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"q\": \"authentication\",            // (optional) Search query\n  \"page\": 1,                        // (optional) Page number (default: 1)\n  \"per_page\": 20                    // (optional) Results per page (default: 20, max: 100)\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Timelogs searched successfully\",\n  \"data\": [\n    {\n      \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",\n      \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n      \"project_name\": \"Website Redesign\",\n      \"task_title\": \"Implement user authentication\",\n      \"total_hours\": 8.0,\n      \"task_date\": \"2024-01-15\",\n      \"user_name\": \"John Doe\",\n      \"is_billable\": true\n    }\n  ],\n  \"pagination\": {\n    \"total\": 150,\n    \"per_page\": 20,\n    \"current_page\": 1,\n    \"last_page\": 8,\n    \"from\": 1,\n    \"to\": 20\n  }\n}\n```",
                "operationId": "timelogs_search",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data with search and filter parameters",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Timelogs search results",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Invalid search parameters"
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/timelogs/detail": {
            "post": {
                "tags": [
                    "Timelogs"
                ],
                "summary": "Get timelog details",
                "description": "Retrieve detailed information about a specific timelog using its unique ID. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",                      // (required) Timelog unique ID\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Timelog retrieved successfully\",\n  \"data\": {\n    \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n    \"project_name\": \"Website Redesign\",\n    \"task_title\": \"Implement user authentication\",\n    \"task_date\": \"2024-01-15\",\n    \"start_time\": \"09:00:00\",\n    \"end_time\": \"17:00:00\",\n    \"start_datetime\": \"2024-01-15 09:00:00\",\n    \"end_datetime\": \"2024-01-15 17:00:00\",\n    \"total_hours\": 8.0,\n    \"break_time\": 1.0,\n    \"description\": \"Worked on authentication module\",\n    \"is_billable\": true,\n    \"is_from_timer\": false,\n    \"timesheet_flag\": false,\n    \"task_status\": \"In Progress\",\n    \"pending_status\": null,\n    \"approver_name\": \"Jane Smith\",\n    \"user_name\": \"John Doe\",\n    \"ip\": \"192.168.1.100\",\n    \"created_at\": \"2024-01-15 18:30:00\"\n  }\n}\n```",
                "operationId": "timelogs_detail",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing timelog_id",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Timelog details retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "404": {
                        "description": "Timelog not found"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/timelogs/create": {
            "post": {
                "tags": [
                    "Timelogs"
                ],
                "summary": "Create a new timelog",
                "description": "Create a new timelog entry. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",                          // (required) Project UUID (uniq_id)\n  \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",                              // (optional) Task UUID (uniq_id)\n  \"task_date\": \"2024-01-15\",                  // (required) Date of work (YYYY-MM-DD)\n  \"start_time\": \"09:00:00\",                   // (optional) Start time (HH:MM:SS)\n  \"end_time\": \"17:00:00\",                     // (optional) End time (HH:MM:SS)\n  \"start_datetime\": \"2024-01-15 09:00:00\",    // (optional) Start datetime\n  \"end_datetime\": \"2024-01-15 17:00:00\",      // (optional) End datetime\n  \"total_hours\": 8.0,                         // (optional) Total hours worked\n  \"break_time\": 1.0,                          // (optional) Break time in hours\n  \"description\": \"Worked on authentication\",  // (optional) Description of work\n  \"is_billable\": true                         // (optional) Whether time is billable\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Timelog created successfully\",\n  \"data\": {\n    \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n    \"project_name\": \"Website Redesign\",\n    \"task_title\": \"Implement user authentication\",\n    \"task_date\": \"2024-01-15\",\n    \"start_time\": \"09:00:00\",\n    \"end_time\": \"17:00:00\",\n    \"total_hours\": 8.0,\n    \"break_time\": 1.0,\n    \"description\": \"Worked on authentication module\",\n    \"is_billable\": true,\n    \"created_at\": \"2024-01-15 18:30:00\"\n  }\n}\n```",
                "operationId": "timelogs_create",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data for creating a new timelog",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Timelog created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Validation failed"
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/timelogs/update": {
            "post": {
                "tags": [
                    "Timelogs"
                ],
                "summary": "Update a timelog",
                "description": "Update an existing timelog entry. Only send fields that need to be updated. All data must be encrypted in the request body. Response returns decrypted JSON data.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",                     // (required) Timelog unique ID\n  \"task_date\": \"2024-01-15\",                  // (optional) Date of work (YYYY-MM-DD)\n  \"start_time\": \"09:00:00\",                   // (optional) Start time (HH:MM:SS)\n  \"end_time\": \"17:00:00\",                     // (optional) End time (HH:MM:SS)\n  \"start_datetime\": \"2024-01-15 09:00:00\",    // (optional) Start datetime\n  \"end_datetime\": \"2024-01-15 17:00:00\",      // (optional) End datetime\n  \"total_hours\": 8.0,                         // (optional) Total hours worked\n  \"break_time\": 1.0,                          // (optional) Break time in hours\n  \"description\": \"Updated work description\",  // (optional) Updated description\n  \"is_billable\": true                         // (optional) Billable status\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Timelog updated successfully\",\n  \"data\": {\n    \"timelog_id\": \"770e8400-e29b-41d4-a716-446655440002\",\n    \"project_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"task_id\": \"660e8400-e29b-41d4-a716-446655440001\",\n    \"project_name\": \"Website Redesign\",\n    \"task_title\": \"Implement user authentication\",\n    \"task_date\": \"2024-01-15\",\n    \"start_time\": \"09:00:00\",\n    \"end_time\": \"17:00:00\",\n    \"total_hours\": 8.0,\n    \"break_time\": 1.0,\n    \"description\": \"Updated work description\",\n    \"is_billable\": true,\n    \"created_at\": \"2024-01-15 18:30:00\",\n    \"updated_at\": \"2024-01-16 10:15:00\"\n  }\n}\n```",
                "operationId": "timelogs_update",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing timelog_id and update fields",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Timelog updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Validation failed"
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "404": {
                        "description": "Timelog not found"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/users/list": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "List users",
                "description": "Retrieve a list of all users. This endpoint requires no payload, only authentication headers. All data must be encrypted in the request body. Response returns decrypted JSON data. This is a read-only endpoint.\n\n**Decrypted Request Payload Structure:**\n```json\n{}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"Users retrieved successfully\",\n  \"data\": [\n    {\n      \"user_id\": \"USR-001\",\n      \"name\": \"John Doe\",\n      \"email\": \"john.doe@example.com\",\n      \"mobile\": \"+1234567890\",\n      \"designation\": \"Senior Developer\",\n      \"profile_pic\": \"https://example.com/images/john.jpg\",\n      \"is_active\": true,\n      \"created_at\": \"2024-01-10 10:30:00\",\n      \"updated_at\": \"2024-01-20 14:25:00\"\n    }\n  ]\n}\n```",
                "operationId": "users_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing optional filter parameters",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Users retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - Invalid filters"
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/users/detail": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Get user details",
                "description": "Retrieve detailed information about a specific user. All data must be encrypted in the request body. Response returns decrypted JSON data. This is a read-only endpoint.\n\n**Decrypted Request Payload Structure:**\n```json\n{\n  \"user_id\": \"USR-001\"                        // (required) User unique ID\n}\n```\n\n**Decrypted Response Structure:**\n```json\n{\n  \"success\": true,\n  \"message\": \"User retrieved successfully\",\n  \"data\": {\n    \"user_id\": \"USR-001\",\n    \"name\": \"John Doe\",\n    \"email\": \"john.doe@example.com\",\n    \"mobile\": \"+1234567890\",\n    \"designation\": \"Senior Developer\",\n    \"profile_pic\": \"https://example.com/images/john.jpg\",\n    \"is_active\": true,\n    \"created_at\": \"2024-01-10 10:30:00\",\n    \"updated_at\": \"2024-01-20 14:25:00\"\n  }\n}\n```",
                "operationId": "users_detail",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type for response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type for request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data containing user_id",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User details retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid or missing API key"
                    },
                    "404": {
                        "description": "User not found"
                    },
                    "500": {
                        "description": "Server error"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-cases/list": {
            "post": {
                "tags": [
                    "Test Cases"
                ],
                "summary": "List test cases",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"project_id\": ...,   // (optional) project uniq_id or numeric id\n  \"scenario_id\": ...,   // (optional) parent test scenario uniq_id\n  \"status\": ...,   // (optional) filter by status\n  \"priority\": ...,   // (optional) filter by priority\n  \"q\": ...,   // (optional) search name/description\n  \"include_archived\": ...,   // (optional) bool, include archived\n  \"page\": ...,   // (optional) page number\n  \"per_page\": ...   // (optional) items per page (max 100)\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_cases_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List test cases — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-cases/create": {
            "post": {
                "tags": [
                    "Test Cases"
                ],
                "summary": "Create a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"project_id\": ...,   // (required) project uniq_id or numeric id\n  \"name\": ...,   // (required) test case name\n  \"description\": ...,   // (optional) description\n  \"type\": ...,   // (optional) test case type\n  \"priority\": ...,   // (optional) priority\n  \"severity\": ...,   // (optional) severity\n  \"behaviour\": ...,   // (optional) behaviour, e.g. Positive/Negative\n  \"status\": ...,   // (optional) status (default Active)\n  \"scenario_id\": ...,   // (optional) parent test scenario uniq_id\n  \"pre_condition\": ...,   // (optional) pre-condition\n  \"post_condition\": ...,   // (optional) post-condition\n  \"expected_result\": ...   // (optional) expected result\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_cases_create",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Create a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-cases/detail": {
            "post": {
                "tags": [
                    "Test Cases"
                ],
                "summary": "Get a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...   // (required) test case uniq_id\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_cases_detail",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-cases/update": {
            "post": {
                "tags": [
                    "Test Cases"
                ],
                "summary": "Update a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) test case uniq_id\n  \"name\": ...,   // (optional) test case name\n  \"description\": ...,   // (optional) description\n  \"status\": ...,   // (optional) status\n  \"priority\": ...,   // (optional) priority\n  \"severity\": ...,   // (optional) severity\n  \"scenario_id\": ...   // (optional) parent test scenario uniq_id\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_cases_update",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-cases/delete": {
            "post": {
                "tags": [
                    "Test Cases"
                ],
                "summary": "Delete or archive a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) test case uniq_id\n  \"hard_delete\": ...   // (optional) bool; archive by default, permanently delete if true\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_cases_delete",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Delete or archive a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-scenarios/list": {
            "post": {
                "tags": [
                    "Test Scenarios"
                ],
                "summary": "List test scenarios",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"project_id\": ...,   // (optional) project uniq_id or numeric id\n  \"status\": ...,   // (optional) filter by status\n  \"type\": ...,   // (optional) filter by scenario type\n  \"q\": ...,   // (optional) search name/description\n  \"include_archived\": ...,   // (optional) bool\n  \"page\": ...,   // (optional) page number\n  \"per_page\": ...   // (optional) items per page (max 100)\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_scenarios_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List test scenarios — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-scenarios/create": {
            "post": {
                "tags": [
                    "Test Scenarios"
                ],
                "summary": "Create a test scenario",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"project_id\": ...,   // (required) project uniq_id or numeric id\n  \"name\": ...,   // (required) scenario name\n  \"description\": ...,   // (optional) description\n  \"type\": ...,   // (optional) scenario type\n  \"coverage_percentage\": ...,   // (optional) numeric 0-100\n  \"test_strategy_id\": ...,   // (optional) numeric test strategy id\n  \"status\": ...   // (optional) status (default Active)\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_scenarios_create",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Create a test scenario — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-scenarios/detail": {
            "post": {
                "tags": [
                    "Test Scenarios"
                ],
                "summary": "Get a test scenario",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"scenario_id\": ...   // (required) test scenario uniq_id\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_scenarios_detail",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get a test scenario — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-scenarios/update": {
            "post": {
                "tags": [
                    "Test Scenarios"
                ],
                "summary": "Update a test scenario",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"scenario_id\": ...,   // (required) test scenario uniq_id\n  \"name\": ...,   // (optional) scenario name\n  \"description\": ...,   // (optional) description\n  \"type\": ...,   // (optional) scenario type\n  \"coverage_percentage\": ...,   // (optional) numeric 0-100\n  \"status\": ...   // (optional) status\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_scenarios_update",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update a test scenario — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-scenarios/delete": {
            "post": {
                "tags": [
                    "Test Scenarios"
                ],
                "summary": "Delete or archive a test scenario",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"scenario_id\": ...,   // (required) test scenario uniq_id\n  \"hard_delete\": ...   // (optional) bool; archive by default\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_scenarios_delete",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Delete or archive a test scenario — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-steps/list": {
            "post": {
                "tags": [
                    "Test Steps"
                ],
                "summary": "List the steps of a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) parent test case uniq_id\n  \"include_archived\": ...,   // (optional) bool\n  \"page\": ...,   // (optional) page number\n  \"per_page\": ...   // (optional) items per page (max 100)\n}\n```\n\nSteps are returned in their per-case order (position ascending).\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_steps_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List the steps of a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-steps/create": {
            "post": {
                "tags": [
                    "Test Steps"
                ],
                "summary": "Add a step to a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) parent test case uniq_id\n  \"name\": ...,   // (optional) step name (required if no description)\n  \"description\": ...,   // (optional) step description (required if no name)\n  \"expected_result\": ...,   // (optional) expected result\n  \"outcome\": ...,   // (optional) actual outcome\n  \"status\": ...   // (optional) status (default Active)\n}\n```\n\nThe new step is appended at the end of the case's current order.\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_steps_create",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Add a step to a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-steps/update": {
            "post": {
                "tags": [
                    "Test Steps"
                ],
                "summary": "Update a test step",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) parent test case uniq_id\n  \"step_id\": ...,   // (required) test step uniq_id\n  \"name\": ...,   // (optional) step name\n  \"description\": ...,   // (optional) step description\n  \"expected_result\": ...,   // (optional) expected result\n  \"outcome\": ...,   // (optional) actual outcome\n  \"status\": ...   // (optional) status\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_steps_update",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update a test step — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-steps/reorder": {
            "post": {
                "tags": [
                    "Test Steps"
                ],
                "summary": "Reorder the steps of a test case",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) parent test case uniq_id\n  \"step_ids\": ...   // (required) array of step uniq_ids in the desired order\n}\n```\n\nListed steps take positions 1..n; any omitted steps are appended after, keeping their relative order.\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_steps_reorder",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Reorder the steps of a test case — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/test-steps/delete": {
            "post": {
                "tags": [
                    "Test Steps"
                ],
                "summary": "Delete or archive a test step",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"test_case_id\": ...,   // (required) parent test case uniq_id\n  \"step_id\": ...,   // (required) test step uniq_id\n  \"hard_delete\": ...   // (optional) bool; archive (unlink) by default\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "test_steps_delete",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Delete or archive a test step — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/defects/list": {
            "post": {
                "tags": [
                    "Defects"
                ],
                "summary": "List defects",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"project_id\": ...,   // (optional) project uniq_id or numeric id\n  \"status\": ...,   // (optional) filter by status\n  \"priority\": ...,   // (optional) filter by priority\n  \"severity\": ...,   // (optional) filter by severity\n  \"test_case_id\": ...,   // (optional) filter by linked test case uniq_id\n  \"q\": ...,   // (optional) search title/description/defect_no\n  \"page\": ...,   // (optional) page number\n  \"per_page\": ...   // (optional) items per page (max 100)\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "defects_list",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "List defects — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/defects/create": {
            "post": {
                "tags": [
                    "Defects"
                ],
                "summary": "Create a defect",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"project_id\": ...,   // (required) project uniq_id or numeric id\n  \"title\": ...,   // (required) defect title\n  \"description\": ...,   // (optional) description\n  \"type\": ...,   // (optional) defect type\n  \"priority\": ...,   // (optional) priority\n  \"severity\": ...,   // (optional) severity\n  \"status\": ...,   // (optional) status (default Open)\n  \"test_case_id\": ...,   // (optional) linked test case uniq_id\n  \"test_step_id\": ...,   // (optional) linked test step uniq_id\n  \"task_id\": ...   // (optional) linked task uniq_id\n}\n```\n\nA defect_no is generated automatically per project (DF<short_name><n>).\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "defects_create",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Create a defect — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/defects/detail": {
            "post": {
                "tags": [
                    "Defects"
                ],
                "summary": "Get a defect",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"defect_id\": ...   // (required) defect uniq_id\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "defects_detail",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Get a defect — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/defects/update": {
            "post": {
                "tags": [
                    "Defects"
                ],
                "summary": "Update a defect",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"defect_id\": ...,   // (required) defect uniq_id\n  \"title\": ...,   // (optional) title\n  \"description\": ...,   // (optional) description\n  \"type\": ...,   // (optional) defect type\n  \"priority\": ...,   // (optional) priority\n  \"severity\": ...   // (optional) severity\n}\n```\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "defects_update",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update a defect — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/defects/link": {
            "post": {
                "tags": [
                    "Defects"
                ],
                "summary": "Link a defect to testing entities",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"defect_id\": ...,   // (required) defect uniq_id\n  \"test_case_id\": ...,   // (optional) test case uniq_id to link\n  \"test_step_id\": ...,   // (optional) test step uniq_id to link\n  \"task_id\": ...   // (optional) task uniq_id to link\n}\n```\n\nProvide at least one of test_case_id, test_step_id, or task_id.\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "defects_link",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Link a defect to testing entities — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/defects/status": {
            "post": {
                "tags": [
                    "Defects"
                ],
                "summary": "Update a defect's status",
                "description": "**Decrypted Request Payload:**\n```json\n{\n  \"defect_id\": ...,   // (required) defect uniq_id\n  \"status\": ...   // (required) new status, e.g. Open, In Progress, Resolved, Closed\n}\n```\n\nMoving to a resolved/closed status also records resolution_by and resolution_date.\n\nResponses use the standard envelope `{ \"success\": true, \"message\": \"...\", \"data\": ... }`. Entities are addressed by their uniq_id.",
                "operationId": "defects_status",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (min 8 chars, prevents replay)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Encrypted request data (AES-256-CBC). The decrypted payload fields are described above.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PartnerEncryptedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Update a defect's status — success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PartnerDecryptedResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request — validation failed or invalid reference",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Validation failed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized — invalid or missing API key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Invalid API key"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": false
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/config": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Read company checklist configuration",
                "description": "Returns framework settings (enabled, bypass flags, allow_custom_groups, allow_system_group_rename) + the required-groups matrix. Payload: optional {work_item_type}.",
                "operationId": "1c8e13eceab2d006388b5c4983b54615",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "description": "Base64 AES-encrypted JSON payload",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/groups/list": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "List checklist groups",
                "description": "Lists the company catalogue groups. Payload: optional {active_only:boolean}.",
                "operationId": "f5f9c85c90546ab1ec3d5e8b16341ed9",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/groups/create": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Create a custom checklist group",
                "description": "Creates a custom catalogue group (type/is_system forced server-side). Payload: {name*, color?, is_active?}.",
                "operationId": "ae9659bae2180e6a43f0cf68a89ae8d7",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Validation error (e.g. duplicate name)"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/groups/update": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Update a checklist group",
                "description": "System groups cannot be renamed (403); only color/is_active change. Payload: {group_id*, name?, color?, is_active?}.",
                "operationId": "05581128b3b1cd8cc8f3cc8f5c1d3313",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "403": {
                        "description": "System group rename blocked"
                    },
                    "404": {
                        "description": "Group not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/groups/delete": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Delete a checklist group",
                "description": "Deletes a custom group and its templates/associations. System groups cannot be deleted (403). Payload: {group_id*}.",
                "operationId": "57063f651bcf86f838fa19ca8ebe02c6",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "System group delete blocked"
                    },
                    "404": {
                        "description": "Group not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/templates/list": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "List checklist templates",
                "description": "Lists templates with nested items.",
                "operationId": "398323394e2e5aae1b07203cd0504998",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/templates/create": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Create a checklist template",
                "description": "A template owns exactly one company group. Payload: {checklist_group_id*, name*, auto_attach?, is_active?, items?:[{label}]}.",
                "operationId": "b4f2895a6ef2f59f3355f5cc6597c722",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "404": {
                        "description": "Group not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/templates/update": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Update a checklist template",
                "description": "When items is supplied the item set is replaced. Payload: {template_id*, name?, checklist_group_id?, auto_attach?, is_active?, items?:[{label}]}.",
                "operationId": "1569199b4302d1bab4623aa114bf12f0",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Validation error"
                    },
                    "404": {
                        "description": "Template not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/checklists/templates/delete": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Delete a checklist template",
                "description": "Payload: {template_id*}.",
                "operationId": "2b7d1901fc70527f3857ec8bb88e12dd",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "404": {
                        "description": "Template not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/detail": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Read a work item checklist",
                "description": "Returns groups + nested items + completion_status. Payload: {work_item_type*, work_item_id*}.",
                "operationId": "a589124678dcc3461c9d6a1874887101",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "404": {
                        "description": "Work item not found in this company"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/items/add": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Add a checklist item",
                "description": "Payload: {work_item_type*, work_item_id*, work_item_group_id*, label*}.",
                "operationId": "a2619db1e3920e5d61f7ee559a8c2a9a",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/items/update": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Update a checklist item label",
                "description": "Label only. Payload: {item_id*, label*}.",
                "operationId": "76e2867f374873cd8ce5f74c1d8329fc",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Item not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/items/delete": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Delete a checklist item",
                "description": "Payload: {item_id*}.",
                "operationId": "0431b895a7bd24476d2ca9b5fdbe7f5e",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Item not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/items/complete": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Complete/uncomplete a checklist item",
                "description": "Toggles or sets completion, stamping completed_by/at. Payload: {item_id*, is_completed?:boolean (omit to toggle)}.",
                "operationId": "8b2f12a8ea57625f65c69106f858d59b",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Item not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/groups/add": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Attach a catalogue group to a work item",
                "description": "Rejects a duplicate (same source_group_id) with 400. Payload: {work_item_type*, work_item_id*, source_group_id*}.",
                "operationId": "a60d87d2347330173db1f3a60acb309d",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Group already on this work item"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Group not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/groups/create-custom": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Create a custom group on a work item",
                "description": "Gated on allow_custom_groups (403 when disabled). Payload: {work_item_type*, work_item_id*, name*}.",
                "operationId": "0ae96792d5c7d132499d504847e4f247",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created"
                    },
                    "403": {
                        "description": "Custom groups disabled / not allowed"
                    },
                    "404": {
                        "description": "Work item not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/groups/rename": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Rename a work-item checklist group",
                "description": "Writes work_item_checklist_groups.name only; system groups need allow_system_group_rename (else 403). Payload: {work_item_group_id*, name*}.",
                "operationId": "bcb5f138368e468e98666a9319d01257",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "System rename blocked / not allowed"
                    },
                    "404": {
                        "description": "Group not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/groups/delete": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Delete a work-item checklist group",
                "description": "Removes only this work item group instance and its items. Payload: {work_item_group_id*}.",
                "operationId": "257e6ef281d09af53c06c10ec847ba22",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Group not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/groups/reorder": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Reorder a work item checklist groups",
                "description": "Payload: {work_item_type*, work_item_id*, group_ids:[int]*}.",
                "operationId": "657bd6c587d67a41ebc6ce93cda757f6",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Work item not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        },
        "/api/v1/partner/work-items/checklist/groups/add-from-template": {
            "post": {
                "tags": [
                    "Checklist"
                ],
                "summary": "Add a group to a work item from a template",
                "description": "Copies the template group + items onto the work item (independent copy); duplicate-prevented by source_group_id. Payload: {work_item_type*, work_item_id*, template_id*}.",
                "operationId": "ffa0834fff9be05b215c2801ab105187",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "encrypted_data"
                                ],
                                "properties": {
                                    "encrypted_data": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Group already on this work item"
                    },
                    "403": {
                        "description": "Not allowed to manage"
                    },
                    "404": {
                        "description": "Template not found"
                    }
                },
                "security": [
                    {
                        "apiKeyAuth": []
                    }
                ],
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "Content type of response",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "Content type of request",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        }
                    },
                    {
                        "name": "X-API-KEY",
                        "in": "header",
                        "description": "Developer API key (starts with pk_)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "pk_1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    },
                    {
                        "name": "X-TIMESTAMP",
                        "in": "header",
                        "description": "Unix timestamp in seconds (must be within ±5 minutes of server time)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1704806400
                        }
                    },
                    {
                        "name": "X-NONCE",
                        "in": "header",
                        "description": "One-time random string (minimum 8 characters, prevents replay attacks)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "b7f91c2e5a8d3f1e"
                        }
                    },
                    {
                        "name": "X-SIGNATURE",
                        "in": "header",
                        "description": "HMAC-SHA256 signature of canonical string (hex-encoded)",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
                        }
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "PartnerEncryptedRequest": {
                "title": "Developer API Encrypted Request",
                "description": "All Developer API requests must send data encrypted using AES-256-CBC. The decrypted payload contains the actual request parameters.",
                "required": [
                    "encrypted_data"
                ],
                "properties": {
                    "encrypted_data": {
                        "description": "Base64-encoded encrypted JSON data. Encryption: AES-256-CBC with 16-byte IV prepended. Key: SHA256 hash of secret key.",
                        "type": "string",
                        "example": "aXYxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NQ=="
                    }
                },
                "type": "object"
            },
            "PartnerDecryptedResponse": {
                "title": "Developer API Decrypted Response",
                "description": "Developer API responses return decrypted JSON data. Structure: success, message, and data (array or object).",
                "required": [
                    "success",
                    "message"
                ],
                "properties": {
                    "success": {
                        "type": "boolean",
                        "example": true
                    },
                    "message": {
                        "type": "string",
                        "example": "Projects retrieved successfully"
                    },
                    "data": {
                        "description": "Response payload",
                        "oneOf": [
                            {
                                "type": "array"
                            },
                            {
                                "type": "object"
                            }
                        ]
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "apiKeyAuth": {
                "type": "apiKey",
                "description": "Developer API Key for authentication",
                "name": "X-API-KEY",
                "in": "header"
            },
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT"
            }
        }
    },
    "tags": [
        {
            "name": "Developer",
            "description": "Developer API endpoints with encrypted request/response support"
        },
        {
            "name": "Projects",
            "description": "API endpoints for managing projects with encrypted request/response"
        },
        {
            "name": "Tasks",
            "description": "API endpoints for managing tasks with encrypted request/response"
        },
        {
            "name": "Timelogs",
            "description": "API endpoints for managing timelogs with encrypted request/response"
        },
        {
            "name": "Users",
            "description": "API endpoints for retrieving user information (read-only) with encrypted request/response"
        },
        {
            "name": "Test Cases",
            "description": "Developer API endpoints for managing test cases (encrypted request/response)"
        },
        {
            "name": "Test Scenarios",
            "description": "Developer API endpoints for managing test scenarios (encrypted request/response)"
        },
        {
            "name": "Test Steps",
            "description": "Developer API endpoints for managing test steps and their order (encrypted request/response)"
        },
        {
            "name": "Defects",
            "description": "Developer API endpoints for managing defects, links, and status (encrypted request/response)"
        },
        {
            "name": "Checklist",
            "description": "Checklist Framework: company config, group/template catalogue, and per-work-item checklists (Story #2578)."
        }
    ]
}
