When you make calls to the API, your request specifies the agent's project.
This project is referred to as the resource project.
For example,
in the following REST curl request,
the project associated with AGENT_ID is the resource project,
and the project associated with the service account used to generate TOKEN
is the consumer project:
curl -X GET
-H "Authorization: Bearer TOKEN"
"https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/AGENT_ID"
One project can play the role of both consumer and resource project.
Agent data, charges, and quotas are associated only with this project.
When consumer and resource projects are two different projects, charges, quota
constraints, agent information, and a requirement to enable the API are
applicable to either or both projects, as described in the following table.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eMultiple Google Cloud projects may be needed for Dialogflow, especially if you require multiple agents in the same region, as each project can only contain one agent per region.\u003c/p\u003e\n"],["\u003cp\u003eWhen calling the Dialogflow API, there are two project roles: the consumer project, which owns the service account used for authentication, and the resource project, which houses the agent data.\u003c/p\u003e\n"],["\u003cp\u003eCharges, quota limitations, and API usage are associated with the consumer project, where the service account is owned, while agent data and its edition are associated with the resource project.\u003c/p\u003e\n"],["\u003cp\u003eIn scenarios where consumer and resource projects are distinct, both projects must have the Dialogflow API enabled for proper functionality.\u003c/p\u003e\n"],["\u003cp\u003eA single project can act as both the consumer and resource project, handling agent data, charges, and quotas within the same entity.\u003c/p\u003e\n"]]],[],null,["# Using multiple projects\n\nIn some cases, you might need to create multiple Google Cloud projects to use\nDialogflow:\n\n- You might find it useful to create one project for authentication, quotas, and billing, and additional projects for [agent](/dialogflow/es/docs/agents-overview) data.\n- Each project can have [at most](/dialogflow/quotas#count_limits) one agent per [region](/dialogflow/es/docs/how/region). If you need multiple agents in the same region, then multiple projects are required.\n\nConsumer and resource projects\n------------------------------\n\nWhen you make calls to the API, you typically provide\n\n[service account keys for authentication](/dialogflow/es/docs/quick/setup#auth).\n\nEach service account is owned by a specific project,\nbut service accounts might be\n\n[provided roles to access resources for other projects](/dialogflow/es/docs/access-control#gcp-console).\n\nThe project associated with the service account you provide for an API call\nis referred to as the *consumer project*.\n\nWhen you make calls to the API, your request specifies the agent's project.\nThis project is referred to as the *resource project*.\n\nFor example,\nin the following REST curl request,\nthe project associated with `AGENT_ID` is the resource project,\nand the project associated with the service account used to generate `TOKEN`\nis the consumer project: \n\n```\ncurl -X GET\n -H \"Authorization: Bearer TOKEN\"\n \"https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/AGENT_ID\"\n```\n\nOne project can play the role of both consumer and resource project.\nAgent data, charges, and quotas are associated only with this project.\n\nWhen consumer and resource projects are two different projects, charges, quota\nconstraints, agent information, and a requirement to enable the API are\napplicable to either or both projects, as described in the following table."]]