{"openapi":"3.1.0","info":{"title":"Ferrule PracticePanther API","version":"1.0.0","description":"REST API for PracticePanther via the Ferrule gateway.","contact":{"name":"Ferrule","url":"https://ferrule.io"}},"servers":[{"url":"https://0.0.0.0:3000","description":"Ferrule gateway"}],"paths":{"/api/v1/practicepanther/accounts/{id}":{"get":{"operationId":"practicepanther.get_account","description":"Get a single account (company or individual) by ID. Returns contacts, tags, custom fields, and assigned users.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Account ID"},"required":true,"description":"Account ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_street_1":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_street_2":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_city":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_state":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_country":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_zip_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"company_custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"primary_contact":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"is_primary_contact":{"anyOf":[{"readOnly":true,"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_mobile":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_home":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_fax":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_work":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Active","Archived"]},{"type":"string"}]}},"additionalProperties":{}},{"type":"null"}]},"other_contacts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"is_primary_contact":{"anyOf":[{"readOnly":true,"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_mobile":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_home":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_fax":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_work":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Active","Archived"]},{"type":"string"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/accounts":{"get":{"operationId":"practicepanther.list_accounts","description":"List accounts with optional filters. An account represents one or more contacts (e.g. a company).","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"search_text","schema":{"description":"Search text","type":"string"}},{"in":"query","name":"account_tag","schema":{"description":"Filter by account tag","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_street_1":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_street_2":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_city":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_state":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_country":{"anyOf":[{"type":"string"},{"type":"null"}]},"address_zip_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"company_custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"primary_contact":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"is_primary_contact":{"anyOf":[{"readOnly":true,"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_mobile":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_home":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_fax":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_work":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Active","Archived"]},{"type":"string"}]}},"additionalProperties":{}},{"type":"null"}]},"other_contacts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"is_primary_contact":{"anyOf":[{"readOnly":true,"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_mobile":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_home":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_fax":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_work":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Active","Archived"]},{"type":"string"}]}},"additionalProperties":{}}},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/bank-accounts/{id}":{"get":{"operationId":"practicepanther.get_bank_account","description":"Get a single bank account (operating, trust, or credit card) by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Bank Account ID"},"required":true,"description":"Bank Account ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string","enum":["Operating","Trust","CreditCard"]},{"type":"string"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/bank-accounts":{"get":{"operationId":"practicepanther.list_bank_accounts","description":"List all bank accounts.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string","enum":["Operating","Trust","CreditCard"]},{"type":"string"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/call-logs/{id}":{"get":{"operationId":"practicepanther.get_call_log","description":"Get a single call log entry by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Call Log ID"},"required":true,"description":"Call Log ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"call_direction":{"anyOf":[{"type":"string","enum":["Inbound","Outbound"]},{"type":"string"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["subject"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/call-logs":{"get":{"operationId":"practicepanther.list_call_logs","description":"List call log entries with optional filters by account, matter, user, date range, or tag.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}},{"in":"query","name":"activity_tag","schema":{"description":"Filter by activity tag","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"call_direction":{"anyOf":[{"type":"string","enum":["Inbound","Outbound"]},{"type":"string"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["subject"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/contacts/{id}":{"get":{"operationId":"practicepanther.get_contact","description":"Get a single contact by ID. Each account can have multiple contacts; one is the primary.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Contact ID"},"required":true,"description":"Contact ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"is_primary_contact":{"anyOf":[{"readOnly":true,"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_mobile":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_home":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_fax":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_work":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Active","Archived"]},{"type":"string"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/contacts":{"get":{"operationId":"practicepanther.list_contacts","description":"List contacts with optional filters by account, status, user, search text, or company.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"status","schema":{"description":"Filter by status","type":"string","enum":["Active","Archived"]}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"search_text","schema":{"description":"Search text","type":"string"}},{"in":"query","name":"account_tag","schema":{"description":"Filter by account tag","type":"string"}},{"in":"query","name":"company_name","schema":{"description":"Filter by company name","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"is_primary_contact":{"anyOf":[{"readOnly":true,"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_mobile":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_home":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_fax":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone_work":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Active","Archived"]},{"type":"string"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/custom-fields/{id}":{"get":{"operationId":"practicepanther.get_custom_field","description":"Get a single custom field definition by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Custom Field ID"},"required":true,"description":"Custom Field ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]},"dropdown_list_values":{"anyOf":[{"type":"string"},{"type":"null"}]},"help_text":{"anyOf":[{"type":"string"},{"type":"null"}]},"tooltip":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["label","value_type"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/custom-fields/accounts":{"get":{"operationId":"practicepanther.list_custom_fields_for_company","description":"List custom field definitions for companies (accounts).","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]},"dropdown_list_values":{"anyOf":[{"type":"string"},{"type":"null"}]},"help_text":{"anyOf":[{"type":"string"},{"type":"null"}]},"tooltip":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["label","value_type"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/custom-fields/matters":{"get":{"operationId":"practicepanther.list_custom_fields_for_matter","description":"List custom field definitions for matters.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]},"dropdown_list_values":{"anyOf":[{"type":"string"},{"type":"null"}]},"help_text":{"anyOf":[{"type":"string"},{"type":"null"}]},"tooltip":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["label","value_type"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/custom-fields/contacts":{"get":{"operationId":"practicepanther.list_custom_fields_for_contact","description":"List custom field definitions for contacts.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]},"dropdown_list_values":{"anyOf":[{"type":"string"},{"type":"null"}]},"help_text":{"anyOf":[{"type":"string"},{"type":"null"}]},"tooltip":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["label","value_type"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/emails/{id}":{"get":{"operationId":"practicepanther.get_email","description":"Get a single email by ID. Returns full HTML body when fetched individually.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Email ID"},"required":true,"description":"Email ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"cc":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address"],"additionalProperties":{}}},{"type":"null"}]},"to":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address"],"additionalProperties":{}}},{"type":"null"}]},"from":{"anyOf":[{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address"],"additionalProperties":{}},{"type":"null"}]},"body_text":{"anyOf":[{"type":"string"},{"type":"null"}]},"body_html":{"anyOf":[{"type":"string"},{"type":"null"}]},"external_message_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"external_thread_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"attachments":{"anyOf":[{"readOnly":true,"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["subject","body_text"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/emails":{"get":{"operationId":"practicepanther.list_emails","description":"List emails with optional filters by account, matter, user, tag, or external message ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"activity_tag","schema":{"description":"Filter by activity tag","type":"string"}},{"in":"query","name":"external_message_id","schema":{"description":"Filter by external message ID","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"cc":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address"],"additionalProperties":{}}},{"type":"null"}]},"to":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address"],"additionalProperties":{}}},{"type":"null"}]},"from":{"anyOf":[{"type":"object","properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address"],"additionalProperties":{}},{"type":"null"}]},"body_text":{"anyOf":[{"type":"string"},{"type":"null"}]},"body_html":{"anyOf":[{"type":"string"},{"type":"null"}]},"external_message_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"external_thread_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"attachments":{"anyOf":[{"readOnly":true,"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["subject","body_text"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/events/{id}":{"get":{"operationId":"practicepanther.get_event","description":"Get a single calendar event by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Event ID"},"required":true,"description":"Event ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_all_day":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"start_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"end_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"assigned_to_contacts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["subject","is_all_day","start_date_time","end_date_time"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/events":{"get":{"operationId":"practicepanther.list_events","description":"List calendar events with optional filters by account, matter, user, date range, or tag.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}},{"in":"query","name":"activity_tag","schema":{"description":"Filter by activity tag","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_all_day":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"start_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"end_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"assigned_to_contacts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["subject","is_all_day","start_date_time","end_date_time"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/expense-categories/{id}":{"get":{"operationId":"practicepanther.get_expense_category","description":"Get a single expense category by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Expense Category ID"},"required":true,"description":"Expense Category ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/expense-categories":{"get":{"operationId":"practicepanther.list_expense_categories","description":"List all expense categories.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/expenses/{id}":{"get":{"operationId":"practicepanther.get_expense","description":"Get a single expense by ID. Includes billable status, amount, and category.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Expense ID"},"required":true,"description":"Expense ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_billable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"is_billed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"price":{"anyOf":[{"type":"number"},{"type":"null"}]},"amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"private_notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"billed_by_user_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"expense_category_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"task_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["qty","price","matter_ref"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/expenses":{"get":{"operationId":"practicepanther.list_expenses","description":"List expenses with optional filters by account, matter, billing user, category, or date range.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"billed_by_user_id","schema":{"description":"Filter by billing user ID","type":"string"}},{"in":"query","name":"expense_category_id","schema":{"description":"Filter by expense category ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_billable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"is_billed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"price":{"anyOf":[{"type":"number"},{"type":"null"}]},"amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"private_notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"billed_by_user_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"expense_category_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"task_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["qty","price","matter_ref"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/files/{id}":{"get":{"operationId":"practicepanther.get_file","description":"Get file metadata by ID (name, size, content type).","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"File ID"},"required":true,"description":"File ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"activity_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"size":{"anyOf":[{"readOnly":true,"type":"number"},{"type":"null"}]},"content_type":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["file_name"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/files/{id}/download":{"get":{"operationId":"practicepanther.download_file","description":"Download a file's contents by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"File ID to download"},"required":true,"description":"File ID to download"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/files":{"get":{"operationId":"practicepanther.list_files","description":"List files with optional filters by account, matter, activity, creator, or search text.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"search_text","schema":{"description":"Search text","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"activity_id","schema":{"description":"Filter by activity ID","type":"string"}},{"in":"query","name":"created_by_user_id","schema":{"description":"Filter by creating user ID","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"activity_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"size":{"anyOf":[{"readOnly":true,"type":"number"},{"type":"null"}]},"content_type":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["file_name"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/flat-fees/{id}":{"get":{"operationId":"practicepanther.get_flat_fee","description":"Get a single flat fee entry by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Flat Fee ID"},"required":true,"description":"Flat Fee ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_billable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"is_billed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"price":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"private_notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"billed_by_user_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"item_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["date","qty","matter_ref","billed_by_user_ref","item_ref"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/flat-fees":{"get":{"operationId":"practicepanther.list_flat_fees","description":"List flat fees with optional filters by account, matter, user, item, or date range.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"user_id","schema":{"description":"Filter by user ID","type":"string"}},{"in":"query","name":"item_id","schema":{"description":"Filter by item ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_billable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"is_billed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"price":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"private_notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"billed_by_user_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"item_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["date","qty","matter_ref","billed_by_user_ref","item_ref"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/invoices/{id}":{"get":{"operationId":"practicepanther.get_invoice","description":"Get a single invoice by ID with line items (time entries, expenses, flat fees).","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Invoice ID"},"required":true,"description":"Invoice ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"items_time_entries":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax1_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax2_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"billed_by":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"items_expenses":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax1_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax2_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"billed_by":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"items_flat_fees":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax1_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax2_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"billed_by":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"total_paid":{"anyOf":[{"type":"number"},{"type":"null"}]},"total_outstanding":{"anyOf":[{"type":"number"},{"type":"null"}]},"invoice_type":{"anyOf":[{"type":"string","enum":["Sale","Refund","Credit"]},{"type":"string"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/invoices":{"get":{"operationId":"practicepanther.list_invoices","description":"List invoices with optional filters by account, matter, or date range. PracticePanther caps each response at 2500 rows; use $skip and $top to page beyond the cap.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}},{"in":"query","name":"$skip","schema":{"description":"Skip the first N rows. PracticePanther caps each response at 2500 rows; combine with $top to page beyond the cap.","type":"integer","minimum":0,"maximum":9007199254740991}},{"in":"query","name":"$top","schema":{"description":"Return at most N rows (PracticePanther enforces a max of 2500 per response).","type":"integer","minimum":1,"maximum":2500}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"items_time_entries":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax1_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax2_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"billed_by":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"items_expenses":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax1_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax2_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"billed_by":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"items_flat_fees":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax1_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax1_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax2_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"tax2_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"billed_by":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"item_description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}},{"type":"null"}]},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}]},"tax":{"anyOf":[{"type":"number"},{"type":"null"}]},"discount":{"anyOf":[{"type":"number"},{"type":"null"}]},"total":{"anyOf":[{"type":"number"},{"type":"null"}]},"total_paid":{"anyOf":[{"type":"number"},{"type":"null"}]},"total_outstanding":{"anyOf":[{"type":"number"},{"type":"null"}]},"invoice_type":{"anyOf":[{"type":"string","enum":["Sale","Refund","Credit"]},{"type":"string"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/items/{id}":{"get":{"operationId":"practicepanther.get_item","description":"Get a single billing item/service by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Item ID"},"required":true,"description":"Item ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"code":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["rate"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/items":{"get":{"operationId":"practicepanther.list_items","description":"List all billing items/services.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"code":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["rate"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/matters/{id}":{"get":{"operationId":"practicepanther.get_matter","description":"Get a single matter (case/project) by ID. Returns status, assigned users, tags, and custom fields.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Matter ID"},"required":true,"description":"Matter ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"open_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"close_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"statute_of_limitation_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Closed","Pending","Open","Archived"]},{"type":"string"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["name","status"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/matters":{"get":{"operationId":"practicepanther.list_matters","description":"List matters with optional filters by account, status (Open/Closed/Pending/Archived), user, search text, or tags.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"status","schema":{"description":"Filter by matter status","type":"string","enum":["Closed","Pending","Open","Archived"]}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"search_text","schema":{"description":"Search text","type":"string"}},{"in":"query","name":"account_tag","schema":{"description":"Filter by account tag","type":"string"}},{"in":"query","name":"matter_tag","schema":{"description":"Filter by matter tag","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"display_name":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"rate":{"anyOf":[{"type":"string"},{"type":"null"}]},"open_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"close_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"statute_of_limitation_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Closed","Pending","Open","Archived"]},{"type":"string"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"custom_field_values":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"custom_field_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_type":{"anyOf":[{"type":"string","enum":["TextBox","Date","DateTime","Number","Currency","TextEditor","DropDownList","Checkbox","Contact"]},{"type":"string"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"value_date_time":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"value_string":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["custom_field_ref"],"additionalProperties":{}}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["name","status"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/messages":{"get":{"operationId":"practicepanther.list_messages","description":"List all messages.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"sender":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"contact":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string","enum":["Text","Secure"]},{"type":"string"}]},"matter_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"body":{"anyOf":[{"type":"string"},{"type":"null"}]},"sent_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"external_conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"firm_text_phone_number":{"anyOf":[{"type":"string"},{"type":"null"}]},"firm_location_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}]},"sent_by_contact":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/notes/{id}":{"get":{"operationId":"practicepanther.get_note","description":"Get a single note by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Note ID"},"required":true,"description":"Note ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["subject"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/notes":{"get":{"operationId":"practicepanther.list_notes","description":"List notes with optional filters by account, matter, user, date range, or tag.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}},{"in":"query","name":"activity_tag","schema":{"description":"Filter by activity tag","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["subject"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/payments/{id}":{"get":{"operationId":"practicepanther.get_payment","description":"Get a single payment by ID with full details including status.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Payment ID"},"required":true,"description":"Payment ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"refundedAmount":{"anyOf":[{"type":"number"},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"total_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"unapplied_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"payee":{"anyOf":[{"type":"string"},{"type":"null"}]},"to_print":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"check_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"bank_account":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string","enum":["Operating","Trust","CreditCard"]},{"type":"string"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Pending","Failed","Success","Refunded","RefundPending","Canceled"]},{"type":"string"}]}},"required":["account_ref","date","total_amount","bank_account"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/payments":{"get":{"operationId":"practicepanther.list_payments","description":"List payments with optional filters by account, matter, bank account, type, or date range.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"bank_account_id","schema":{"description":"Filter by bank account ID","type":"string"}},{"in":"query","name":"bank_account_type","schema":{"description":"Filter by bank account type","type":"string","enum":["Operating","Trust","CreditCard"]}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"number":{"anyOf":[{"type":"number"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"total_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"unapplied_amount":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"payee":{"anyOf":[{"type":"string"},{"type":"null"}]},"to_print":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"check_number":{"anyOf":[{"type":"number"},{"type":"null"}]},"bank_account":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string","enum":["Operating","Trust","CreditCard"]},{"type":"string"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string","enum":["Pending","Failed","Success","Refunded","RefundPending","Canceled"]},{"type":"string"}]}},"required":["account_ref","date","total_amount","bank_account"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/relationships/{id}":{"get":{"operationId":"practicepanther.get_relationship","description":"Get a single matter-contact relationship by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Relationship ID"},"required":true,"description":"Relationship ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["contact_ref","matter_ref","name"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/relationships":{"get":{"operationId":"practicepanther.list_relationships","description":"List relationships between contacts and matters with optional filters.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"contact_id","schema":{"description":"Filter by contact ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"contact_ref":{"anyOf":[{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["contact_ref","matter_ref","name"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/tags/accounts":{"get":{"operationId":"practicepanther.list_account_tags","description":"List all tags available for accounts.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/tags/matters":{"get":{"operationId":"practicepanther.list_matter_tags","description":"List all tags available for matters.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/tags/activities":{"get":{"operationId":"practicepanther.list_activity_tags","description":"List all tags available for activities (call logs, events, notes, etc.).","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/tasks/{id}":{"get":{"operationId":"practicepanther.get_task","description":"Get a single task by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Task ID"},"required":true,"description":"Task ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"priority":{"anyOf":[{"type":"string","enum":["Low","Medium","High"]},{"type":"string"}]},"status":{"anyOf":[{"type":"string","enum":["NotCompleted","InProgress","Completed","Conditional"]},{"type":"string"}]},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"assigned_to_contacts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["subject"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/tasks":{"get":{"operationId":"practicepanther.list_tasks","description":"List tasks with optional filters by account, matter, user, status, due date range, or tag.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"assigned_to_user_id","schema":{"description":"Filter by assigned user ID","type":"string"}},{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"status","schema":{"description":"Filter by task status","type":"string","enum":["NotCompleted","InProgress","Completed","Conditional"]}},{"in":"query","name":"due_date_from","schema":{"description":"ISO date — filter by due date from","type":"string"}},{"in":"query","name":"due_date_to","schema":{"description":"ISO date — filter by due date to","type":"string"}},{"in":"query","name":"activity_tag","schema":{"description":"Filter by activity tag","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"priority":{"anyOf":[{"type":"string","enum":["Low","Medium","High"]},{"type":"string"}]},"status":{"anyOf":[{"type":"string","enum":["NotCompleted","InProgress","Completed","Conditional"]},{"type":"string"}]},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}]},"assigned_to_users":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"assigned_to_contacts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}}},{"type":"null"}]},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["subject"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/time-entries/{id}":{"get":{"operationId":"practicepanther.get_time_entry","description":"Get a single time entry by ID. Hours are decimal (e.g. 1.5 = 1h30m).","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Time Entry ID"},"required":true,"description":"Time Entry ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_billable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"is_billed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"hours":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"private_notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"billed_by_user_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"item_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"task_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["date","hours","matter_ref","billed_by_user_ref"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/time-entries":{"get":{"operationId":"practicepanther.list_time_entries","description":"List time entries with optional filters by account, matter, user, item, or date range.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"account_id","schema":{"description":"Filter by account ID","type":"string"}},{"in":"query","name":"matter_id","schema":{"description":"Filter by matter ID","type":"string"}},{"in":"query","name":"user_id","schema":{"description":"Filter by user ID","type":"string"}},{"in":"query","name":"item_id","schema":{"description":"Filter by item ID","type":"string"}},{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"date_from","schema":{"description":"ISO date — filter from this date","type":"string"}},{"in":"query","name":"date_to","schema":{"description":"ISO date — filter to this date","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_billable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"is_billed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]},"hours":{"anyOf":[{"type":"number"},{"type":"null"}]},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"private_notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"account_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"matter_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"billed_by_user_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email_address":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"item_ref":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":{}},{"type":"null"}]},"task_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"required":["date","hours","matter_ref","billed_by_user_ref"],"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/users/me":{"get":{"operationId":"practicepanther.get_me","description":"Get the currently authenticated user's profile.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/users/{id}":{"get":{"operationId":"practicepanther.get_user","description":"Get a single user by ID.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"User ID"},"required":true,"description":"User ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}},"/api/v1/practicepanther/users":{"get":{"operationId":"practicepanther.list_users","description":"List users with optional filters by creation date, update date, or email address.","tags":["practicepanther"],"security":[{"oauth2":[]},{"bearerApiKey":[]}],"parameters":[{"in":"query","name":"created_since","schema":{"description":"ISO date — return records created after this date","type":"string"}},{"in":"query","name":"updated_since","schema":{"description":"ISO date — return records updated after this date","type":"string"}},{"in":"query","name":"email_address","schema":{"description":"Filter by email address","type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"readOnly":true,"type":"string"},{"type":"null"}]}},"additionalProperties":{}}}},"required":["items"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"502":{"description":"Upstream error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean"},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}}}}},"webhooks":{},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/oauth/authorize","tokenUrl":"/oauth/token","scopes":{}}}},"bearerApiKey":{"type":"http","scheme":"bearer","description":"API key authentication. Pass a Ferrule API key as a Bearer token."}}}}