Metadata-Version: 2.4
Name: dockflow_sdk
Version: 0.3.1
Summary: Dockflow v3 API
Home-page: https://github.com/Dockflow/dockflow-sdks
Author: OpenAPI Generator community
Author-email: OpenAPI Generator Community <team@openapitools.org>
Project-URL: Repository, https://github.com/Dockflow/dockflow-sdks
Keywords: OpenAPI,OpenAPI-Generator,Dockflow v3 API
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: urllib3<3.0.0,>=2.7.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: home-page

# dockflow-sdk
Client for the Dockflow API v3: upstream events, tradeflows, documents and the widget.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 3.0.0
- Package version: 0.3.1
- Generator version: 7.27.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.11+

Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735).
Install the package with `python -m pip install .`; install development dependencies
with Poetry 2.2 or newer using `poetry install`, or pip 25.1 or newer using
`python -m pip install --group dev`. The latter installs the group, not the package.

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/Dockflow/dockflow-sdks.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/Dockflow/dockflow-sdks.git`)

Then import the package:
```python
import dockflow_sdk
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import dockflow_sdk
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import dockflow_sdk
from dockflow_sdk.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.dockflow.com
# See configuration.py for a list of all supported configuration parameters.
configuration = dockflow_sdk.Configuration(
    host = "https://api.dockflow.com"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization: ApiKey
configuration = dockflow_sdk.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with dockflow_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dockflow_sdk.DocumentsApi(api_client)
    reference = 'reference_example' # str | 

    try:
        # Delete a document
        api_instance.delete_document(reference)
    except ApiException as e:
        print("Exception when calling DocumentsApi->delete_document: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.dockflow.com*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DocumentsApi* | [**delete_document**](docs/DocumentsApi.md#delete_document) | **DELETE** /v3/downstream/documents/{reference} | Delete a document
*DocumentsApi* | [**get_document**](docs/DocumentsApi.md#get_document) | **GET** /v3/downstream/documents/{reference} | List the documents of a tradeflow
*DocumentsApi* | [**list_document_types**](docs/DocumentsApi.md#list_document_types) | **GET** /v3/downstream/documents/types | List document types
*DocumentsApi* | [**update_document**](docs/DocumentsApi.md#update_document) | **PATCH** /v3/downstream/documents/{reference} | Update a document
*DocumentsApi* | [**upload_document**](docs/DocumentsApi.md#upload_document) | **POST** /v3/downstream/documents | Upload a document to a tradeflow
*TradeflowsApi* | [**create_tradeflows**](docs/TradeflowsApi.md#create_tradeflows) | **POST** /v3/downstream/tradeflows | Upsert tradeflows
*TradeflowsApi* | [**delete_tradeflow**](docs/TradeflowsApi.md#delete_tradeflow) | **DELETE** /v3/downstream/tradeflows/{tradeflow_reference} | Delete a tradeflow
*UpstreamApi* | [**get_upstream**](docs/UpstreamApi.md#get_upstream) | **GET** /v3/upstream | Poll upstream events
*WidgetApi* | [**search_widget**](docs/WidgetApi.md#search_widget) | **GET** /v3/widget/search | Search a shipment for the embeddable tracking widget


## Documentation For Models

 - [ContainerReference](docs/ContainerReference.md)
 - [CreateTradeflows202Response](docs/CreateTradeflows202Response.md)
 - [CreateTradeflows202ResponseTradeflowsInner](docs/CreateTradeflows202ResponseTradeflowsInner.md)
 - [DocumentUpdate](docs/DocumentUpdate.md)
 - [DocumentUpload](docs/DocumentUpload.md)
 - [DownstreamTradeflow](docs/DownstreamTradeflow.md)
 - [DownstreamTradeflowBillOfLadingReference](docs/DownstreamTradeflowBillOfLadingReference.md)
 - [DownstreamTradeflowBookingReference](docs/DownstreamTradeflowBookingReference.md)
 - [DownstreamTradeflowEventsInner](docs/DownstreamTradeflowEventsInner.md)
 - [DownstreamTradeflowFreeTimeOverridesInner](docs/DownstreamTradeflowFreeTimeOverridesInner.md)
 - [DownstreamTradeflowMockTracking](docs/DownstreamTradeflowMockTracking.md)
 - [DownstreamTradeflowPartnersInner](docs/DownstreamTradeflowPartnersInner.md)
 - [DownstreamTradeflowReferences](docs/DownstreamTradeflowReferences.md)
 - [GetDocument200Response](docs/GetDocument200Response.md)
 - [GetDocument200ResponseDataInner](docs/GetDocument200ResponseDataInner.md)
 - [GetDocument200ResponseDataInnerDocumentType](docs/GetDocument200ResponseDataInnerDocumentType.md)
 - [GetUpstream200Response](docs/GetUpstream200Response.md)
 - [GetUpstream400Response](docs/GetUpstream400Response.md)
 - [InlineObject](docs/InlineObject.md)
 - [ListDocumentTypes200ResponseInner](docs/ListDocumentTypes200ResponseInner.md)
 - [UploadDocument202Response](docs/UploadDocument202Response.md)
 - [UploadDocument400Response](docs/UploadDocument400Response.md)
 - [UpstreamRecord](docs/UpstreamRecord.md)
 - [UpstreamRecordAdditionalReferences](docs/UpstreamRecordAdditionalReferences.md)
 - [UpstreamRecordDataQuality](docs/UpstreamRecordDataQuality.md)
 - [UpstreamRecordMetadata](docs/UpstreamRecordMetadata.md)
 - [WidgetContainer](docs/WidgetContainer.md)
 - [WidgetCountry](docs/WidgetCountry.md)
 - [WidgetLeg](docs/WidgetLeg.md)
 - [WidgetLocation](docs/WidgetLocation.md)
 - [WidgetMilestone](docs/WidgetMilestone.md)
 - [WidgetPoint](docs/WidgetPoint.md)
 - [WidgetSearchResult](docs/WidgetSearchResult.md)
 - [WidgetTrack](docs/WidgetTrack.md)
 - [WidgetTrackReading](docs/WidgetTrackReading.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="ApiKey"></a>
### ApiKey

- **Type**: Bearer authentication


## Author




## Request headers

Header names are compared case-insensitively in all Python client libraries.
Request headers are copied; supplying `_headers` does not change the caller's dict
or the client's shared defaults. The public `_headers` argument retains its dict
validation and existing value serialization. Pydantic can coerce mappings such as HTTPX `Headers` to a dict,
combining repeated fields into a single value; `_headers` does not provide a
repeated-field or list-of-pairs API.

Precedence, from lowest to highest:

1. `_headers` (within one dict, the last inserted case variant wins).
2. Explicit OpenAPI header parameters and generated `Content-Type` (or `_content_type`).
   Generated `Accept` is added only when neither `_headers` nor explicit header
   parameters contain an `Accept` case variant.
3. `ApiClient.default_headers` (including headers set with `set_default_header`).
4. The client's `cookie` setting, for `Cookie`.
5. Authentication headers. A non-empty `_request_auth` replaces configured
   authentication for that call; `{}` retains configured authentication. Cookie
   authentication appends to the selected `Cookie` value.

This retains the existing precedence for identically spelled names and extends it
to case variants. To override a generated content type, use `_content_type`;
client defaults still take precedence over it. The winning header's spelling and
value are retained for replacements. Cookie authentication uses the canonical
`Cookie` spelling and appends its value. Values containing legitimate
comma-separated lists are not split or deduplicated. This does not remove
duplicate values inside a header or change the handling of repeated fields
supplied directly to the transport.
