# emite.do > Emite, firma y opera e-CF desde cualquier software, API fácil de implementar con SDK disponibles. ## Docs - [e-CF desde cualquier software](https://docs.emite.do/index.md): Emite, firma y opera e-CF desde cualquier software, API fácil de implementar con SDK disponibles. - [Quickstart](https://docs.emite.do/quickstart.md): Registra la empresa, carga el P12, confirma un rango e-NCF y envía un e-CF de prueba (ejemplo E31; aplica a E31–E47). - [Ambientes](https://docs.emite.do/guides/environments.md): TesteCF, CerteCF y ecf. Qué cambia y cómo se escribe el campo environment. - [Autenticación](https://docs.emite.do/guides/authentication.md): Header X-API-Key. FastAPI lo exige; si falta, 422. Si no autentica, 401. - [Primer documento](https://docs.emite.do/guides/first-document.md): Requisitos y envío. El e-NCF lo pone el integrador. El mismo POST sirve para E31–E47. - [Documentos](https://docs.emite.do/guides/documents.md): POST /api/v1/ecf, consulta, modos online y diferido. - [Webhooks](https://docs.emite.do/guides/webhooks.md): JSON plano, HMAC-SHA256 sobre el body crudo. Hoy se emiten los estados fiscales finales. - [Artefactos](https://docs.emite.do/guides/artifacts.md): XML firmado, RFCE, representación impresa y acuse DGII. - [Consultas](https://docs.emite.do/guides/query.md): Empresa, documentos, padrón RNC y estado público por external_id. - [Idempotencia](https://docs.emite.do/guides/idempotency.md): La key identifica el documento. El service no compara el payload en el replay. - [Errores](https://docs.emite.do/guides/errors.md): El service responde con el detail de FastAPI. Los códigos snake_case no existen en el contrato HTTP. - [Contingencia](https://docs.emite.do/guides/contingency.md): Qué pasa si DGII no responde y cómo marcar incapacidad técnica. - [ACECF](https://docs.emite.do/guides/acecf.md): Aprobación comercial emisor-receptor. - [Odoo](https://docs.emite.do/guides/odoo.md): Módulo l10n_do_ecf_client contra api.emite.do. - [Contrato v1](https://docs.emite.do/api-reference/overview.md): Qué es estable para un integrador y qué no está en esta referencia. - [Public Signup](https://docs.emite.do/api-reference/public/public-signup.md): Registro público desde el sitio web. - [Get Company Profile](https://docs.emite.do/api-reference/client/get-company-profile.md) - [Update Company Profile](https://docs.emite.do/api-reference/client/update-company-profile.md) - [List Sequences](https://docs.emite.do/api-reference/client/list-sequences.md) - [List Certificates](https://docs.emite.do/api-reference/client/list-certificates.md) - [Upload Certificate](https://docs.emite.do/api-reference/client/upload-certificate.md) - [Get Client Summary](https://docs.emite.do/api-reference/client/get-client-summary.md) - [Download Audit Export](https://docs.emite.do/api-reference/client/download-audit-export.md): ZIP de evidencia fiscal: XML, RFCE, RI, respuesta DGII y ficha X.509. Sin P12/PIN. - [List Inbox](https://docs.emite.do/api-reference/client/list-inbox.md): e-CF recibidos por /fe/recepcion para que Odoo cree facturas de compra. - [Ack Inbox Item](https://docs.emite.do/api-reference/client/ack-inbox-item.md) - [Download Inbox Xml](https://docs.emite.do/api-reference/client/download-inbox-xml.md) - [Download Inbox Arecf](https://docs.emite.do/api-reference/client/download-inbox-arecf.md) - [List Documents](https://docs.emite.do/api-reference/client/list-documents.md) - [Get Document](https://docs.emite.do/api-reference/client/get-document.md) - [Get Document Artifacts](https://docs.emite.do/api-reference/client/get-document-artifacts.md) - [Download Document Artifact](https://docs.emite.do/api-reference/client/download-document-artifact.md) - [List Webhooks](https://docs.emite.do/api-reference/client/list-webhooks.md) - [Create Webhook](https://docs.emite.do/api-reference/client/create-webhook.md) - [Disable Webhook](https://docs.emite.do/api-reference/client/disable-webhook.md) - [Update Webhook](https://docs.emite.do/api-reference/client/update-webhook.md) - [Rotate Webhook Secret](https://docs.emite.do/api-reference/client/rotate-webhook-secret.md) - [Test Webhook](https://docs.emite.do/api-reference/client/test-webhook.md): Dry-run: POST JSON plano firmado al endpoint (mismo contrato que notify_webhook). - [List Webhook Deliveries](https://docs.emite.do/api-reference/client/list-webhook-deliveries.md) - [List Ecf](https://docs.emite.do/api-reference/ecf-documents/list-ecf.md) - [Submit Ecf](https://docs.emite.do/api-reference/ecf-documents/submit-ecf.md) - [Get Ecf State Contract](https://docs.emite.do/api-reference/ecf-documents/get-ecf-state-contract.md) - [Get Ecf Status Public](https://docs.emite.do/api-reference/ecf-documents/get-ecf-status-public.md): Consulta de estado pública (sin API key) por ID externo y RNC de la empresa. - [Get Ecf](https://docs.emite.do/api-reference/ecf-documents/get-ecf.md) - [Get Ecf Xml](https://docs.emite.do/api-reference/ecf-documents/get-ecf-xml.md): Download the signed XML for an ECF document. - [Get Ecf Rfce Xml](https://docs.emite.do/api-reference/ecf-documents/get-ecf-rfce-xml.md): Download the signed RFCE XML for an E32 document under RD$250,000. - [Mark Incapacity](https://docs.emite.do/api-reference/ecf-documents/mark-incapacity.md): Mark a document as 'Incapacidad Técnica' — generates non-electronic fiscal doc. - [Get Ecf Pdf](https://docs.emite.do/api-reference/ecf-documents/get-ecf-pdf.md): Download the Representación Impresa (PDF) for an ECF document. - [Submit Anecf](https://docs.emite.do/api-reference/anecf/submit-anecf.md): Submit an ANECF (cancellation of e-NCF sequences). - [Receive Acecf](https://docs.emite.do/api-reference/acecf/receive-acecf.md): Receive an ACECF from another facturador. Public endpoint authenticated via API key. - [Send Acecf](https://docs.emite.do/api-reference/acecf/send-acecf.md): Queue an ACECF for delivery to another facturador. - [Submit Acecf](https://docs.emite.do/api-reference/acecf/submit-acecf.md): Generate ACECF XML, sign with the company cert and send it to DGII. - [Query Rnc](https://docs.emite.do/api-reference/dgii/query-rnc.md): Lookup taxpayer data via the rnc.emite.do microservice. - [Query Directory](https://docs.emite.do/api-reference/dgii/query-directory.md): Query DGII Directorio Facturadores for a given RNC. Cached 24h. - [Get Services Status](https://docs.emite.do/api-reference/dgii-status/get-services-status.md): Get current status of all DGII services (from Redis cache). - [Get Maintenance Windows](https://docs.emite.do/api-reference/dgii-status/get-maintenance-windows.md): Get scheduled DGII maintenance windows (from Redis cache). - [Get Environment Status](https://docs.emite.do/api-reference/dgii-status/get-environment-status.md): Get cached DGII status for a specific environment. - [Refresh Status](https://docs.emite.do/api-reference/dgii-status/refresh-status.md): Force a fresh query to StatusECF API and update cache. - [Health](https://docs.emite.do/api-reference/health.md) - [Public Api Documentation](https://docs.emite.do/api-reference/documentacion/public-api-documentation.md): Devuelve la documentacion publica de integracion en Markdown. - [Public Api Example](https://docs.emite.do/api-reference/documentacion/public-api-example.md): Descarga ejemplos JSON de requests para POST /api/v1/ecf. - [SDKs](https://docs.emite.do/sdks.md): Clientes oficiales Python y .NET. El módulo Odoo es el camino más corto si ya facturas ahí. - [FAQ](https://docs.emite.do/faq.md): Ley 32-23, e-NCF, idempotencia, rechazos y certificado. - [Changelog](https://docs.emite.do/changelog.md): Cambios que afectan a integradores. No es el log interno del service. ## OpenAPI Specs - [public-v1](https://docs.emite.do/openapi/public-v1.json)