Types

GraphQL Type Definitions

This section documents the object types, interfaces, and other type definitions in the pyck GraphQL API. Understanding these types is essential for constructing and interpreting API requests and responses.

Core Types

  • AccessPolicy: Access control policies for resource permissions

  • CollectionMovement: Individual movements within coordinated inventory operations

  • Company: Company/tenant entity for organizational boundaries

  • Customer: Customer entity for order fulfillment

  • DataType: JSON schema definition for entity data validation

  • Event: Event schema/template for event-driven architecture

  • File: Files uploaded and associated with entities

  • GetAssigneeResponse: Response containing workflow assignee information

  • Group: User groups for organizing users and roles

  • InventoryCollection: Collections of coordinated inventory movements

  • InventoryItem: Products and items in your inventory

  • InventoryItemSet: Collections of inventory items grouped by SKU

  • ItemMovement: Movement of individual inventory items

  • KeyValue: Flexible key-value store for configuration and custom data

  • PageInfo: Pagination information for connections

  • PickingOrder: Order for picking items from warehouse

  • PickingOrderItem: Individual items within picking orders

  • ReceivingInbound: Inbound shipment for receiving

  • ReceivingInboundItem: Individual items within inbound shipments

  • Repository: Storage locations (warehouses, bins, pallets, etc.)

  • RepositoryMovement: Movement of repository-level inventory

  • Role: Roles for role-based access control (RBAC)

  • SetAssigneeResponse: Response containing updated assignee information

  • Stock: Inventory levels and movements

  • Supplier: Supplier entity for procurement operations

  • TemporalMetadata: Key-value metadata for Temporal workflows

  • TemporalWorkflow: Temporal workflow execution information

  • Transaction: Inventory transaction records

  • User: User entity for authentication and authorization

  • UserProfile: Comprehensive user profile with tenant and role information

  • UserRoleTuple: Deprecated - Role assignment within a tenant (use UserTenants)

  • UserTenants: Tenant associations with role assignments for multi-tenant access

  • Workflow: Workflow definition for automated processes

  • WorkflowSignal: Signals that trigger workflow execution

Common Patterns

Connection Types

Many list queries return connection types that follow the Relay connection specification:

For example, InventoryItemConnection contains InventoryItemEdge objects, each with a node (the actual InventoryItem) and a cursor for pagination.

Input Types

Input types are used for mutation arguments:

For example, CreateInventoryItemInput is used for the createInventoryItem mutation.

Where Types

Filter types are used for the where argument in queries:

For example, InventoryItemWhereInput allows filtering inventory items by various criteria.

OrderBy Types

Sorting types are used for the orderBy argument in queries:

For example, InventoryItemOrderByInput allows sorting inventory items by various fields.

The Data Field

Many entity types include a data field of type Map, which stores flexible attributes as JSON. This allows for entity customization without schema changes.

The structure of the data field is validated using DataTypes, which are JSON Schema definitions that can be created and managed through the API.

Last updated

Was this helpful?