Domains¶
Domains provide the primary resource-oriented interface for interacting with GPP.
Each domain groups operations for a specific area of the API, such as programs, observations, targets, attachments, or workflow state.
Domains are accessed from GPPClient:
from gpp_client import GPPClient
async with GPPClient() as client:
program = await client.program.get_by_id("p-123")
observation = await client.observation.get_by_id("o-456")
In most cases, domains should be preferred over direct use of the underlying GraphQL or REST clients.
Design¶
Domains provide a stable, resource-oriented interface over generated GraphQL operations and supporting REST endpoints.
Depending on the resource, a domain may use:
GraphQL only
REST only
Both GraphQL and REST
Tip
Use domains for routine operations. Access the underlying clients only for advanced workflows.
Available Domains¶
The following domains are available from GPPClient: