> For the complete documentation index, see [llms.txt](https://docs.pyck.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pyck.cloud/graphql-api/enums.md).

# Enums

GraphQL Enums Documentation

Audience: Programmer

This section documents all GraphQL enums available in the pyck API. Enums define a restricted set of possible values for specific fields.

## File System Enums

### FileReftype

Defines the type of entity that a file is associated with.

**Values:** `item`, `customer`, `supplier`, `picking_order`, `picking_order_item`, `inbound`, `inbound_item`, `item_movement`, `repository_movement`, `file`, `item_set`, `repository`, `collection_movement`

## Inventory Enums

### ItemMovementBlockedBy

Specifies reasons why an item movement might be blocked.

**Values:** `RecalledProducts`, `ExpiredProducts`, `MislabelledGoods`, `RegulatoryHold`, `AwaitingDocumentation`, `InventoryDiscrepancies`, `HazardousMaterials`, `CounterfeitGoods`, `SeasonalGoods`

### RepositoryMovementBlockedBy

Specifies reasons why a repository movement might be blocked.

**Values:** `RecalledProducts`, `ExpiredProducts`, `MislabelledGoods`, `RegulatoryHold`, `AwaitingDocumentation`, `InventoryDiscrepancies`, `HazardousMaterials`, `CounterfeitGoods`, `SeasonalGoods`

### RepositoryType

Defines the type of repository for inventory storage.

**Values:** `dynamic`, `static`

### TransactionType

Defines the direction of inventory transactions.

**Values:** `into`, `out`

## Common Enums

### JSONType

Specifies the type casting for extracted JSONB values during ordering.

**Values:** `NUMBER`, `STRING`, `BOOLEAN`

**Usage:** Used with JSONB column ordering to specify how to cast extracted JSON values for proper sorting.

See [JSONType documentation](/graphql-api/enums/jsontype.md) for detailed usage examples.

### OrderDirection

Specifies the sort order for query results.

**Values:** `ASC`, `DESC`

## Workflow Enums

### WorkflowTarget

Defines the client surfaces a workflow execution can target. Used as values of the `pyck_workflow_targets` KeywordList search attribute.

**Values:** `WEB`, `MOBILE`, `SETUP`

See [WorkflowTarget documentation](/graphql-api/enums/workflowtarget.md) for detailed usage examples.

## Usage Patterns

### Filtering with Enums

```graphql
query {
  files(where: { reftype: item }) {
    edges {
      node {
        id
        filename
        reftype
      }
    }
  }
}
```

### Using Enums in Mutations

```graphql
mutation {
  createInventoryRepository(input: {
    name: "Main Storage"
    type: static
  }) {
    id
    name
    type
  }
}
```

### JavaScript Example

```javascript
// Using enums in variables
const variables = {
  repositoryType: 'static',
  transactionType: 'into',
  sortOrder: 'DESC'
};

const result = await client.query({
  query: gql`
    query GetRepositories($type: RepositoryType!, $order: OrderDirection!) {
      repositories(where: { type: $type }, orderBy: { field: NAME, direction: $order }) {
        edges {
          node {
            id
            name
            type
          }
        }
      }
    }
  `,
  variables: {
    type: variables.repositoryType,
    order: variables.sortOrder
  }
});
```

## Notes

* Enum values are case-sensitive
* Enums provide type safety and validation
* Unknown enum values will result in GraphQL validation errors
* Enums are commonly used for filtering, sorting, and categorization


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pyck.cloud/graphql-api/enums.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
