{"service":"Raasify Demo CRM API","description":"Demo contacts and post-call activity API used by Raasify Voice AI demos.","auth":{"type":"api_key","headers":[{"name":"X-API-Key","example":"your-demo-api-key"},{"name":"Authorization","example":"Bearer your-demo-api-key"}]},"endpoints":[{"method":"GET","path":"/api/v1/contacts","description":"Lookup contact by exactly one of: phone, email, account_id, or (customer_name + date_of_birth pair).","query":{"phone":"string, optional – normalized phone number (e.g. 0411111111)","email":"string, optional – email address","account_id":"string, optional – account identifier","customer_name":"string, optional – full name; must be combined with date_of_birth when used","date_of_birth":"string (YYYY-MM-DD), optional – date of birth; must be combined with customer_name when used"}},{"method":"GET","path":"/api/v1/contacts/{id}","description":"Get contact by id or external_id.","path_params":{"id":"string – contact id or external_id"}},{"method":"POST","path":"/api/v1/contacts","description":"Create a new demo contact.","body":{"phone_number":"string, required – phone number","customer_name":"string, optional","account_id":"string, optional","external_id":"string, optional","email_address":"string, optional","date_of_birth":"string (YYYY-MM-DD), optional","address":"string, optional","company":"string, optional","notes":"string, optional","status":"string, optional","lead_source":"string, optional","last_contact_at":"ISO8601 datetime, optional","next_follow_up_at":"ISO8601 datetime, optional"}},{"method":"PATCH","path":"/api/v1/contacts/{id}","description":"Update an existing demo contact by id or external_id.","path_params":{"id":"string – contact id or external_id"},"body":"Any subset of the fields accepted by POST /api/v1/contacts."},{"method":"POST","path":"/api/v1/post-call","description":"Record post-call activity and optionally update contact.","body":{"call_metadata":"call_id, call_summary, etc.","business_data":"contact_id/phone/status/notes/next_follow_up_at, etc.","record_metadata":"execution_id/flow_execution_id/record_id, etc.","call_execution":"{ outcome: 'success' | 'failure', failure?: { phase, code } }"}}]}