I’m trying to use the Node SiteClient with a sandbox environment as described here : Using the NodeJS client - DatoCMS
const client = new SiteClient(DATO_CMS_API_KEY, { environment: “test” });
when I call client.items.create({…fields here…})
I get “404 NOT_FOUND (details: {})” as the response.
I have verified that the environment is ready as described here : List all environments - Environment - Content Management API
I see that the status is ‘ready’
what am I doing wrong? I’ve tried with different environments, all of which have a status of ‘ready’
hi @david.sellars
did you already check if the role linked to the access token is able to access sandbox environments?
yes. It does. I can also query https://graphql.datocms.com/environments/test and get items returned.
hi @david.sellars
when forking an environment, content’s IDs changes (because we duplicate the actual data in the database).
Is it possible that in your code ( client.items.create({…fields here…})
) you are referencing a model with a ID that is valid for your primary environment, but not for your test
environment?
If so, you should first search for the model by its api key ( https://www.datocms.com/docs/content-management-api/resources/item-type/self ). Api keys do not change when forking an environment. Then, once you have the model object, you can call client.items.create({…fields here…})
passing the right model ID to it.
Is this the case?
thanks @fabrizio ! that’s really helpful! I had been using the modelId associated with the ‘primary’ and not the target environment!
Thanks for your quick reply!