Skip to content

katana_public_api_client.api.purchase_order.search_purchase_orders

katana_public_api_client.api.purchase_order.search_purchase_orders

Classes

Functions

asyncio(*, client, body) async

Search purchase orders

Searches purchase orders using a structured filter body with nested logical operators (and / or) and per-field comparators. Only the fields in the filter schema may appear; unknown fields return 422. Custom field values are addressable via custom_fields.<uuid> nested paths. Returns the same shape as GET /purchase_orders — a paginated list of records.

Parameters:

  • body (PurchaseOrderSearchRequest) –

    Structured search body for POST /purchase_orders/search. Returns the same paginated {"data": [...]} shape as the corresponding list endpoint, plus an X-Pagination header. Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order': ['order_no ASC'], 'limit': 50, 'page': 1}.

Raises:

  • UnexpectedStatus –

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException –

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/purchase_order/search_purchase_orders.py
async def asyncio(
    *,
    client: AuthenticatedClient | Client,
    body: PurchaseOrderSearchRequest,
) -> DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse | None:
    """Search purchase orders

     Searches purchase orders using a structured filter body with nested
    logical operators (``and`` / ``or``) and per-field comparators.
    Only the fields in the filter schema may appear; unknown fields
    return 422. Custom field values are addressable via
    ``custom_fields.<uuid>`` nested paths. Returns the same shape as
    ``GET /purchase_orders`` — a paginated list of records.

    Args:
        body (PurchaseOrderSearchRequest): Structured search body for ``POST
            /purchase_orders/search``. Returns the
            same paginated ``{"data": [...]}`` shape as the corresponding list
            endpoint, plus an ``X-Pagination`` header.
             Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order':
            ['order_no ASC'], 'limit': 50, 'page': 1}.

    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse
    """

    return (
        await asyncio_detailed(
            client=client,
            body=body,
        )
    ).parsed

asyncio_detailed(*, client, body) async

Search purchase orders

Searches purchase orders using a structured filter body with nested logical operators (and / or) and per-field comparators. Only the fields in the filter schema may appear; unknown fields return 422. Custom field values are addressable via custom_fields.<uuid> nested paths. Returns the same shape as GET /purchase_orders — a paginated list of records.

Parameters:

  • body (PurchaseOrderSearchRequest) –

    Structured search body for POST /purchase_orders/search. Returns the same paginated {"data": [...]} shape as the corresponding list endpoint, plus an X-Pagination header. Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order': ['order_no ASC'], 'limit': 50, 'page': 1}.

Raises:

  • UnexpectedStatus –

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException –

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/purchase_order/search_purchase_orders.py
async def asyncio_detailed(
    *,
    client: AuthenticatedClient | Client,
    body: PurchaseOrderSearchRequest,
) -> Response[DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse]:
    """Search purchase orders

     Searches purchase orders using a structured filter body with nested
    logical operators (``and`` / ``or``) and per-field comparators.
    Only the fields in the filter schema may appear; unknown fields
    return 422. Custom field values are addressable via
    ``custom_fields.<uuid>`` nested paths. Returns the same shape as
    ``GET /purchase_orders`` — a paginated list of records.

    Args:
        body (PurchaseOrderSearchRequest): Structured search body for ``POST
            /purchase_orders/search``. Returns the
            same paginated ``{"data": [...]}`` shape as the corresponding list
            endpoint, plus an ``X-Pagination`` header.
             Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order':
            ['order_no ASC'], 'limit': 50, 'page': 1}.

    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        Response[DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse]
    """

    kwargs = _get_kwargs(
        body=body,
    )

    response = await client.get_async_httpx_client().request(**kwargs)

    return _build_response(client=client, response=response)

sync(*, client, body)

Search purchase orders

Searches purchase orders using a structured filter body with nested logical operators (and / or) and per-field comparators. Only the fields in the filter schema may appear; unknown fields return 422. Custom field values are addressable via custom_fields.<uuid> nested paths. Returns the same shape as GET /purchase_orders — a paginated list of records.

Parameters:

  • body (PurchaseOrderSearchRequest) –

    Structured search body for POST /purchase_orders/search. Returns the same paginated {"data": [...]} shape as the corresponding list endpoint, plus an X-Pagination header. Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order': ['order_no ASC'], 'limit': 50, 'page': 1}.

Raises:

  • UnexpectedStatus –

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException –

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/purchase_order/search_purchase_orders.py
def sync(
    *,
    client: AuthenticatedClient | Client,
    body: PurchaseOrderSearchRequest,
) -> DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse | None:
    """Search purchase orders

     Searches purchase orders using a structured filter body with nested
    logical operators (``and`` / ``or``) and per-field comparators.
    Only the fields in the filter schema may appear; unknown fields
    return 422. Custom field values are addressable via
    ``custom_fields.<uuid>`` nested paths. Returns the same shape as
    ``GET /purchase_orders`` — a paginated list of records.

    Args:
        body (PurchaseOrderSearchRequest): Structured search body for ``POST
            /purchase_orders/search``. Returns the
            same paginated ``{"data": [...]}`` shape as the corresponding list
            endpoint, plus an ``X-Pagination`` header.
             Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order':
            ['order_no ASC'], 'limit': 50, 'page': 1}.

    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse
    """

    return sync_detailed(
        client=client,
        body=body,
    ).parsed

sync_detailed(*, client, body)

Search purchase orders

Searches purchase orders using a structured filter body with nested logical operators (and / or) and per-field comparators. Only the fields in the filter schema may appear; unknown fields return 422. Custom field values are addressable via custom_fields.<uuid> nested paths. Returns the same shape as GET /purchase_orders — a paginated list of records.

Parameters:

  • body (PurchaseOrderSearchRequest) –

    Structured search body for POST /purchase_orders/search. Returns the same paginated {"data": [...]} shape as the corresponding list endpoint, plus an X-Pagination header. Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order': ['order_no ASC'], 'limit': 50, 'page': 1}.

Raises:

  • UnexpectedStatus –

    If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

  • TimeoutException –

    If the request takes longer than Client.timeout.

Returns:

Source code in katana_public_api_client/api/purchase_order/search_purchase_orders.py
def sync_detailed(
    *,
    client: AuthenticatedClient | Client,
    body: PurchaseOrderSearchRequest,
) -> Response[DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse]:
    """Search purchase orders

     Searches purchase orders using a structured filter body with nested
    logical operators (``and`` / ``or``) and per-field comparators.
    Only the fields in the filter schema may appear; unknown fields
    return 422. Custom field values are addressable via
    ``custom_fields.<uuid>`` nested paths. Returns the same shape as
    ``GET /purchase_orders`` — a paginated list of records.

    Args:
        body (PurchaseOrderSearchRequest): Structured search body for ``POST
            /purchase_orders/search``. Returns the
            same paginated ``{"data": [...]}`` shape as the corresponding list
            endpoint, plus an ``X-Pagination`` header.
             Example: {'filter': {'and': [{'status': None, 'inq': ['NOT_RECEIVED']}]}, 'order':
            ['order_no ASC'], 'limit': 50, 'page': 1}.

    Raises:
        errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
        httpx.TimeoutException: If the request takes longer than Client.timeout.


    Returns:
        Response[DetailedErrorResponse | ErrorResponse | PurchaseOrderListResponse]
    """

    kwargs = _get_kwargs(
        body=body,
    )

    response = client.get_httpx_client().request(
        **kwargs,
    )

    return _build_response(client=client, response=response)