When we sync a contract, we also sync all of the traits for the tokens of that contract. We have a fairly simple API to fetch the internal IDs for those in our system (to be used in contacts queries).
Request
GET /contracts/:id/traits
Note that :id is the contractAddress.
Response
// Example for the Woodies contract[ {"id":"87dbf9a6-7bf5-4f5a-942d-779b30abcb64","traitType":"Background Color","displayType":"string","possibleValues": ["Deep Woods","Golden Hour","Midnight Forest","Spring Meadow","Teal Sky","Sapling Green" ],"createdAt":1666638156318,"updatedAt":1666923830187 }, {"id":"346a2081-00d9-4832-a5e3-5ef88e2206dc","traitType":"Mask","displayType":"string","possibleValues": ["Monkey","838","Pumpkin","Lion","Tiger","Fox","Dragon","Monster","Skull","Mrammou" ],"createdAt":1666638156318,"updatedAt":1666923835381 }, ...]