Source code for britecore_sdk.api.api_calls.v2.signatures

"""BriteCore v2 Signatures API endpoint wrappers.

This module provides wrappers for DocuSign authentication, configuration,
signature retrieval, envelope recreation, and envelope status updates.
"""

from typing import Any, Unpack

from britecore_sdk.api.api_calls import (
    BritecoreAPIClient,
    RequestParameters,
    api_client,
)
from britecore_sdk.api.api_calls.v2._common import build_payload, post

API_CLIENT: BritecoreAPIClient = api_client


[docs] def docusign_auth( action: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Perform a DocuSign authentication action. POST /api/v2/signatures/docusign_auth """ return post( "/api/v2/signatures/docusign_auth", build_payload(action=action), **kwargs, )
[docs] def docusign_config( data: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Retrieve or update DocuSign configuration. POST /api/v2/signatures/docusign_config """ return post( "/api/v2/signatures/docusign_config", build_payload(data=data), **kwargs, )
[docs] def get_signatures( revision_id: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Retrieve signature records for a revision. POST /api/v2/signatures/get_signatures """ return post( "/api/v2/signatures/get_signatures", build_payload(revision_id=revision_id), **kwargs, )
[docs] def recreate_envelope( revision_id: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Recreate a DocuSign envelope for a revision. POST /api/v2/signatures/recreate_envelope """ return post( "/api/v2/signatures/recreate_envelope", build_payload(revision_id=revision_id), **kwargs, )
[docs] def update_signatures( envelope_id: str | None = None, signers: str | None = None, status: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Update signature records for an envelope. POST /api/v2/signatures/update_signatures """ return post( "/api/v2/signatures/update_signatures", build_payload(envelope_id=envelope_id, signers=signers, status=status), **kwargs, )
[docs] def void_envelope( envelope_id: Any | None = None, revision_id: Any | None = None, void_reason: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Void a DocuSign envelope. POST /api/v2/signatures/void_envelope """ payload: dict[str, Any] = {} if envelope_id is not None: payload["envelopeId"] = envelope_id if revision_id is not None: payload["revisionId"] = revision_id if void_reason is not None: payload["voidReason"] = void_reason return post("/api/v2/signatures/void_envelope", payload, **kwargs)
__all__ = [ "docusign_auth", "docusign_config", "get_signatures", "recreate_envelope", "update_signatures", "void_envelope", ] # --- Autogenerated spec wrappers ---
[docs] def flush_cache( **kwargs: Unpack[RequestParameters], ) -> Any: """Flush Cache. POST /api/v2/signatures/flush_cache """ request_json: dict[str, Any] = {} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/signatures/flush_cache", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/signatures/flush_cache" )
[docs] def get_envelope( revision_id: Any | None = None, envelope_id: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Envelope. POST /api/v2/signatures/get_envelope """ request_json: dict[str, Any] = { "revision_id": revision_id, "envelope_id": envelope_id, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/signatures/get_envelope", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/signatures/get_envelope" )
__all__.extend( [ "flush_cache", "get_envelope", ] )