We’ve been looking for good enough API solution using symfony and seems like sfDoctrineRestGenerator plugin is good enough one. It has full HTTP support (GET, POST, PUT, DELETE) and some key features are ability to limit the number of results, with or without pagination and possibility to embed extra fields.
There is no built-in system for generation api key but using additional_params you can pass anything you want so api key easily may be added that way.
Thanks to Xavier Lacot, he has done great job!
Its worth to mention though that we were considering 2 other plugins which help to work with REST in symfony: sfRestAdmin,
They are less mature but can be used as basis platform for further developments anyway.