# coding: utf-8

# flake8: noqa
"""
    FactPulse REST API

     REST API for electronic invoicing in France: Factur-X, AFNOR PDP/PA, electronic signatures.  ## 🎯 Main Features  ### 📄 Factur-X Invoice Generation - **Formats**: XML only or PDF/A-3 with embedded XML - **Profiles**: MINIMUM, BASIC, EN16931, EXTENDED - **Standards**: EN 16931 (EU directive 2014/55), ISO 19005-3 (PDF/A-3), CII (UN/CEFACT) - **🆕 Simplified Format**: Generation from SIRET + auto-enrichment (Chorus Pro API + Business Search)  ### ✅ Validation and Compliance - **XML Validation**: Schematron (45 to 210+ rules depending on profile) - **PDF Validation**: PDF/A-3, Factur-X XMP metadata, electronic signatures - **VeraPDF**: Strict PDF/A validation (146+ ISO 19005-3 rules) - **Asynchronous Processing**: Celery support for heavy validations (VeraPDF)  ### 📡 AFNOR PDP/PA Integration (XP Z12-013) - **Flow Submission**: Send invoices to Partner Dematerialization Platforms - **Flow Search**: View submitted invoices - **Download**: Retrieve PDF/A-3 with XML - **Directory Service**: Company search (SIREN/SIRET) - **Multi-client**: Support for multiple PDP configs per user (stored credentials or zero-storage)  ### ✍️ PDF Electronic Signature - **Standards**: PAdES-B-B, PAdES-B-T (RFC 3161 timestamping), PAdES-B-LT (long-term archival) - **eIDAS Levels**: SES (self-signed), AdES (commercial CA), QES (QTSP) - **Validation**: Cryptographic integrity and certificate verification - **Certificate Generation**: Self-signed X.509 certificates for testing  ### 🔄 Asynchronous Processing - **Celery**: Asynchronous generation, validation and signing - **Polling**: Status tracking via `/tasks/{task_id}/status` - **No timeout**: Ideal for large files or heavy validations  ## 🔒 Authentication  All requests require a **JWT token** in the Authorization header: ``` Authorization: Bearer YOUR_JWT_TOKEN ```  ### How to obtain a JWT token?  #### 🔑 Method 1: `/api/token/` API (Recommended)  **URL:** `https://www.factpulse.fr/api/token/`  This method is **recommended** for integration in your applications and CI/CD workflows.  **Prerequisites:** Having set a password on your account  **For users registered via email/password:** - You already have a password, use it directly  **For users registered via OAuth (Google/GitHub):** - You must first set a password at: https://www.factpulse.fr/accounts/password/set/ - Once the password is created, you can use the API  **Request example:** ```bash curl -X POST https://www.factpulse.fr/api/token/ \\   -H \"Content-Type: application/json\" \\   -d '{     \"username\": \"your_email@example.com\",     \"password\": \"your_password\"   }' ```  **Optional `client_uid` parameter:**  To select credentials for a specific client (PA/PDP, Chorus Pro, signing certificates), add `client_uid`:  ```bash curl -X POST https://www.factpulse.fr/api/token/ \\   -H \"Content-Type: application/json\" \\   -d '{     \"username\": \"your_email@example.com\",     \"password\": \"your_password\",     \"client_uid\": \"550e8400-e29b-41d4-a716-446655440000\"   }' ```  The `client_uid` will be included in the JWT and allow the API to automatically use: - AFNOR/PDP credentials configured for this client - Chorus Pro credentials configured for this client - Electronic signature certificates configured for this client  **Response:** ```json {   \"access\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\",  // Access token (validity: 30 min)   \"refresh\": \"eyJ0eXAiOiJKV1QiLCJhbGc...\"  // Refresh token (validity: 7 days) } ```  **Advantages:** - ✅ Full automation (CI/CD, scripts) - ✅ Programmatic token management - ✅ Refresh token support for automatic access renewal - ✅ Easy integration in any language/tool  #### 🖥️ Method 2: Dashboard Generation (Alternative)  **URL:** https://www.factpulse.fr/dashboard/  This method is suitable for quick tests or occasional use via the graphical interface.  **How it works:** - Log in to the dashboard - Use the \"Generate Test Token\" or \"Generate Production Token\" buttons - Works for **all** users (OAuth and email/password), without requiring a password  **Token types:** - **Test Token**: 24h validity, 1000 calls/day quota (free) - **Production Token**: 7 days validity, quota based on your plan  **Advantages:** - ✅ Quick for API testing - ✅ No password required - ✅ Simple visual interface  **Disadvantages:** - ❌ Requires manual action - ❌ No refresh token - ❌ Less suited for automation  ### 📚 Full Documentation  For more information on authentication and API usage: https://www.factpulse.fr/documentation-api/     

    The version of the OpenAPI document: 1.0.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501

# import models into model package
from factpulse.models.afnor_credentials import AFNORCredentials
from factpulse.models.afnor_destination import AFNORDestination
from factpulse.models.afnor_health_check_response import AFNORHealthCheckResponse
from factpulse.models.afnor_result import AFNORResult
from factpulse.models.api_error import APIError
from factpulse.models.api_profile import APIProfile
from factpulse.models.acknowledgment_status import AcknowledgmentStatus
from factpulse.models.allowance_reason_code import AllowanceReasonCode
from factpulse.models.amount_due import AmountDue
from factpulse.models.async_task_status import AsyncTaskStatus
from factpulse.models.bounding_box_schema import BoundingBoxSchema
from factpulse.models.celery_status import CeleryStatus
from factpulse.models.certificate_info_response import CertificateInfoResponse
from factpulse.models.chorus_pro_destination import ChorusProDestination
from factpulse.models.chorus_pro_result import ChorusProResult
from factpulse.models.destination import Destination
from factpulse.models.document_type import DocumentType
from factpulse.models.electronic_address import ElectronicAddress
from factpulse.models.enriched_invoice_info import EnrichedInvoiceInfo
from factpulse.models.error_level import ErrorLevel
from factpulse.models.error_source import ErrorSource
from factpulse.models.factur_x_invoice import FacturXInvoice
from factpulse.models.factur_xpdf_info import FacturXPDFInfo
from factpulse.models.facture_electronique_rest_api_schemas_chorus_pro_chorus_pro_credentials import FactureElectroniqueRestApiSchemasChorusProChorusProCredentials
from factpulse.models.facture_electronique_rest_api_schemas_processing_chorus_pro_credentials import FactureElectroniqueRestApiSchemasProcessingChorusProCredentials
from factpulse.models.field_status import FieldStatus
from factpulse.models.flow_direction import FlowDirection
from factpulse.models.flow_profile import FlowProfile
from factpulse.models.flow_summary import FlowSummary
from factpulse.models.flow_syntax import FlowSyntax
from factpulse.models.flow_type import FlowType
from factpulse.models.generate_certificate_request import GenerateCertificateRequest
from factpulse.models.generate_certificate_response import GenerateCertificateResponse
from factpulse.models.get_chorus_pro_id_request import GetChorusProIdRequest
from factpulse.models.get_chorus_pro_id_response import GetChorusProIdResponse
from factpulse.models.get_invoice_request import GetInvoiceRequest
from factpulse.models.get_invoice_response import GetInvoiceResponse
from factpulse.models.get_structure_request import GetStructureRequest
from factpulse.models.get_structure_response import GetStructureResponse
from factpulse.models.global_allowance_amount import GlobalAllowanceAmount
from factpulse.models.http_validation_error import HTTPValidationError
from factpulse.models.incoming_invoice import IncomingInvoice
from factpulse.models.incoming_supplier import IncomingSupplier
from factpulse.models.invoice_format import InvoiceFormat
from factpulse.models.invoice_line import InvoiceLine
from factpulse.models.invoice_line_allowance_amount import InvoiceLineAllowanceAmount
from factpulse.models.invoice_note import InvoiceNote
from factpulse.models.invoice_references import InvoiceReferences
from factpulse.models.invoice_status import InvoiceStatus
from factpulse.models.invoice_totals import InvoiceTotals
from factpulse.models.invoice_totals_prepayment import InvoiceTotalsPrepayment
from factpulse.models.invoice_type_code import InvoiceTypeCode
from factpulse.models.invoicing_framework import InvoicingFramework
from factpulse.models.invoicing_framework_code import InvoicingFrameworkCode
from factpulse.models.line_net_amount import LineNetAmount
from factpulse.models.mandatory_note_schema import MandatoryNoteSchema
from factpulse.models.manual_rate import ManualRate
from factpulse.models.manual_vat_rate import ManualVatRate
from factpulse.models.operation_nature import OperationNature
from factpulse.models.output_format import OutputFormat
from factpulse.models.pdf_validation_result_api import PDFValidationResultAPI
from factpulse.models.pdp_credentials import PDPCredentials
from factpulse.models.page_dimensions_schema import PageDimensionsSchema
from factpulse.models.payee import Payee
from factpulse.models.payment_means import PaymentMeans
from factpulse.models.postal_address import PostalAddress
from factpulse.models.processing_options import ProcessingOptions
from factpulse.models.quantity import Quantity
from factpulse.models.recipient import Recipient
from factpulse.models.scheme_id import SchemeID
from factpulse.models.search_flow_request import SearchFlowRequest
from factpulse.models.search_flow_response import SearchFlowResponse
from factpulse.models.search_services_response import SearchServicesResponse
from factpulse.models.search_structure_request import SearchStructureRequest
from factpulse.models.search_structure_response import SearchStructureResponse
from factpulse.models.signature_info import SignatureInfo
from factpulse.models.signature_info_api import SignatureInfoAPI
from factpulse.models.signature_parameters import SignatureParameters
from factpulse.models.simplified_invoice_data import SimplifiedInvoiceData
from factpulse.models.structure_info import StructureInfo
from factpulse.models.structure_parameters import StructureParameters
from factpulse.models.structure_service import StructureService
from factpulse.models.submission_mode import SubmissionMode
from factpulse.models.submit_complete_invoice_request import SubmitCompleteInvoiceRequest
from factpulse.models.submit_complete_invoice_response import SubmitCompleteInvoiceResponse
from factpulse.models.submit_flow_request import SubmitFlowRequest
from factpulse.models.submit_flow_response import SubmitFlowResponse
from factpulse.models.submit_gross_amount import SubmitGrossAmount
from factpulse.models.submit_invoice_request import SubmitInvoiceRequest
from factpulse.models.submit_invoice_response import SubmitInvoiceResponse
from factpulse.models.submit_net_amount import SubmitNetAmount
from factpulse.models.submit_vat_amount import SubmitVatAmount
from factpulse.models.supplementary_attachment import SupplementaryAttachment
from factpulse.models.supplier import Supplier
from factpulse.models.task_response import TaskResponse
from factpulse.models.taxable_amount import TaxableAmount
from factpulse.models.total_gross_amount import TotalGrossAmount
from factpulse.models.total_net_amount import TotalNetAmount
from factpulse.models.total_vat_amount import TotalVATAmount
from factpulse.models.unit_net_price import UnitNetPrice
from factpulse.models.unit_of_measure import UnitOfMeasure
from factpulse.models.vat_accounting_code import VATAccountingCode
from factpulse.models.vat_amount import VATAmount
from factpulse.models.vat_category import VATCategory
from factpulse.models.vat_line import VATLine
from factpulse.models.validation_error import ValidationError
from factpulse.models.validation_error_detail import ValidationErrorDetail
from factpulse.models.validation_error_loc_inner import ValidationErrorLocInner
from factpulse.models.validation_error_response import ValidationErrorResponse
from factpulse.models.validation_success_response import ValidationSuccessResponse
from factpulse.models.verification_success_response import VerificationSuccessResponse
from factpulse.models.verified_field_schema import VerifiedFieldSchema

