# Get engagement by ID Retrieve a specific engagement by its unique identifier This endpoint provides detailed engagement information including: - Complete engagement details and scope - Engagement status and lifecycle information - Client relationship and contact details - Project portfolio and deliverables - Team assignments and resource allocation - Financial terms and billing arrangements Engagement Management Features: - Engagement lifecycle tracking - Client relationship management - Project portfolio oversight - Team resource allocation - Financial terms and billing setup Engagement Details Include: - Engagement name and description - Engagement status and type - Client and contact information - Project portfolio details - Team assignments - Financial terms and billing Business Applications: - Engagement status monitoring - Client relationship management - Project portfolio analysis - Resource allocation planning - Financial performance tracking Real Example: bash curl --location 'https://{{host}}/v1/engagement/34567' \ --header 'Authorization: bearer {{token}}' \ --header 'Content-Type: application/json' Response Example: json { "id": 34567, "name": "Annual Audit Engagement 2024", "description": "Comprehensive annual audit engagement including financial statements, tax preparation, and compliance review", "status": "ACTIVE", "type": "AUDIT", "clientId": 789, "clientName": "Acme Corporation", "clientEmail": "finance@acme.com", "clientPhone": "+1-555-0123", "startDate": "2024-01-01T00:00:00Z", "endDate": "2024-12-31T23:59:59Z", "estimatedValue": 50000.00, "currency": "USD", "projects": [ { "id": 67890, "name": "Q4 Financial Audit", "status": "IN_PROGRESS", "budget": 25000.00 }, { "id": 67891, "name": "Tax Preparation", "status": "PLANNING", "budget": 15000.00 } ], "teamMembers": [ { "staffId": 123, "name": "John Smith", "role": "ENGAGEMENT_PARTNER", "allocation": 0.3 }, { "staffId": 124, "name": "Jane Doe", "role": "SENIOR_MANAGER", "allocation": 0.8 } ], "billingTerms": { "billingFrequency": "MONTHLY", "paymentTerms": "NET_30", "rateType": "HOURLY", "defaultRate": 250.00 }, "notes": "Annual engagement with quarterly reviews and monthly billing", "createdAt": "2023-12-15T10:00:00Z", "updatedAt": "2024-11-20T14:30:00Z" } Endpoint: GET /gql/v1/engagement/{id} Version: 1.0.0 Security: BearerAuth ## Path parameters: - `id` (integer, required) Unique identifier of the engagement Example: 34567 ## Response 200 fields (application/json): - `id` (integer) Unique engagement identifier Example: 34567 - `name` (string) Engagement name Example: "Annual Audit Engagement 2024" - `description` (string) Detailed engagement description Example: "Comprehensive annual audit engagement including financial statements, tax preparation, and compliance review" - `status` (string) Engagement status Enum: "PLANNING", "ACTIVE", "ON_HOLD", "COMPLETED", "CANCELLED" - `type` (string) Engagement type Enum: "AUDIT", "REVIEW", "COMPILATION", "TAX", "CONSULTING", "ADVISORY" - `clientId` (integer) Associated client identifier Example: 789 - `clientName` (string) Client name Example: "Acme Corporation" - `clientEmail` (string) Primary client contact email Example: "finance@acme.com" - `clientPhone` (string) Primary client contact phone Example: "+1-555-0123" - `startDate` (string) Engagement start date Example: "2024-01-01T00:00:00Z" - `endDate` (string) Engagement end date Example: "2024-12-31T23:59:59Z" - `estimatedValue` (number) Estimated engagement value Example: 50000 - `currency` (string) Engagement currency code Example: "USD" - `projects` (array) Projects within this engagement - `projects.id` (integer) Project identifier Example: 67890 - `projects.name` (string) Project name Example: "Q4 Financial Audit" - `projects.status` (string) Project status Enum: "PLANNING", "IN_PROGRESS", "ON_HOLD", "COMPLETED", "CANCELLED" - `projects.budget` (number) Project budget Example: 25000 - `teamMembers` (array) Team members assigned to the engagement - `teamMembers.staffId` (integer) Staff member identifier Example: 123 - `teamMembers.name` (string) Staff member name Example: "John Smith" - `teamMembers.role` (string) Role on the engagement Enum: "ENGAGEMENT_PARTNER", "SENIOR_MANAGER", "MANAGER", "SENIOR_AUDITOR", "AUDITOR", "ASSOCIATE" - `teamMembers.allocation` (number) Time allocation percentage (0.0 to 1.0) Example: 0.3 - `billingTerms` (object) Billing terms and arrangements - `billingTerms.billingFrequency` (string) Billing frequency Enum: "WEEKLY", "MONTHLY", "QUARTERLY", "UPON_COMPLETION" - `billingTerms.paymentTerms` (string) Payment terms Enum: "NET_15", "NET_30", "NET_45", "NET_60" - `billingTerms.rateType` (string) Rate type Enum: "HOURLY", "FIXED", "PERCENTAGE" - `billingTerms.defaultRate` (number) Default hourly rate Example: 250 - `notes` (string) Additional notes or terms Example: "Annual engagement with quarterly reviews and monthly billing" - `createdAt` (string) Engagement creation timestamp Example: "2023-12-15T10:00:00Z" - `updatedAt` (string) Last update timestamp Example: "2024-11-20T14:30:00Z" ## Response 404 fields (application/json): - `error` (string) Example: "Engagement not found" - `message` (string) Example: "Engagement with ID 34567 does not exist" ## Response 401 fields ## Response 403 fields ## Response 500 fields