> ## Documentation Index
> Fetch the complete documentation index at: https://docs.smartcp.org/llms.txt
> Use this file to discover all available pages before exploring further.

# File Categories

> Returns the available categories that can be assigned to uploaded order files.



## OpenAPI

````yaml https://logistics.api.smartcp.org/openapi/orders.openapi.json GET /orders/file-categories
openapi: 3.0.3
info:
  title: SmartCP Logistics Orders API
  version: 1.0.0
  description: >-
    Order lookup and file attachment endpoints for the SmartCP Logistics public
    REST API.
servers:
  - url: https://logistics.api.smartcp.org/v1
    description: Production
security:
  - bearerAuth: []
    directoryHeader: []
paths:
  /orders/file-categories:
    get:
      summary: File Categories
      description: >-
        Returns the available categories that can be assigned to uploaded order
        files.
      operationId: listOrderFileCategories
      responses:
        '200':
          description: Category list returned
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/BaseSuccessResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/OrderFileCategory'
              example:
                status: 200
                message: OK
                data:
                  - id: 1
                    name: General files
                    visible_customer: 0
                  - id: 2
                    name: POD
                    visible_customer: 1
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
components:
  schemas:
    BaseSuccessResponse:
      type: object
      required:
        - status
        - message
        - data
      properties:
        status:
          type: integer
          example: 200
        message:
          type: string
          example: OK
        data:
          nullable: true
    OrderFileCategory:
      type: object
      required:
        - id
        - name
        - visible_customer
      properties:
        id:
          type: integer
          example: 1
        name:
          type: string
          example: General files
        visible_customer:
          type: integer
          description: >-
            Determines if files of this category are visible to the customer in
            Customer Portal.
          enum:
            - 0
            - 1
          example: 0
    StringErrorResponse:
      type: object
      required:
        - status
        - message
        - data
      properties:
        status:
          type: integer
          example: 401
        message:
          type: string
          example: Authentication failed
        data:
          nullable: true
          example: null
  responses:
    UnauthorizedResponse:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StringErrorResponse'
          example:
            status: 401
            message: Authentication failed
            data: null
    TooManyRequestsResponse:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StringErrorResponse'
          example:
            status: 429
            message: Too Many Attempts.
            data: null
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: Client API key sent as a bearer token.
    directoryHeader:
      type: apiKey
      in: header
      name: X-Client-Directory
      description: >-
        Client directory identifier. Legacy `directory` header is still accepted
        for backward compatibility.

````