Zum Inhalt springen

API-Referenz

Generiert aus derselben Spezifikation wie openapi.json(OpenAPI 3.1). Version 2026-10-01.Antworten haben die Form { data }; Fehler die Form { error, code, request_id, doc_url }.

Konto

GET/api/v1/me

Organisation und Berechtigungsumfang des Schlüsselsscope: read

curl https://cordhq.app/api/v1/me \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
orgobjectOrganisation, der der Schlüssel gehört.
scopestringread oder write: was der Schlüssel darf.
mode"live" | "test"live oder test: Mit test läuft alles in der Testumgebung und berührt keine echten Daten.

Angebote

GET/api/v1/cotizaciones

Angebote auflistenscope: readOffset-Paginierung

Abfrageparameter: limit, offset, cursor, status, folio, cliente_id

curl https://cordhq.app/api/v1/cotizaciones \
  -H "Authorization: Bearer sk_test_..."
Antwort: data[]
idstringKennung (UUID).
foliostringLesbare Nummer, die Cord vergibt, z. B. COT-0042.
clientestring | nullKunde, an den sich das Dokument richtet: Name des Unternehmens oder die Daten, um ihn anzulegen, falls er noch nicht existiert.
statusstringStatus des Angebots: draft, sent, viewed, approved, rejected, expired, paid oder invoiced.
totalnumberBetrag in der durch `moneda` angegebenen Währung.
monedastring | nullWährung nach ISO 4217.
terminosstring | nullLesbare Bezeichnung des Zahlungsziels in der Sprache des Kontos („Sofort fällig“, „Net 45“); zum Vergleichen verwenden Sie terminos_codigo.
terminos_codigostring | nullStabiler Code des Zahlungsziels: contado oder net<N> (net7, net15, net30, net45, net60, net90).
vigenciastring | nullDatum nach ISO 8601.
creadastring | nullDatum nach ISO 8601.
link_publicostringAbsoluter öffentlicher Link zum Angebot.
language"es" | "en" | "pt" | "fr" | "de" | nullSchreibgeschützt. Sprache, in der das Angebot gesendet wurde: es, en, pt, fr oder de. null, solange es ein Entwurf ist; dieser folgt der Sprache des Kunden.

POST/api/v1/cotizaciones

Angebot erstellenAkzeptiert pk_scope: write

FeldTypBeschreibung
items erforderlichobject[]Positionen.
cliente_idstringID eines Kunden aus dem Kundenverzeichnis.
clienteobjectKunde, an den sich das Dokument richtet: Name des Unternehmens oder die Daten, um ihn anzulegen, falls er noch nicht existiert.
terminos"contado" | "net7" | "net15" | "net30" | "net45" | "net60" | "net90"Zahlungsbedingungen: contado oder net<N> (N Tage Zahlungsziel: 7, 15, 30, 45, 60 oder 90).
vigencia_diasintegerGültigkeit des Angebots in Tagen ab dem Versand.
notasstringInterne Notizen; der Kunde sieht sie nicht.
base_currencystringVerkaufswährung nach ISO 4217: die Währung, in der Preise erfasst, Zahlungen eingezogen und Rechnungen ausgestellt werden. Standard: die des Unternehmens.
fiscal_currencystringBuchungswährung nach ISO 4217; weicht sie von der Verkaufswährung ab, weist die Rechnung den Wechselkurs aus.
iva_incluidobooleantrue, wenn die erfassten Preise die Steuer bereits enthalten.
descuentoobject | nullRabatt auf das Dokument vor Steuern, anteilig nach Betrag auf die Positionen verteilt. Cord berechnet den Betrag; null entfernt ihn.
cuponstringCode eines Gutscheins des Unternehmens. Cord prüft Gültigkeit, Währung und Einlösungen; ist er angegeben, hat er Vorrang vor descuento. Er ist der einzige Rabatt, den ein öffentlicher Schlüssel verwenden kann.
sendbooleanNur mit geheimem Schlüssel.
curl -X POST https://cordhq.app/api/v1/cotizaciones \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"cliente":{"empresa":"Acme"},"items":[{"descripcion":"Instalación","cantidad":1,"precio_unitario":12500,"tax_rate":0.16}],"base_currency":"MXN"}'
Antwort: data
idstringKennung (UUID).
tokenstringToken des öffentlichen Links. Er ist ein Zugangsnachweis: Veröffentlichen Sie ihn nicht.
foliostringLesbare Nummer, die Cord vergibt, z. B. COT-0042.
link_publicostringAbsoluter öffentlicher Link, der mit dem Kunden geteilt wird.
needs_approvalbooleantrue, wenn es vor dem Senden auf eine interne Freigabe wartet.
motivostring | nullGrund, von einer Person verfasst.
emailobjectE-Mail-Adresse.

GET/api/v1/cotizaciones/{id}

Angebot abrufenscope: read

curl https://cordhq.app/api/v1/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).
foliostringLesbare Nummer, die Cord vergibt, z. B. COT-0042.
clientestring | nullKunde, an den sich das Dokument richtet: Name des Unternehmens oder die Daten, um ihn anzulegen, falls er noch nicht existiert.
statusstringStatus des Angebots: draft, sent, viewed, approved, rejected, expired, paid oder invoiced.
totalnumberBetrag in der durch `moneda` angegebenen Währung.
monedastring | nullWährung nach ISO 4217.
terminosstring | nullLesbare Bezeichnung des Zahlungsziels in der Sprache des Kontos („Sofort fällig“, „Net 45“); zum Vergleichen verwenden Sie terminos_codigo.
terminos_codigostring | nullStabiler Code des Zahlungsziels: contado oder net<N> (net7, net15, net30, net45, net60, net90).
vigenciastring | nullDatum nach ISO 8601.
creadastring | nullDatum nach ISO 8601.
link_publicostringAbsoluter öffentlicher Link zum Angebot.
language"es" | "en" | "pt" | "fr" | "de" | nullSchreibgeschützt. Sprache, in der das Angebot gesendet wurde: es, en, pt, fr oder de. null, solange es ein Entwurf ist; dieser folgt der Sprache des Kunden.
notasstring | nullInterne Notizen; der Kunde sieht sie nicht.
aprobacionobject | nullInterne Freigabe, die eine Regel des Unternehmens verlangt; null, wenn nicht zutreffend.
itemsobject[]Positionen.
descuentoobject | nullRabatt auf das Dokument, vor Steuern angewendet und auf die Positionen verteilt; null, wenn keiner vorhanden ist. subtotal ist bereits netto.
eventosobject[]Liste von Ereignissen oder Ereignistypen. Leer = alle.

POST/api/v1/cotizaciones/{id}

Senden, erneut senden, bestätigen, ablehnen oder als bezahlt markierenscope: write

FeldTypBeschreibung
action erforderlich"send" | "resend" | "approve" | "reject" | "mark_paid"Auszuführende Aktion; jede setzt den richtigen vorherigen Status voraus und ist mit Idempotency-Key idempotent.
payment_methodstringZahlungsmethode beim Markieren als bezahlt: transferencia, efectivo, tarjeta…
curl -X POST https://cordhq.app/api/v1/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"action":"send"}'
Antwort: data
idstringKennung (UUID).

DELETE/api/v1/cotizaciones/{id}

Entwurf löschenscope: write

curl -X DELETE https://cordhq.app/api/v1/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).

POST/api/v1/cotizaciones/ia

Positionen aus dem Text einer Bestellung vorschlagenscope: write

FeldTypBeschreibung
texto erforderlichstringFreitext der Bestellung.
curl -X POST https://cordhq.app/api/v1/cotizaciones/ia \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"texto":"…"}'
Antwort: data
itemsany[]Positionen.
monedastringWährung der Beträge nach ISO 4217.

Kunden

GET/api/v1/clientes

Kunden auflistenscope: readOffset-Paginierung

Abfrageparameter: limit, offset, cursor, q, email

curl https://cordhq.app/api/v1/clientes \
  -H "Authorization: Bearer sk_test_..."
Antwort: data[]
idstringKennung (UUID).
empresastringName des Unternehmens oder der Person.
contactostringName der Kontaktperson.
emailstringE-Mail-Adresse.
telefonostringTelefonnummer mit internationaler Vorwahl.
rfcstringSteuernummer: RFC, NIF, EIN…
terminosstringLesbare Bezeichnung der Zahlungsbedingungen.
terminosCodestringCode der Zahlungsbedingungen: contado oder net<N> (net7, net15, net30, net45, net60, net90).
limitenumberKreditlimit des Kunden in der Währung des Unternehmens.
nivelstringStufe oder Segment des Kunden.
descuentoPctnumberStandardrabatt des Kunden in Prozent.
regimenFiscalstringSteuerregime-Schlüssel des SAT (Mexiko).
usoCfdistringCFDI-Verwendungsschlüssel (Mexiko).
cpFiscalstringPostleitzahl der steuerlichen Anschrift (Mexiko).
countryCodestringLand nach ISO 3166-1 Alpha-2.
language"es" | "en" | "pt" | "fr" | "de" | nullSprache der Dokumente, die der Kunde erhält: es, en, pt, fr oder de; null = die der Organisation. Angebote und Rechnungen behalten die Sprache, in der sie gesendet oder ausgestellt wurden; eine Änderung schreibt bereits Gesendetes nicht um. Jeder andere Wert antwortet mit 400 und field: language.

POST/api/v1/clientes

Kunden anlegenscope: write

FeldTypBeschreibung
empresa erforderlichstringName des Unternehmens oder der Person.
language"es" | "en" | "pt" | "fr" | "de" | nullSprache der Dokumente, die der Kunde erhält: es, en, pt, fr oder de; null = die der Organisation. Angebote und Rechnungen behalten die Sprache, in der sie gesendet oder ausgestellt wurden; eine Änderung schreibt bereits Gesendetes nicht um. Jeder andere Wert antwortet mit 400 und field: language.
curl -X POST https://cordhq.app/api/v1/clientes \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"empresa":"…"}'
Antwort: data
idstringKennung (UUID).

GET/api/v1/clientes/{id}

Kunden abrufenscope: read

curl https://cordhq.app/api/v1/clientes/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).
empresastringName des Unternehmens oder der Person.
contactostringName der Kontaktperson.
emailstringE-Mail-Adresse.
telefonostringTelefonnummer mit internationaler Vorwahl.
rfcstringSteuernummer: RFC, NIF, EIN…
terminosstringLesbare Bezeichnung der Zahlungsbedingungen.
terminosCodestringCode der Zahlungsbedingungen: contado oder net<N> (net7, net15, net30, net45, net60, net90).
limitenumberKreditlimit des Kunden in der Währung des Unternehmens.
nivelstringStufe oder Segment des Kunden.
descuentoPctnumberStandardrabatt des Kunden in Prozent.
regimenFiscalstringSteuerregime-Schlüssel des SAT (Mexiko).
usoCfdistringCFDI-Verwendungsschlüssel (Mexiko).
cpFiscalstringPostleitzahl der steuerlichen Anschrift (Mexiko).
countryCodestringLand nach ISO 3166-1 Alpha-2.
language"es" | "en" | "pt" | "fr" | "de" | nullSprache der Dokumente, die der Kunde erhält: es, en, pt, fr oder de; null = die der Organisation. Angebote und Rechnungen behalten die Sprache, in der sie gesendet oder ausgestellt wurden; eine Änderung schreibt bereits Gesendetes nicht um. Jeder andere Wert antwortet mit 400 und field: language.

PATCH/api/v1/clientes/{id}

Kontaktdaten aktualisierenscope: write

FeldTypBeschreibung
language"es" | "en" | "pt" | "fr" | "de" | nullSprache der Dokumente, die der Kunde erhält: es, en, pt, fr oder de; null = die der Organisation. Angebote und Rechnungen behalten die Sprache, in der sie gesendet oder ausgestellt wurden; eine Änderung schreibt bereits Gesendetes nicht um. Jeder andere Wert antwortet mit 400 und field: language.
curl -X PATCH https://cordhq.app/api/v1/clientes/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{}'
Antwort: data
idstringKennung (UUID).

Produkte

GET/api/v1/productos

Produkte auflistenAkzeptiert pk_scope: readOffset-Paginierung

Abfrageparameter: limit, offset, cursor

curl https://cordhq.app/api/v1/productos \
  -H "Authorization: Bearer sk_test_..."
Antwort: data[]
idstringKennung (UUID).
skustringInterne Artikelnummer.
nombrestringName.
unidadstringMaßeinheit: Stück, kg, Stunde…
descripcionstringBeschreibung, wie der Kunde sie sieht.
precionumberBetrag in der durch `moneda` angegebenen Währung.
costonumberWird für öffentliche Schlüssel nie ausgegeben.
activobooleanfalse, wenn deaktiviert: bleibt erhalten, wird aber nicht verwendet.
createdAtstring | nullDatum nach ISO 8601.
preciosVolumenobject[]Staffelpreise nach Menge.
existenciasnumber | nullVerfügbare Einheiten; null, wenn kein Bestand geführt wird.
taxRatenumber | nullSteuer, die beim Hinzufügen des Produkts zu einer Position vorgeschlagen wird, als Bruch von 0–1; null = der Standard der Organisation.
claveSatstring | nullProdukt- oder Leistungsschlüssel des SAT (c_ClaveProdServ, 8 Ziffern) für den CFDI in Mexiko; null, wenn nicht klassifiziert.
claveUnidadSatstring | nullEinheitenschlüssel des SAT (c_ClaveUnidad, z. B. H87 oder E48) für den CFDI in Mexiko; null = wird aus der Einheit abgeleitet.

POST/api/v1/productos

Produkt anlegenscope: write

FeldTypBeschreibung
nombre erforderlichstringName.
curl -X POST https://cordhq.app/api/v1/productos \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"nombre":"…"}'
Antwort: data
idstringKennung (UUID).

Rechnungen

GET/api/v1/facturas

Rechnungen auflistenscope: readCursor-Paginierung

Abfrageparameter: limit, cursor, estado, cliente, desde, hasta, q

curl https://cordhq.app/api/v1/facturas \
  -H "Authorization: Bearer sk_test_..."
Antwort: data[]
idstringKennung (UUID).
numerostring | nullRechnungsnummer innerhalb ihres Nummernkreises.
folio_fiscalstring | nullKennung bei der Steuerbehörde (UUID des CFDI in Mexiko); null, wenn nicht zutreffend.
clientestring | nullKunde, an den sich das Dokument richtet: Name des Unternehmens oder die Daten, um ihn anzulegen, falls er noch nicht existiert.
estadostringdraft, open, paid, void oder uncollectible.
estado_fiscalstringStatus der Ausstellung: pending, issued, cancelled oder error.
paisstringLand nach ISO 3166-1 Alpha-2.
tipostringDokumenttyp: cfdi_40, cfdi_egreso, proforma, commercial_invoice, commercial_credit_note, verifactu_invoice oder verifactu_credit_note.
documento"factura" | "factura_proforma" | "nota_credito" | "nota_debito"Wie das Dokument betitelt ist. factura_proforma ist eine Proforma-Rechnung: keine Rechnung und steuerlich ungültig. Umfasst den Typ proforma und in Spanien jedes Dokument ohne Verifactu-Eintrag.
monedastring | nullWährung nach ISO 4217.
totalnumberBetrag in der durch `moneda` angegebenen Währung.
pagadonumberBetrag in der durch `moneda` angegebenen Währung.
saldonumberBetrag in der durch `moneda` angegebenen Währung.
vencestring | nullDatum nach ISO 8601.
vencidabooleantrue, wenn das Fälligkeitsdatum mit offenem Betrag überschritten ist.
cotizacion_idstring | nullID des zugehörigen Angebots.
creadastring | nullDatum nach ISO 8601.
language"es" | "en" | "pt" | "fr" | "de" | nullSchreibgeschützt. Sprache, in der die Rechnung ausgestellt wurde: es, en, pt, fr oder de. null, solange sie ein Entwurf ist.

POST/api/v1/facturas

Rechnungsentwurf erstellenscope: write

FeldTypBeschreibung
cliente_id erforderlichstringID eines Kunden aus dem Kundenverzeichnis.
items erforderlichobject[]Positionen.
currencystringWährung nach ISO 4217.
due_datestringFälligkeitsdatum, YYYY-MM-DD.
service_datestringLeistungs- oder Lieferdatum, YYYY-MM-DD. Ohne Angabe vermerkt die Rechnung, dass es dem Rechnungsdatum entspricht.
service_date_endstringEnde des Leistungszeitraums, YYYY-MM-DD. Setzt service_date voraus und darf nicht davor liegen.
notasstringInterne Notizen; der Kunde sieht sie nicht.
iva_incluidobooleantrue, wenn die erfassten Preise die Steuer bereits enthalten.
document_mode"commercial" | "fiscal"commercial oder fiscal. Ohne Angabe fiscal, wenn der Tarif es enthält und es für das Land aktiviert ist; fiscal ohne diese Voraussetzungen antwortet mit 400.
fx_buffer_pctnumberPuffer in Prozentpunkten auf den Referenzwechselkurs (2 = +2 %); höchstens 25. Standard 0.
descuentoobject | nullRabatt auf das Dokument vor Steuern, anteilig nach Betrag auf die Positionen verteilt. Cord berechnet den Betrag; null entfernt ihn.
cuponstringCode eines Gutscheins des Unternehmens. Cord prüft Gültigkeit, Währung und Einlösungen; ist er angegeben, hat er Vorrang vor descuento. Er ist der einzige Rabatt, den ein öffentlicher Schlüssel verwenden kann.
buyer_referencestringKäuferreferenz für die Kreditorenbuchhaltung des Käufers (in Deutschland die Leitweg-ID der öffentlichen Verwaltung). Sie steht in der europäischen E-Rechnung (BT-10) und ist für XRechnung Pflicht. Ohne Angabe gilt die des Kunden. Ist die elektronische Adresse des Kunden eine Leitweg-ID (Schema 0204), werden ihre Prüfziffern kontrolliert (ISO/IEC 7064 MOD 97-10); eine ungültige antwortet mit 400.
purchase_orderstringBestellnummer des Kunden (BT-13 der europäischen E-Rechnung).
curl -X POST https://cordhq.app/api/v1/facturas \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"cliente_id":"…","items":[{"descripcion":"…","cantidad":1,"precio_unitario":1}]}'
Antwort: data
idstringKennung (UUID).

GET/api/v1/facturas/{id}

Rechnung abrufenscope: read

curl https://cordhq.app/api/v1/facturas/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).
numerostring | nullRechnungsnummer innerhalb ihres Nummernkreises.
folio_fiscalstring | nullKennung bei der Steuerbehörde (UUID des CFDI in Mexiko); null, wenn nicht zutreffend.
clientestring | nullKunde, an den sich das Dokument richtet: Name des Unternehmens oder die Daten, um ihn anzulegen, falls er noch nicht existiert.
estadostringdraft, open, paid, void oder uncollectible.
estado_fiscalstringStatus der Ausstellung: pending, issued, cancelled oder error.
paisstringLand nach ISO 3166-1 Alpha-2.
tipostringDokumenttyp: cfdi_40, cfdi_egreso, proforma, commercial_invoice, commercial_credit_note, verifactu_invoice oder verifactu_credit_note.
documento"factura" | "factura_proforma" | "nota_credito" | "nota_debito"Wie das Dokument betitelt ist. factura_proforma ist eine Proforma-Rechnung: keine Rechnung und steuerlich ungültig. Umfasst den Typ proforma und in Spanien jedes Dokument ohne Verifactu-Eintrag.
monedastring | nullWährung nach ISO 4217.
totalnumberBetrag in der durch `moneda` angegebenen Währung.
pagadonumberBetrag in der durch `moneda` angegebenen Währung.
saldonumberBetrag in der durch `moneda` angegebenen Währung.
vencestring | nullDatum nach ISO 8601.
vencidabooleantrue, wenn das Fälligkeitsdatum mit offenem Betrag überschritten ist.
cotizacion_idstring | nullID des zugehörigen Angebots.
creadastring | nullDatum nach ISO 8601.
language"es" | "en" | "pt" | "fr" | "de" | nullSchreibgeschützt. Sprache, in der die Rechnung ausgestellt wurde: es, en, pt, fr oder de. null, solange sie ein Entwurf ist.
subtotalnumberBetrag in der durch `moneda` angegebenen Währung.
impuestosnumberBetrag in der durch `moneda` angegebenen Währung.
moneda_contablestring | nullWährung nach ISO 4217.
tipo_cambionumber | nullAusgewiesener Wechselkurs von der Verkaufs- zur Buchungswährung; null, wenn beide gleich sind.
total_contablenumber | nullIn die Buchungswährung umgerechneter Gesamtbetrag.
notasstring | nullInterne Notizen; der Kunde sieht sie nicht.
nota_credito_destring | nullID der Rechnung, die diese Gutschrift korrigiert.
emisoranySteuerdaten des Ausstellers.
receptoranySteuerdaten des Kunden, der die Rechnung erhält.
descuentoobject | nullRabatt auf das Dokument, vor Steuern angewendet und auf die Positionen verteilt; null, wenn keiner vorhanden ist. subtotal ist bereits netto.
conceptosobject[]Rechnungspositionen mit ihrer Steuer.
pagosobject[]Eingegangene Zahlungen.

POST/api/v1/facturas/{id}

Ausstellen, senden, stornieren, Zahlung erfassen oder Gutschrift erstellenscope: write

FeldTypBeschreibung
action erforderlich"finalize" | "send" | "void" | "payment" | "credit_note"Auszuführende Aktion; jede setzt den richtigen vorherigen Status voraus und ist mit Idempotency-Key idempotent.
montonumberBetrag in der durch moneda angegebenen Währung.
monedastringWährung der Beträge nach ISO 4217.
metodostringZahlungsmethode: transferencia, efectivo, tarjeta…
referenciastringReferenz der Zahlung oder des Anbieters.
motivostringGrund, von einer Person verfasst.
sin_comercio_exteriorbooleanMexiko, beim Ausstellen (finalize): true bestätigt, dass ein CFDI mit Waren für einen Kunden im Ausland keine endgültige Ausfuhr ist. Ohne diesen Wert antwortet diese Ausstellung mit 409 und dem Code comercio_exterior, weil Cord das Außenhandelskomplement nicht erstellt.
curl -X POST https://cordhq.app/api/v1/facturas/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"action":"finalize"}'
Antwort: data
idstringKennung (UUID).

Forderungsmanagement

GET/api/v1/cobranza

Offene Forderungenscope: read

curl https://cordhq.app/api/v1/cobranza \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
resumenanySummen auf einen Blick.
aginganyOffene Forderungen nach Alter in vier festen Stufen: vigente (noch nicht fällig), d30 (1–30 Tage überfällig), d60 (31–60) und d60p (mehr als 60). Jede enthält key, label, monto und n.
itemsany[]Positionen.
clientesanySaldo nach Kunden gruppiert.

Ereignisse

GET/api/v1/events

Ereignisverlaufscope: readCursor-Paginierung

Abfrageparameter: limit, cursor, type, object_id

curl https://cordhq.app/api/v1/events \
  -H "Authorization: Bearer sk_test_..."
Antwort: data[]
idstringKennung (UUID).
typestringEreignistyp, z. B. quote.approved.
objectstringObjekttyp: quote, invoice, client, product, task, promise…
object_idstring | nullID des betroffenen Objekts.
dataobjectInhalt der Antwort oder des Ereignisses.
actorstring | nullWer es ausgelöst hat: user, api, mcp, client (der Empfänger des öffentlichen Links) oder system.
created_atstringErstellungsdatum, ISO 8601.

Aufgaben

POST/api/v1/tareas

Aufgabe erstellenscope: write

FeldTypBeschreibung
titulo erforderlichstringWas zu tun ist.
due_datestringFälligkeitsdatum, YYYY-MM-DD.
cotizacion_idstringID des zugehörigen Angebots.
factura_idstringID der zugehörigen Rechnung (die `id` aus /facturas).
curl -X POST https://cordhq.app/api/v1/tareas \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"titulo":"…"}'
Antwort: data
idstringKennung (UUID).

Workflows

POST/api/v1/workflows/{id}/invoke

Einen Workflow „Sie starten ihn“ für Angebote oder Rechnungen ausführenscope: write

FeldTypBeschreibung
objeto erforderlich"quote" | "invoice"Dokumentart: quote (Angebot) oder invoice (Rechnung); sie muss zum Auslöser des Workflows passen.
ids erforderlichstring[]Kennungen (UUID) der Dokumente, 1 bis 50.
curl -X POST https://cordhq.app/api/v1/workflows/ID/invoke \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"objeto":"quote","ids":["…"]}'
Antwort: data
documentosnumberWie viele der gesendeten Dokumente in der Organisation existieren.
corridasnumberWie viele Ausführungen gestartet wurden: Ein Dokument, das den Filter des Workflows nicht erfüllt oder schon einmal darin war, zählt nicht.

Webhooks

GET/api/v1/webhooks

Von diesem Schlüssel erstellte Endpointsscope: read

curl https://cordhq.app/api/v1/webhooks \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).
urlstringHTTPS-URL, die die Ereignisse empfängt.
eventosstring[]Liste von Ereignissen oder Ereignistypen. Leer = alle.
activobooleanfalse, wenn deaktiviert: bleibt erhalten, wird aber nicht verwendet.
created_atstringErstellungsdatum, ISO 8601.

POST/api/v1/webhooks

Endpoint erstellen (das Secret wird nur einmal zurückgegeben)scope: write

FeldTypBeschreibung
url erforderlichstringHTTPS-URL, die die Ereignisse empfängt.
eventosstring[]Liste von Ereignissen oder Ereignistypen. Leer = alle.
curl -X POST https://cordhq.app/api/v1/webhooks \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"url":"…"}'
Antwort: data
idstringKennung (UUID).
urlstringHTTPS-URL, die die Ereignisse empfängt.
eventosstring[]Liste von Ereignissen oder Ereignistypen. Leer = alle.
activobooleanfalse, wenn deaktiviert: bleibt erhalten, wird aber nicht verwendet.
created_atstringErstellungsdatum, ISO 8601.
secretstringSecret zur Prüfung der Signatur. Wird nur einmal angezeigt.

DELETE/api/v1/webhooks/{id}

Endpoint löschenscope: write

curl -X DELETE https://cordhq.app/api/v1/webhooks/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).

Elements

GET/api/v1/elements/config

Konfiguration, die Cord Elements darstelltAkzeptiert pk_scope: read

curl https://cordhq.app/api/v1/elements/config \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
object"elements_config"Objekttyp: quote, invoice, client, product, task, promise…
orgobjectOrganisation, der der Schlüssel gehört.
monedasstring[]Währungen, die das Unternehmen in Angeboten anbietet.
impuestosobjectSteuern des Dokuments oder Steuerkatalog.
terminos"contado" | "net7" | "net15" | "net30" | "net45" | "net60" | "net90"[]Zahlungsbedingungen: contado oder net<N> (N Tage Zahlungsziel: 7, 15, 30, 45, 60 oder 90).
terminos_default"contado" | "net7" | "net15" | "net30" | "net45" | "net60" | "net90"Standard-Zahlungsbedingungen.
vigencia_dias_defaultnumberStandardgültigkeit in Tagen.
fiscalobjectSteuerdaten.

POST/api/v1/elements/ai-draft

KI-Positionen per Streaming (text/event-stream)Akzeptiert pk_scope: write

FeldTypBeschreibung
textostringFreitext der Bestellung.
archivostringJPG, PNG oder PDF, max. 4 MB.
curl -X POST https://cordhq.app/api/v1/elements/ai-draft \
  -H "Authorization: Bearer sk_test_..." \
  -F "texto=5 sacos de cemento y 2 de arena"

Antwortet mit text/event-stream und den Ereignissen item, done und error.

Testmodus

POST/api/v1/test_helpers/fiscal

Ergebnis der nächsten Ausstellung erzwingenNur sk_test_scope: write

FeldTypBeschreibung
siguiente_resultado erforderlich"exito" | "pac_caido" | "receptor_invalido" | "certificado_vencido" | "timbre_duplicado"Ergebnis der nächsten steuerlichen Ausstellung in der Testumgebung.
curl -X POST https://cordhq.app/api/v1/test_helpers/fiscal \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"siguiente_resultado":"exito"}'
Antwort: data
siguiente_resultadostringErgebnis der nächsten steuerlichen Ausstellung in der Testumgebung.

POST/api/v1/test_helpers/cotizaciones/{id}

Aufruf oder Ablauf simulierenNur sk_test_scope: write

FeldTypBeschreibung
accion erforderlich"vista" | "vencer"Was simuliert wird: vista (der Kunde öffnet den Link) oder vencer (das Angebot läuft ab).
curl -X POST https://cordhq.app/api/v1/test_helpers/cotizaciones/ID \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"accion":"vista"}'
Antwort: data
idstringKennung (UUID).

POST/api/v1/test_helpers/webhooks

Webhook auslösenNur sk_test_scope: write

FeldTypBeschreibung
evento erforderlichstringEreignistyp, z. B. quote.approved.
objeto_idstringID eines Angebots oder einer Rechnung aus der Testumgebung; ohne Angabe werden Beispieldaten verwendet.
curl -X POST https://cordhq.app/api/v1/test_helpers/webhooks \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"evento":"…"}'
Antwort: data
eventostringEreignistyp, z. B. quote.approved.
datos"real" | "ejemplo"real, wenn die Daten des angegebenen Objekts verwendet wurden; ejemplo bei erfundenen Beispieldaten.

POST/api/v1/test_helpers/listen

Sitzung für cord listen öffnenNur sk_test_scope: write

FeldTypBeschreibung
eventosstring[]Liste von Ereignissen oder Ereignistypen. Leer = alle.
curl -X POST https://cordhq.app/api/v1/test_helpers/listen \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{}'
Antwort: data
idstringKennung (UUID).
secretstringSecret zur Prüfung der Signatur. Wird nur einmal angezeigt.
eventosstring[]Liste von Ereignissen oder Ereignistypen. Leer = alle.
expirastringAblaufdatum, ISO 8601.

GET/api/v1/test_helpers/listen/{id}

Ereignisse der Sitzung abholenNur sk_test_scope: write

curl https://cordhq.app/api/v1/test_helpers/listen/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
event_idstringID des Ereignisses; deduplizieren Sie anhand dieser ID.
eventostringEreignistyp, z. B. quote.approved.
bodystringRoher Body des Ereignisses; leiten Sie ihn unverändert weiter, damit die Signatur gültig bleibt.
headersobjectHeader, die unverändert weitergeleitet werden, einschließlich der Signatur X-Cord-Signature-V1.

DELETE/api/v1/test_helpers/listen/{id}

Sitzung für cord listen schließenNur sk_test_scope: write

curl -X DELETE https://cordhq.app/api/v1/test_helpers/listen/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
idstringKennung (UUID).

Einrichtung

POST/api/v1/setup/plans

Kontoeinrichtung vorschlagen (eine Person gibt sie unter review_url frei)scope: write

FeldTypBeschreibung
sitiostringWebsite des Unternehmens, z. B. ihrunternehmen.com.
descripcionstringBeschreibung des Unternehmens: Branche, Zahlungsziele, erhobene oder einbehaltene Steuern.
archivoobjectPreisliste (Excel, CSV, PDF oder Foto) in Base64, bis 3 MB.
curl -X POST https://cordhq.app/api/v1/setup/plans \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{}'
Antwort: data
object"setup_plan"Objekttyp: quote, invoice, client, product, task, promise…
idstringKennung (UUID).
estado"generando" | "propuesto" | "aplicado" | "descartado" | "fallido"propuesto wartet auf die Freigabe durch eine Person unter review_url.
review_urlstringSeite, auf der eine angemeldete Person den Vorschlag prüft und anwendet. Die API wendet ihn nie an.

GET/api/v1/setup/plans/{id}

Status eines Einrichtungsvorschlagsscope: read

curl https://cordhq.app/api/v1/setup/plans/ID \
  -H "Authorization: Bearer sk_test_..."
Antwort: data
object"setup_plan"Objekttyp: quote, invoice, client, product, task, promise…
idstringKennung (UUID).
estado"generando" | "propuesto" | "aplicado" | "descartado" | "fallido"propuesto wartet auf die Freigabe durch eine Person unter review_url.
review_urlstringSeite, auf der eine angemeldete Person den Vorschlag prüft und anwendet. Die API wendet ihn nie an.