I wouldn't do this by messing about with aggregation vs. combination, or GPL bits vs. AGPL bits, or any other "it doesn't really cover the card decks" hack. Instead, I'd put the whole thing under AGPLv3, keeping life simple, but add aan linking exceptionexception in the API library that says something like:
[Name of project] is distributed under the terms of the GNU Affero General Public License (AGPL) with the following clarification and special exception.
Card decks loaded at runtime by [name of API library] are complex data structures read by the library and the larger game engine, and thus form part of a combined work based on this library and engine. Thus, the terms and conditions of the AGPL cover the whole combination.
As a special exception, the copyright holders of [name of library] give you permission to load such card decks at runtime, regardless of the licence on the decks, without having the provisions of AGPL s13 apply to the card decks. If you modify this library, you may extend this exception to your version of the library, but you are not obliged to do so. If you do not wish to do so, delete this exception statement from your version.