Factuarea APIDevelopers
Contrato

Una sola ventana de rotura: eje y payload

Los recursos de empresa y de cuenta pasan a la URL, los importes viajan como cadenas decimales, la fecha de cobro cambia de nombre, X-Active-Profile se rechaza y la cuenta pasa a ser el cliente. Todas las operaciones que toca la ventana —519— recurso por recurso.

30 de septiembre de 2026 — el contrato de la v1 rompe en cinco sitios a la vez, y esta publicación anuncia los cinco juntos porque son una sola migración: el código que tocas por cualquiera de ellos es el que tocas por los otros cuatro. No habrá una segunda ventana.

  • El eje viaja en la URL. Un recurso de empresa vive ahora bajo /v1/companies/{company}/… y uno de cuenta bajo /v1/accounts/{account}/…. La empresa efectiva deja de deducirse de la credencial y va en la ruta, donde se ve, se registra y se audita.
  • Los importes viajan como cadenas decimales. Cada campo monetario de un payload publicado es una cadena, ya no un número JSON.
  • La fecha de cobro cambia de nombre. paid_at y paid_on desaparecen del payload publicado. Una factura y una factura de compra publican paid_recorded_at y paid_date.
  • X-Active-Profile queda retirada. Una petición que aún lleve la cabecera se rechaza con 400 parameter_unknown, subcódigo retired_active_profile_header, antes de llegar al controlador.
  • La cuenta pasa a ser el cliente. Un NIF cambia de manos con un traspaso (nif-transfers), las personas de una cuenta son miembros con grants por NIF, un NIF extra es un NIF adicional (paid_until sustituye a seat_paid_until, y tres códigos de error cambian de nombre), y se retiran las API keys emitidas por empresa y las escrituras del catálogo de impuestos.

Adapta una vez. Un cliente que escriba el segmento del eje en la URL, lea los importes como cadenas, use los nuevos nombres de las fechas, deje de enviar la cabecera y trate las operaciones y los códigos que se listan abajo ya ha terminado con esta ventana. No hay modo de compatibilidad, ni campo en paralelo, ni una segunda rotura.

Esta página enumera todas las operaciones que la ventana toca, recurso por recurso: 519 filas en total — 49 nuevas, 294 movidas al eje con solo su ruta cambiada, 161 movidas con cambios añadidos, 11 retiradas y 4 intactas. Una ruta es su verbo y su path, así que las treinta y tres operaciones de la tabla de verbos cuentan como movidas aunque no cambie nada más en ellas. El contrato resultante, junto con las operaciones que se sumaron después al eje, publica 664 operaciones vivas en 51 recursos, y cada cifra de esta página sale de ese contrato, no de un resumen suyo.

De dónde sale el id de la empresa

El segmento de empresa lleva el id opaco de la empresa, nunca su NIF. GET /v1/me publica una entrada por cada NIF que alcanza tu credencial, y su id es exactamente lo que va en la ruta:

{
  "data": {
    "object": "me",
    "account": {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a00",
      "name": "Asesoría Martínez",
      "environment": "live",
      "is_provider": true,
      "privileged_scopes": [
        "accounts:read",
        "accounts:write"
      ]
    },
    "api_key": {
      "id": "019e81ef-e1d4-7208-a51d-94c2c2a54a84",
      "name": "Producción",
      "prefix": "fact_live_1OSf9KdP",
      "scopes": [
        "account:read",
        "series:read",
        "series:write"
      ],
      "tier": "scale",
      "environment": "live",
      "created_at": "2026-01-15T09:30:00Z",
      "last_used_at": "2026-05-25T18:00:00Z",
      "expires_at": null
    },
    "scope": [
      {
        "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01",
        "tax_id": "B12345674",
        "name": "Acme Corporation"
      },
      {
        "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a02",
        "tax_id": "B87654323",
        "name": "Acme Logística S.L."
      }
    ],
    "client_accounts": [
      {
        "id": "0199a1f0-1c22-7a10-b111-5a5b5c5d5e5f",
        "name": "Construcciones Ruiz",
        "origin": "granted",
        "access_level": "view",
        "status": "active",
        "paid_by_provider": false,
        "environment": "live"
      },
      {
        "id": "0199a1f0-1c22-7a10-b111-6a6b6c6d6e6f",
        "name": "Talleres García",
        "origin": "provisioned",
        "access_level": "operate",
        "status": "provisioned",
        "paid_by_provider": true,
        "environment": "live"
      }
    ],
    "client_accounts_visible": true,
    "client_accounts_has_more": false
  }
}

GET /v1/me es además el sustituto de GET /v1/account, que ya no existe, y no exige ningún scope: cualquier credencial válida puede introspeccionarse. data.account.id va en el segmento de cuenta; cada data.scope[].id va en el segmento de empresa. Cuando tu cuenta provisiona cuentas gestionadas, o otras cuentas le cedieron acceso, data.client_accounts[] lista las cuentas de clientes que alcanza, con su origin, su access_level y su status y si tu cuenta las paga. Solo se rellena cuando la clave lleva el scope privilegiado accounts:read: sin él la lista va vacía y client_accounts_visible es false. Llámalo una vez al arrancar y guarda la correspondencia: es estable.

Eje de empresa — /v1/companies/{company}/<recurso>

Del segmento de empresa cuelgan 44 familias de recursos, 359 rutas y 432 de las operaciones de la ventana:

RecursoRutasOperaciones
absence-balances22
absence-calendar11
absence-policies810
absence-requests56
absence-types46
automations1518
billing11
census-verification11
connected-accounts24
contacts2327
delivery-notes1822
emails33
employee-invitations34
employees68
events22
face-submissions22
holidays33
integrations33
invoices4552
monthly-time-record-closes79
payouts22
personalization22
presence33
price-lists913
products3141
proformas1620
purchase-invoices1318
quotes1620
recurring-invoices1518
request-logs22
series1112
shopify11
stores25
stripe-autoinvoicing34
tax-reports99
taxes1111
time-balances33
time-corrections45
time-entries99
time-tracking-settings12
verifactu2425
webhook-endpoints811
woocommerce11
work-schedules911
Total359432

Eje de cuenta — /v1/accounts/{account}/<recurso>

El segmento de cuenta lleva el id de tu propia cuenta, data.account.id de GET /v1/me; en una lista cerrada de rutas admite también el id de una cuenta gestionada tuya. Del segmento cuelgan 16 familias de recursos, 49 rutas y 65 de las operaciones de la ventana:

RecursoRutasOperaciones
access-level11
api-keys56
claim-tokens11
companies1013
employee-seats55
gestoria11
invitations35
management11
members511
nif-transfers34
owner11
plan22
provisioning-usage11
request-logs22
usage11
webhooks710
Total4965

claim-tokens conserva su fila en la tabla, pero ya no es el traspaso de NIF: POST /v1/accounts/{account}/claim-tokens reemite el vale de reclamación de una cuenta gestionada. El traspaso es nif-transfers, y sus scopes y sus códigos se renombran igual: nif_transfers:read, nif_transfers:write, nif_transfer_expired y nif_transfer_invalid. Las rutas claim-tokens del traspaso, los scopes claim_tokens:* y los códigos claim_token_* de las compilaciones previas de este contrato no existen en el definitivo.

Raíz — sin eje

Diez rutas no pertenecen ni a una empresa ni al eje de tu propia cuenta, y entre todas llevan once operaciones. Cinco son introspección y catálogos, y solo una se movió: GET /v1/me sustituye a GET /v1/account. Las otras cinco son la raíz de aprovisionamiento, nueva en esta ventana: ahí el recurso es una cuenta gestionada o una importación masiva, así que no cuelga de ningún eje.

RutaQué es
GET /v1/meIntrospección de la credencial autenticada: su cuenta, su API key, sus scopes efectivos y cada NIF que alcanza, cada uno con su id opaco, más las cuentas de clientes que alcanza por una relación. No exige ningún scope. Sustituye a GET /v1/account, y los ajustes por empresa que devolvía aquella (company, plan, addon y personalization) ya no forman parte de ella: viven en el eje de empresa.
GET /v1/event-catalogCatálogo de tipos de evento a los que puedes suscribir un webhook endpoint de empresa.
GET /v1/payment-methodsCatálogo de métodos de pago admitidos en un documento.
GET /v1/payroll-export-formatsCatálogo de formatos de exportación de nómina para el cierre mensual.
GET /v1/tax-catalogCatálogo de tipos impositivos españoles, sin empresa propia.
GET /v1/accountsLista las cuentas gestionadas que tu cuenta ha provisionado, en el entorno de la clave.
POST /v1/accountsProvisiona una cuenta separada para uno de tus clientes, con su NIF, su plan y el nivel de acceso que conserva tu cuenta sobre ella. Cada cuenta lleva tu external_ref; la operación es irreversible y exige Idempotency-Key.
GET /v1/accounts/{account}Detalle de una cuenta gestionada: su estado, su entorno, su plan, tu nivel de acceso sobre ella, sus NIF y el estado de la gestión.
GET /v1/accounts/imports/templatePlantilla CSV de la importación masiva de cuentas gestionadas.
POST /v1/accounts/imports/previewVista previa de una importación masiva sin ningún efecto: cada fila vuelve con su estado y sus errores por columna.
POST /v1/accounts/importsAplica una importación masiva de cuentas gestionadas y NIF propios. Es irreversible y exige Idempotency-Key.

El propio contrato, /v1/openapi.json, también sigue donde estaba.

Cinco trampas antes de reescribir una URL

  1. El guion bajo pasa a guion. Cinco recursos cambian de separador al moverse: tax_reports, purchase_invoices, recurring_invoices, delivery_notes y webhook_endpoints pasan a tax-reports, purchase-invoices, recurring-invoices, delivery-notes y webhook-endpoints. Cuatro segmentos de acción los siguen: dry_run, mark_paid, rotate_secret y test_event pasan a dry-run, mark-paid, rotate-secret y test-event. Ningún segmento de ruta del contrato conserva un guion bajo.
  2. Familias que esperarías en la raíz están en el eje de empresa. Festivos, el catálogo de automatizaciones y sus campos por disparador, la facturación del plan, la verificación censal, la personalización, las entregas de correo, los eventos, los registros de peticiones y los cuatro listados de estados de documento (invoices, quotes, proformas y delivery-notes publican cada uno su statuses) parecen catálogos globales y no lo son: su respuesta depende de la empresa.
  3. {company} no siempre es el eje, y {account} no siempre es la cuenta. En /v1/accounts/{account}/companies/{company}/… —los NIF de una cartera— y en /v1/accounts/{account}/members/{member}/grants/{company} —el grant de un miembro sobre un NIF—, {company} es el recurso al que apuntas, así que lo escribes aunque tu credencial alcance una sola empresa. Y en /v1/companies/{company}/connected-accounts/{account}, {account} es una cuenta conectada de Stripe. Catorce operaciones llevan los dos parámetros: distínguelos por la ruta, nunca por el nombre del parámetro.
  4. Los webhooks de empresa, los eventos, los correos, los registros de peticiones y la facturación del plan son recursos de empresa, no de cuenta. En el eje de cuenta están las API keys, los miembros (con sus grants y su acceso por módulo), las invitaciones, los traspasos de NIF, los asientos de empleado, la cartera de NIF, su consumo, su titular, las rutas de aprovisionamiento de una cuenta gestionada y, nuevos en esta ventana, los webhooks y los registros de peticiones de la propia cuenta: /v1/accounts/{account}/webhooks no es /v1/companies/{company}/webhook-endpoints, y sus operaciones difieren. Consulta la guía de webhooks de cuenta.
  5. Bajo /v1/accounts/{account}/…, {account} es tu propia cuenta. Solo una lista cerrada de rutas admite también el id de una cuenta gestionada tuya —las rutas de aprovisionamiento y los datos de sus NIF—; cualquier otro id de cuenta, exista o no, responde el mismo 404 account_not_found. La raíz de aprovisionamiento es distinta: en /v1/accounts y en GET /v1/accounts/{account} la cuenta es el propio recurso. Consulta la guía de cuentas gestionadas.

Dieciséis operaciones que la ventana añade

Abren el eje de cuenta, que no tenía superficie pública propia más allá de las API keys: el traspaso de NIF, el equipo con sus invitaciones, la titularidad, el consumo y, bajo la cartera, la aptitud de emisión de un NIF. Son rutas nuevas, así que nada de lo que hoy existe rompe por ellas.

No son las únicas operaciones nuevas. La ventana publica 49 en total, y las otras treinta y tres pertenecen al modelo de cuentas —aprovisionamiento y cuentas gestionadas, importación masiva, webhooks y registros de peticiones de cuenta, los grants de un miembro sobre cada NIF y la revocación de un traspaso, entre otras—. La nota de la publicación modelo de cuentas las describe, y sus filas están en el inventario del final de esta página.

OperaciónScopeQué hace
GET /v1/accounts/{account}/nif-transfersnif_transfers:readLista los traspasos de NIF que ha emitido tu cuenta, con su estado (active, expired, revoked o consumed). Los traspasos recibidos de otras cuentas no se listan nunca.
POST /v1/accounts/{account}/nif-transfersnif_transfers:writeEmite un traspaso sobre un NIF de la cuenta y devuelve su secret una sola vez. Caduca a las 24 horas salvo que pases un expires_at (hasta 7 días), y recipient_account_id lo cierra a una sola cuenta. Irreversible, y exige Idempotency-Key.
POST /v1/accounts/{account}/nif-transfers/acceptnif_transfers:writeCanjea un traspaso con su secret y mueve el NIF a la cuenta que lo presenta, donde cuenta como NIF adicional salvo que la cuenta se registrara sin ninguno. Irreversible. Un traspaso vencido responde 422 nif_transfer_expired; cualquier otro secreto inservible responde 422 nif_transfer_invalid.
GET /v1/accounts/{account}/invitationsinvitations:readLista las invitaciones de la cuenta, que puedes filtrar por status (pending, accepted, revoked o expired).
POST /v1/accounts/{account}/invitationsinvitations:writeInvita a una persona por correo con un role de cuenta (admin o member) y la lista de grants que un member tiene sobre los NIF de la cuenta. Exige Idempotency-Key.
POST /v1/accounts/{account}/invitations/{invitation}/resendinvitations:writeEmite un nuevo secreto de aceptación para una invitación pendiente y renueva su plazo; el anterior deja de funcionar. Una invitación fuera de plazo responde 422 invitation_expired. Exige Idempotency-Key.
DELETE /v1/accounts/{account}/invitations/{invitation}invitations:writeRevoca una invitación pendiente; nunca retira a un miembro existente. Una que no existe o es de otra cuenta responde 404 invitation_not_found.
GET /v1/accounts/{account}/membersmembers:readLista a las personas del equipo de la cuenta, con su role de cuenta (owner, admin o member), su marca external_advisor y los grants de cada member.
POST /v1/accounts/{account}/membersmembers:writeAñade a una persona al equipo de la cuenta con un role de cuenta (admin o member) y la lista obligatoria de grants, sin pasar por una invitación. La titularidad se transfiere, nunca se asigna.
PATCH /v1/accounts/{account}/members/{member}members:writeCambia el role de cuenta de un miembro, su marca external_advisor, o ambos. El titular no puede cambiar de rol: la titularidad se transfiere.
DELETE /v1/accounts/{account}/members/{member}members:writeRetira a una persona de todo el equipo de la cuenta: deja de alcanzar todos los NIF de la cuenta y pierde sus grants. Irreversible. El titular de la cuenta responde 422 member_is_last_owner: transfiere antes la titularidad.
GET /v1/accounts/{account}/members/{member}/module-accessmembers:readLee las restricciones por módulo de un miembro en un NIF, que pasas en el parámetro de query obligatorio company_id.
PATCH /v1/accounts/{account}/members/{member}/module-accessmembers:writeSustituye el conjunto completo de restricciones por módulo de un miembro en un NIF (company_id); un objeto restrictions vacío las levanta todas.
PATCH /v1/accounts/{account}/owneraccount:ownerEntrega la titularidad de la cuenta a otro miembro, que se indica en owner_user_id; el titular saliente pasa a admin. Irreversible, y exige Idempotency-Key. Quien no es el titular actual recibe 403 owner_transfer_forbidden.
GET /v1/accounts/{account}/usageaccount:readConsumo de la cuenta en el periodo en curso: peticiones totales, documentos totales y el desglose por cada NIF que alcanza tu credencial.
GET /v1/accounts/{account}/companies/{company}/issuing-readinesscompanies:readDice si un NIF de la cartera ya puede emitir: un veredicto can_issue y una lista cerrada de blockers (censo, serie por defecto, perfil fiscal, certificado VeriFactu y otros), resueltos en una llamada. Nunca informa de la facturación.

Los códigos invitation_expired, invitation_not_found, member_is_last_owner, nif_transfer_expired y nif_transfer_invalid forman parte de los treinta y siete códigos de error nuevos que se listan más abajo.

Once operaciones que la ventana retira

Cinco son las API keys emitidas por empresa, que desaparecen. Una key es una credencial de la cuenta, no de una de sus empresas, y las operaciones que sobreviven lo dicen en la ruta y en el scope: api_keys:read / api_keys:write dejan paso a account:read / account:write, que es lo que ya usaba el eje de cuenta.

AntesAhora
GET /v1/companies/{company}/api-keys · api_keys:readGET /v1/accounts/{account}/api-keys · account:read
POST /v1/companies/{company}/api-keys · api_keys:writePOST /v1/accounts/{account}/api-keys · account:write
GET /v1/companies/{company}/api-keys/{api_key} · api_keys:readGET /v1/accounts/{account}/api-keys/{api_key} · account:read
POST /v1/companies/{company}/api-keys/{api_key}/rotate-secret · api_keys:writePOST /v1/accounts/{account}/api-keys/{api_key}/rotate-secret · account:write
DELETE /v1/companies/{company}/api-keys/{api_key} · api_keys:writePOST /v1/accounts/{account}/api-keys/{api_key}/revoke · account:write

scoped_company_ids es un campo nuevo del body de POST /v1/accounts/{account}/api-keys: ahí es donde se restringe una key a una parte de la cartera, que es justo lo que hacía la ruta por empresa.

El catálogo de impuestos pasa a ser de solo lectura

Las otras seis operaciones retiradas son las escrituras del catálogo de impuestos. El catálogo es común a toda la plataforma, así que una credencial de empresa que lo editaba lo editaba para todas las empresas; ahora solo lo escribe la administración de la plataforma.

OperaciónAntesScope
public-api.v1.taxes.createPOST /v1/taxestaxes:write
public-api.v1.taxes.deleteDELETE /v1/taxes/{tax}taxes:delete
public-api.v1.taxes.updatePUT /v1/taxes/{tax}taxes:write
public-api.v1.taxes.set_defaultPOST /v1/taxes/{tax}/set-defaulttaxes:write
public-api.v1.taxes.set_default_for_documentPUT /v1/taxes/{tax}/set-default/{docType}taxes:write
public-api.v1.taxes.togglePOST /v1/taxes/{tax}/toggletaxes:write

No tienen sustituto. Las lecturas se quedan: GET /v1/companies/{company}/taxes y sus hermanas en el eje de empresa, y GET /v1/tax-catalog en la raíz. Una llamada a una escritura retirada responde 405 method_not_allowed donde su ruta aún sirve una lectura, y 404 route_not_found donde no. Los scopes taxes:write y taxes:delete siguen en el catálogo de scopes, pero ninguna operación los exige ya: concederlos no da acceso a nada.

Clientes y proveedores siguen retirados

/v1/clients y /v1/suppliers se retiraron antes de esta ventana, con la llegada de los contactos canónicos, y no vuelven en el eje. Un NIF es un contacto, y los roles customer y supplier se acumulan sobre él:

  • Clientes: GET /v1/companies/{company}/contacts?roles[]=customer
  • Proveedores: GET /v1/companies/{company}/contacts?roles[]=supplier

Las familias de scopes clients:* y suppliers:* quedan sustituidas por contacts:read, contacts:write y contacts:delete.

Treinta y tres operaciones cambian de verbo

Treinta y dos pasan de PUT a PATCH: ya aceptaban un body parcial, así que el verbo mentía. El body no cambia; solo el método. La actualización de facturas recurrentes es una de ellas: todos los campos son opcionales y el omitido se conserva. La restante, contacts.restore, pasa a POST: es una acción sin body, como archive y unarchive, no una actualización parcial. Tras esta ventana el único PUT del contrato es una operación nueva, PUT /v1/accounts/{account}/members/{member}/grants/{company}, que crea o sustituye el grant de un miembro sobre un NIF.

OperaciónAntesAhora
public-api.v1.absence-policies.updatePUT /v1/absence-policies/{absence_policy}PATCH /v1/companies/{company}/absence-policies/{absence_policy}
public-api.v1.absence-types.updatePUT /v1/absence-types/{absence_type}PATCH /v1/companies/{company}/absence-types/{absence_type}
public-api.v1.automations.rules.updatePUT /v1/automations/rules/{rule}PATCH /v1/companies/{company}/automations/rules/{rule}
public-api.v1.contacts.change_contact_role_statusPUT /v1/contacts/{contact}/roles/{role}/statusPATCH /v1/companies/{company}/contacts/{contact}/roles/{role}/status
public-api.v1.contacts.restorePUT /v1/contacts/{contact}/restorePOST /v1/companies/{company}/contacts/{contact}/restore
public-api.v1.contacts.updatePUT /v1/contacts/{contact}PATCH /v1/companies/{company}/contacts/{contact}
public-api.v1.contacts.update_bank_accountsPUT /v1/contacts/{contact}/bank-accountsPATCH /v1/companies/{company}/contacts/{contact}/bank-accounts
public-api.v1.contacts.update_customer_profilePUT /v1/contacts/{contact}/customer-profilePATCH /v1/companies/{company}/contacts/{contact}/customer-profile
public-api.v1.contacts.update_supplier_profilePUT /v1/contacts/{contact}/supplier-profilePATCH /v1/companies/{company}/contacts/{contact}/supplier-profile
public-api.v1.delivery_notes.public_link.updatePUT /v1/delivery_notes/{delivery_note}/public-linkPATCH /v1/companies/{company}/delivery-notes/{delivery_note}/public-link
public-api.v1.delivery_notes.updatePUT /v1/delivery_notes/{delivery_note}PATCH /v1/companies/{company}/delivery-notes/{delivery_note}
public-api.v1.employees.updatePUT /v1/employees/{employee}PATCH /v1/companies/{company}/employees/{employee}
public-api.v1.invoices.public_link_updatePUT /v1/invoices/{invoice}/public-linkPATCH /v1/companies/{company}/invoices/{invoice}/public-link
public-api.v1.invoices.updatePUT /v1/invoices/{invoice}PATCH /v1/companies/{company}/invoices/{invoice}
public-api.v1.price-lists.updatePUT /v1/price-lists/{priceList}PATCH /v1/companies/{company}/price-lists/{priceList}
public-api.v1.products.presentations.updatePUT /v1/products/{product}/presentations/{presentation}PATCH /v1/companies/{company}/products/{product}/presentations/{presentation}
public-api.v1.products.supplier-offers.updatePUT /v1/products/{product}/supplier-offers/{offer}PATCH /v1/companies/{company}/products/{product}/supplier-offers/{offer}
public-api.v1.products.updatePUT /v1/products/{product}PATCH /v1/companies/{company}/products/{product}
public-api.v1.products.update_stockPUT /v1/products/{product}/stockPATCH /v1/companies/{company}/products/{product}/stock
public-api.v1.products.variants.updatePUT /v1/products/{product}/variants/{variant}PATCH /v1/companies/{company}/products/{product}/variants/{variant}
public-api.v1.proformas.public_link_updatePUT /v1/proformas/{proforma}/public-linkPATCH /v1/companies/{company}/proformas/{proforma}/public-link
public-api.v1.proformas.updatePUT /v1/proformas/{proforma}PATCH /v1/companies/{company}/proformas/{proforma}
public-api.v1.purchase_invoices.updatePUT /v1/purchase_invoices/{purchase_invoice}PATCH /v1/companies/{company}/purchase-invoices/{purchase_invoice}
public-api.v1.quotes.public_link_updatePUT /v1/quotes/{quote}/public-linkPATCH /v1/companies/{company}/quotes/{quote}/public-link
public-api.v1.quotes.updatePUT /v1/quotes/{quote}PATCH /v1/companies/{company}/quotes/{quote}
public-api.v1.recurring_invoices.updatePUT /v1/recurring_invoices/{recurring_invoice}PATCH /v1/companies/{company}/recurring-invoices/{recurring_invoice}
public-api.v1.stores.updatePUT /v1/stores/{store}PATCH /v1/companies/{company}/stores/{store}
public-api.v1.stripe_autoinvoicing.accounts.updatePUT /v1/connected-accounts/{account}PATCH /v1/companies/{company}/connected-accounts/{account}
public-api.v1.stripe_autoinvoicing.config.updatePUT /v1/stripe-autoinvoicing/configPATCH /v1/companies/{company}/stripe-autoinvoicing/config
public-api.v1.time_tracking_settings.updatePUT /v1/time-tracking-settingsPATCH /v1/companies/{company}/time-tracking-settings
public-api.v1.verifactu.settings.updatePUT /v1/verifactu/settingsPATCH /v1/companies/{company}/verifactu/settings
public-api.v1.webhook_endpoints.updatePUT /v1/webhook_endpoints/{webhook_endpoint}PATCH /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}
public-api.v1.work_schedules.updatePUT /v1/work-schedules/{schedule}PATCH /v1/companies/{company}/work-schedules/{schedule}

Treinta y siete códigos de error nuevos

El catálogo pasa de 376 a 410 códigos: llegan treinta y siete y se retiran tres (siguiente sección). Treinta de los nuevos pertenecen a la superficie de cuenta, cuatro a la puerta del NIF adicional, dos al acceso que tiene sobre un NIF la persona que emitió una key, y uno a los webhooks de cuenta.

CódigoEstadoTipoSignificado
access_level_raise_forbidden422invalid_request_errorSe intentó subir el nivel de acceso sobre una cuenta gestionada cuyo titular ya la reclamó. Desde la reclamación solo el titular puede subir ese nivel; el proveedor solo puede bajarlo.
account_webhook_endpoint_limit_reached422invalid_request_errorLa cuenta alcanzó el número de endpoints de webhook de cuenta que permite su tramo en ese entorno. El tope se cuenta por cuenta y por entorno (live o test) e incluye los endpoints desactivados: solo se libera una plaza al borrar un endpoint.
additional_nif_charge_failed402payment_required_errorEl cobro inmediato del NIF adicional fue rechazado: la tarjeta se denegó, necesita autenticación, o el proveedor de pago estaba inaccesible. Si no se cobra, el NIF no se añade ni se activa y no queda ningún cargo.
additional_nif_not_in_plan403authorization_errorLa cuenta tiene un plan vigente, pero ese plan no incluye NIF adicionales: solo Empresario y Enterprise (también en prueba) los admiten. No se ha cobrado nada ni se ha escrito ningún cambio.
additional_nif_plan_required402payment_required_errorLa cuenta no tiene un plan vigente, así que no hay suscripción sobre la que cobrar el NIF adicional. No se ha cobrado nada ni se ha escrito ningún cambio.
billing_managed_by_provider403authorization_errorLa facturación de esta cuenta la paga otra cuenta, así que esta no puede contratar por su cuenta un NIF adicional. No se ha cobrado nada ni se ha escrito ningún cambio.
company_read_only403authorization_errorQuien emitió la credencial tiene acceso de solo lectura (nivel view) a la empresa efectiva: su rol en la cuenta le permite ver ese NIF, no escribir en él. El nivel efectivo es el menor entre el guardado en la credencial y el que la persona tiene hoy.
emitter_capability_restricted403authorization_errorLa persona que emitió la credencial tiene retirada, en la empresa efectiva, la sección o la acción que exige la operación. Es la misma restricción por módulo que el administrador de la empresa le puso en la aplicación web, y se aplica aunque su nivel de acceso al NIF sea operate.
enterprise_contract_transition_required422invalid_request_errorLa cuenta gestionada tiene un contrato enterprise y, al terminar la gestión, su pago pasaría al titular sin que Factuarea haya fijado todavía el plan con el que continúa. Nunca se crea una suscripción sin precio, así que no se ha cambiado nada.
external_advisor_already_assigned422invalid_request_errorLa cuenta ya tiene un asesor externo marcado: solo puede haber uno por cuenta.
grant_company_not_in_account422invalid_request_errorEl NIF del grant no es un NIF real de la cuenta o queda fuera del ámbito de NIF de la credencial. La respuesta es la misma en los dos casos, sin revelar cuál.
grants_only_for_member422invalid_request_errorSolo un miembro con rol member puede tener permisos por NIF (grants). El titular (owner) y los administradores (admin) alcanzan todos los NIF de la cuenta, así que un grant sobre ellos no significaría nada.
import_file_invalid422invalid_request_errorUno de los ficheros de la importación no se puede leer con el formato de la plantilla: no es un CSV legible, su cabecera no aparece en las 20 primeras líneas, le falta una columna obligatoria o tiene una línea rota. param indica qué fichero falla (accounts_file o customers_file) y el mensaje, la columna o la línea. No se ha escrito nada.
import_file_too_large413invalid_request_errorUno de los ficheros de la importación supera los 5 MB. El tamaño se comprueba antes de leer ninguna fila, así que no se ha procesado ni escrito nada. param indica qué fichero falla (accounts_file o customers_file).
import_in_progress409conflict_errorYa hay una importación masiva de esta cuenta proveedora en curso. Las importaciones de una misma cuenta se aplican de una en una para no crear cuentas, cargos ni NIF por duplicado, así que esta no se ha aplicado ni ha escrito nada.
import_row_limit_exceeded422invalid_request_errorUno de los ficheros de la importación trae más filas de las que admite una importación: 100 en el fichero de cuentas (accounts_file) y 1.000 en el de clientes (customers_file). Las filas se cuentan antes de leerlas, así que no se ha procesado ni escrito nada. param indica qué fichero falla.
invitation_expired422invalid_request_errorLa invitación existe y es de esta empresa, pero su ventana de aceptación ya se cerró, así que quien la recibió no puede canjearla.
invitation_not_found404not_found_errorEl identificador no corresponde a ninguna invitación pendiente de la empresa autenticada: puede haberse cancelado, haberse aceptado ya o pertenecer a otra empresa.
live_credential_required403authorization_errorUna clave de pruebas intentó modificar una cuenta de producción. Solo ocurre en las operaciones que cambian la cuenta —miembros, invitaciones, titularidad, traspasos de NIF, cartera de NIF, claves y asientos—: una clave de pruebas no puede alterar datos reales.
managed_account_external_ref_in_other_environment409conflict_errorLa referencia externa ya la usa una cuenta gestionada del otro entorno (real o de pruebas). La referencia es única entre los dos entornos, y la respuesta no nombra esa cuenta porque este entorno no la lista. No se ha escrito nada.
managed_account_not_claimable422invalid_request_errorLa cuenta gestionada es de pruebas, y una cuenta de pruebas nunca se reclama: no tiene vale de reclamación que emitir ni que reemitir.
managed_account_plan_not_self_serve422invalid_request_errorSe pidió el plan enterprise para una cuenta gestionada. Una cuenta gestionada se crea o se cambia en emprendedor o empresario; enterprise solo lo asigna Factuarea por contrato.
managed_account_provider_in_trial422invalid_request_errorLa cuenta proveedora está en periodo de prueba y pidió una cuenta gestionada real, que se cobra. Durante la prueba solo se pueden crear cuentas gestionadas de pruebas.
managed_accounts_limit_reached422invalid_request_errorLa cuenta proveedora ya tiene tantas cuentas gestionadas reales con la gestión vigente como admite su tope. Las cuentas gestionadas de pruebas no cuentan para ese tope.
member_is_last_owner422invalid_request_errorLa operación dejaría el NIF sin ninguna persona que lo administre: el miembro que se da de baja, o que se degrada a un rol sin administración, es el último con rol owner o admin en ese NIF.
member_not_found404not_found_errorEl identificador no corresponde a ningún miembro del equipo de la cuenta: o esa persona nunca perteneció a la empresa autenticada, o es de otra. La superficie de cuenta responde igual en ambos casos.
nif_transfer_expired422invalid_request_errorEl traspaso de NIF se emitió de verdad, pero su plazo de validez venció. A diferencia de un traspaso no reconocido, esta respuesta solo le llega a quien ya tenía uno real, así que no revela nada nuevo.
nif_transfer_invalid422invalid_request_errorEl traspaso de NIF presentado no autoriza nada: su secreto está mal copiado, truncado, ya consumido o nunca se emitió. Todos esos casos responden igual a propósito, para que la operación no sirva para sondear qué traspasos existen.
owner_transfer_forbidden403authorization_errorQuien hace la petición no está autorizado a transferir la titularidad de la cuenta: o no es el titular actual, o el destinatario propuesto no puede recibirla. Es cuestión de permiso, no de payload mal formado.
privileged_scope_required403authorization_errorLa operación exige el privilegio de proveedor de cuentas (accounts:read o accounts:write) y no se cumple: o la cuenta de la clave no lo tiene concedido, o la persona que emitió la clave ya no es propietaria ni administradora de la cuenta. Las dos causas responden igual.
provisioning_account_claimed409conflict_errorEl titular ya reclamó esta cuenta gestionada y la administra por su cuenta: ya no se puede reclamar otra vez, reemitir su vale de reclamación ni volver a provisionarla con la misma referencia externa.
relation_already_exists422invalid_request_errorYa hay un acceso pendiente o vigente entre estas dos cuentas, y solo puede haber uno abierto por cada pareja de cuentas.
relation_company_not_in_grantor422invalid_request_errorLa lista de NIF del acceso no es válida: o nombra un NIF que no pertenece a la cuenta que cede el acceso, o viene vacía. El error señala el campo company_ids y no dice cuál de los NIF falla.
relation_invitation_expired422invalid_request_errorLa invitación de acceso existe y sigue pendiente, pero su plazo de aceptación venció, así que ya no se puede aceptar.
relation_invitation_invalid422invalid_request_errorLa invitación de acceso presentada no sirve: su secreto no existe, ya se usó, se revocó o va dirigida a otra cuenta. Todos esos casos responden igual a propósito, para que la operación no sirva para sondear invitaciones ajenas.
relation_self_grant_not_allowed422invalid_request_errorLa cuenta indicada no puede recibir el acceso: o es la misma cuenta que lo cede, o el identificador no corresponde a una cuenta válida. Los dos casos responden igual.
relation_transition_not_allowed422invalid_request_errorEl acceso entre cuentas está en un estado que no admite el cambio pedido: por ejemplo, aceptar uno que ya está vigente o reenviar la invitación de uno que ya terminó.

nif_transfer_expired y nif_transfer_invalid ocupan el lugar de claim_token_expired y claim_token_invalid, los códigos del traspaso claim-tokens de las compilaciones previas, que ya no existen.

Aparte, 190 de las operaciones que ya existían documentan ahora un 404 que antes no documentaban: un segmento de eje que nombra una empresa o una cuenta que tu credencial no alcanza responde 404, no 403, de modo que la API nunca confirma la existencia de una empresa que no puedes ver. Toda operación del eje de empresa documenta 404 profile_not_found para ello; una cuenta que no alcanzas responde 404 account_not_found.

Tres códigos de error que la ventana retira

El NIF adicional sustituye al cargo por asiento de cada empresa y a sus puertas de plan y de módulo, así que tres códigos salen del catálogo. Ramifica según el sustituto: el estado y el error.type son los mismos en cada pareja.

Código retiradoEstadoLo sustituye
gestoria_module_required403additional_nif_not_in_plan (403)
gestoria_plan_required402additional_nif_plan_required (402)
seat_charge_failed402additional_nif_charge_failed (402)

Payload: importes, fechas y cobertura

Cada importe es una cadena decimal

123 propiedades monetarias repartidas en 40 esquemas publicados pasan de número JSON a cadena: totales, subtotales de línea, impuestos, retenciones, recargos, precios y costes unitarios, importes cobrados y pendientes, estadísticas, cifras de payouts, vistas previas de cargo y los umbrales de la factura simplificada. La cadena lleva dos decimales, punto como separador, sin separador de millares ni símbolo de moneda; la moneda conserva su campo currency. La única excepción es el unit_price de una línea de documento, que conserva la escala de cuatro decimales con la que se guarda ("100.0000"), de modo que leer una línea y reenviarla nunca cambia su precio; los importes derivados de la línea (subtotal, taxes y total) conservan dos.

{
  "object": "invoice",
  "subtotal": "1000.00",
  "total_vat": "210.00",
  "total": "1210.00",
  "paid_amount": "1210.00",
  "pending_amount": "0.00",
  "currency": "EUR"
}

Un número JSON no declara escala: 1210 vuelve como 1210, 1210.0 o 1209.9999999999998 según quién lo parsee. Lee cada campo de dinero a un tipo decimal de precisión fija — Decimal en Python, un big decimal o unidades mínimas en JavaScript — y jamás a un float binario. Los esquemas afectados son BusinessContactActivity, CompanySeatChargePreview, DeliveryNote, DeliveryNoteLine, DeliveryNoteStats, EmployeeSeatBillingStatus, EmployeeSeatChargePreview, EventDataInvoicePaid, Invoice, InvoiceCorrective, InvoiceLine, InvoicePaymentDetail, InvoiceReminderPreview, InvoiceStats, ProductSalesAnalytics, ProductVariant, Proforma, ProformaLine, ProformaStats, PurchaseInvoice, PurchaseInvoiceLine, PurchaseInvoicePayment, PurchaseInvoiceStats, Quote, QuoteLine, QuoteStats, RecurringInvoice, RecurringInvoiceLine, RecurringInvoicePreviewDate, RecurringInvoiceStats, SimplifiedInvoiceEligibility, Store, StripeAutoinvoicedCorrective, StripeAutoinvoicedPayment, StripePayout, SupplierProductOffer, TaxCalculation, TaxTotals, TaxTotalsLine y VeriFactuRecord.

La fecha de cobro cambia de nombre

paid_at y paid_on desaparecen del payload publicado. No se emiten en paralelo ni se mantienen como alias: el sufijo _at marca un instante, y cada nombre canónico dice ahora de qué fecha se trata.

Antes leíasAhora lees
paid_at en una facturapaid_recorded_at (date-time), el instante en que se registró el cobro
paid_on en una facturapaid_date (date), la fecha de cobro declarada
paid_at en una factura de comprapaid_date (date), la fecha de pago declarada, y paid_recorded_at (date-time), el instante en que se registró el pago
paid_on en un pago de factura de comprapaid_date (date)

El body de la petición no cambia: mark-paid y el registro de pagos siguen tomando paid_on, una fecha YYYY-MM-DD, y el listado de facturas filtra por paid_on[gte], paid_on[lte], paid_on[gt] y paid_on[lt]. Envías paid_on y lees paid_date y paid_recorded_at.

La cobertura pagada de un NIF cambia de nombre

El recurso Company pierde seat_paid_until y publica paid_until: la fecha hasta la que el NIF está cubierto como NIF adicional de la cuenta (ISO 8601). Vale null cuando el NIF nunca se cobró o su cobertura caducó, y reactivarlo antes de esa fecha es gratis. El recurso gana además readiness, el mismo veredicto y los mismos bloqueos que issuing-readiness, y suspension_reason: payer_blocked cuando la cuenta que paga una cuenta gestionada tiene su facturación bloqueada, management_ended cuando la gestión terminó antes de que nadie asumiera el pago, y null en cualquier otro caso.

Las respuestas de creación declaran Location

Cuarenta y una operaciones responden 201 Created con una cabecera Location: la URL canónica, relativa al servidor, del recurso que creó la petición, con el segmento del eje dentro —para una factura, /v1/companies/{company}/invoices/{invoice} con los dos ids rellenos—. La cabecera no es nueva en el cable: veintidós de esas operaciones ya la enviaban sin declararla, y ahora el contrato lo dice. Cuatro de las cuarenta y una son operaciones nuevas. Sigue Location en vez de reconstruir la URL a partir de la respuesta.

La cabecera que ya no existe

X-Active-Profile se rechaza por presencia, nunca por su valor: un id bien formado, el id de una empresa que no alcanzas, un valor mal formado y una cadena vacía reciben el mismo error.

CampoValor
Estado400
error.codeparameter_unknown
error.typeinvalid_request_error
error.paramX-Active-Profile
error.subcoderetired_active_profile_header

Ignorar la cabecera habría sido la opción «compatible» peligrosa: la llamada saldría bien y emitiría el documento con el NIF del titular de la credencial en vez del que pretendías, sin ninguna señal.

# Antes
curl https://api.factuarea.com/v1/invoices \
  -H "Authorization: Bearer $FACTUAREA_API_KEY" \
  -H "X-Active-Profile: $COMPANY_ID"

# Ahora
curl https://api.factuarea.com/v1/companies/$COMPANY_ID/invoices \
  -H "Authorization: Bearer $FACTUAREA_API_KEY"

Todo identificador público es un UUID v7

Todo id que devuelve la API, y todo identificador de una ruta, es un UUID v7: ordenado en el tiempo, así que ordenar por id sigue el orden de creación. Hay un único formato, sea cual sea el recurso.

  • Los registros nuevos reciben siempre un UUID v7, también las facturas que se emiten automáticamente a partir de cobros de Stripe.
  • Los identificadores que creas tú —el id de una configuración, un grupo de opciones o un valor de opción nuevos en products.create y products.update— tienen que ser UUID v7. Cualquier otra versión se rechaza con 422; un elemento existente conserva su identificador.
  • Unos pocos registros antiguos —algunos documentos, configuraciones de producto y certificados de VeriFactu creados antes de que UUID v7 fuera la norma— reciben un UUID v7 nuevo en esta ventana. El id antiguo deja de responder en la API, así que vuelve a leer esos registros desde sus listados si guardaste sus ids. Los enlaces públicos de documentos que ya enviaste siguen funcionando y abren el documento con su identificador nuevo.

Idempotencia tras la mudanza

El mecanismo de replay no cambia y crece con la superficie. Las 287 escrituras publican Idempotent-Replayed y repiten la respuesta de una key repetida, y 130 declaran Idempotency-Key como obligatoria — trece más que antes de la ventana, porque el eje de cuenta y la superficie de aprovisionamiento suman escrituras irreversibles (emitir, canjear y revocar un traspaso de NIF, retirar a un miembro, transferir la titularidad, crear una cuenta gestionada, terminar su gestión, cambiar su plan, reemitir su vale, aplicar una importación, rotar el secreto de un webhook de cuenta y borrarlo) y unas pocas más que no son irreversibles pero merecen la misma protección (enviar y reenviar una invitación, reintentar la entrega de un webhook de cuenta y probar un endpoint). 69 quedan marcadas como irreversibles, nueve más que antes.

CódigoEstadoSignificado
idempotency_key_reused422Esa key ya se usó con otro payload. Una key identifica una operación concreta, así que reutilizarla para otra dejaría el replay sin sentido.
idempotency_key_required422La operación produce un efecto que no se puede deshacer y faltaba la cabecera. Se rechaza antes de ejecutar nada de negocio.
idempotency_key_in_use409Otra petición con la misma key sigue en vuelo y su resultado aún no se conoce.
idempotency_key_invalid400La key no tiene entre 1 y 255 caracteres ASCII imprimibles.

idempotency_key_reused es la que se movió: antes de esta ventana respondía 409, y ahora responde 422. La huella a la que se ata una key incluye la ruta, así que la misma key enviada a /v1/invoices y a /v1/companies/{company}/invoices no es un replay. Mientras migras, genera una key nueva por llamada en vez de reutilizar las que ya tenga tu cola. Lee la guía de idempotencia.

CLI, SDK de PHP y SDK de Node

Los tres se generan desde este contrato y se regeneran contra él: las rutas de recurso de la CLI, los métodos de operación del SDK de PHP y los del SDK de Node toman el segmento del eje como primer argumento, los importes vuelven como cadenas y la cabecera retirada ya no tiene opción en ninguno. Sus notas de versión apuntan a esta página en vez de describir una rotura propia.

Lista de migración

  1. Llama a GET /v1/me y guarda data.account.id y cada data.scope[].id. Si trabajas para cuentas de clientes, lee también data.client_accounts[]: lista las cuentas que cedieron acceso a la tuya y las cuentas gestionadas que provisionaste, con el nivel que tienes sobre cada una.
  2. Reescribe tus rutas base: recursos de empresa bajo /v1/companies/{company}/…, recursos de cuenta bajo /v1/accounts/{account}/…, la raíz de aprovisionamiento y las cinco rutas de catálogo e introspección en la raíz. Vigila los cinco renombrados de guion bajo a guion y los cuatro segmentos de acción que pierden el guion bajo.
  3. Cambia PUT por PATCH en las treinta y dos operaciones de la tabla de verbos, y llama a contacts.restore con POST.
  4. Quita X-Active-Profile de tu cliente. Si la usabas para operar sobre varias empresas, el segmento de empresa hace eso mismo por petición, sin cabecera.
  5. Lee cada campo de dinero como cadena hacia un tipo decimal de precisión fija, con el unit_price de cuatro decimales de las líneas; lee paid_recorded_at y paid_date donde leías paid_at y paid_on, y sigue enviando paid_on; lee paid_until donde leías seat_paid_until.
  6. Lleva cualquier llamada a las API keys de una empresa a /v1/accounts/{account}/api-keys, restringe la key con scoped_company_ids y cambia api_keys:* por account:read / account:write en tus keys.
  7. Cambia claim-tokens por nif-transfers si integraste el traspaso de NIF contra una compilación previa: scopes nif_transfers:read y nif_transfers:write, códigos nif_transfer_expired y nif_transfer_invalid.
  8. Trata los códigos de la puerta del NIF adicional: additional_nif_charge_failed donde tratabas seat_charge_failed, additional_nif_plan_required donde tratabas gestoria_plan_required, additional_nif_not_in_plan donde tratabas gestoria_module_required, y billing_managed_by_provider para una cuenta cuya facturación paga otra cuenta.
  9. Trata los 403 del modelo de cuentas: privileged_scope_required, live_credential_required, company_read_only, emitter_capability_restricted, owner_transfer_forbidden, additional_nif_not_in_plan y billing_managed_by_provider. Ramifica según code, no según message.
  10. Deja de llamar a las escrituras del catálogo de impuestos: léelo con GET /v1/companies/{company}/taxes o GET /v1/tax-catalog.
  11. Añade los treinta y siete códigos nuevos y parameter_unknown a tu manejo de errores, lee idempotency_key_reused como un 422, y trata un 404 en un segmento de eje como «fuera de alcance», no como un fallo pasajero.
  12. Repite tu integración con una key fact_test_ antes de mover tráfico real.
  13. Si guardaste ids de registros creados antes de la ventana, vuelve a leerlos desde los listados: los pocos que aún tenían una versión de UUID antigua tienen ahora un UUID v7.

Lee Importes y fechas, Alcanzar un NIF por el segmento de empresa, Cuentas y NIF, NIF adicionales y Errores.

Cada operación, recurso por recurso

Operaciones: 519 — 49 nuevas, 294 movidas al eje, 161 movidas con otros cambios, 11 retiradas, 4 sin cambios.

Los cambios que alcanzan a 50 o más operaciones a la vez no se repiten en las filas de abajo: se documentan aquí una sola vez, con el número de operaciones que toca cada uno. Todo lo demás que cambió en una operación está en su fila.

CambioOperaciones
código de error 400 parameter_unknown/retired_active_profile_header documentado459
código de error 400 unsupported_api_version documentado459
código de error 403 company_inactive documentado432
código de error 404 profile_not_found documentado432
código de error 400 parameter_invalid_format documentado430
respuesta 400 añadida426
código de error 422 idempotency_key_reused documentado260
el código de error 409 idempotency_key_reused deja de documentarse210
respuesta 404 añadida190
código de error 404 resource_not_found documentado187
respuesta 409 retirada181
código de error 422 invalid_param_format documentado160
código de error 422 idempotency_key_required documentado114
el código de error 409 resource_conflict deja de documentarse59
código de error 409 resource_conflict documentado54
parámetro X-Active-Profile retirado459
parámetro de ruta {company} añadido432
parámetro de ruta {account} añadido22
importes y unit_price pasan a cadena decimal147

Saldos de ausencia

Operaciones: 2 — 0 nuevas, 2 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.absence-balances.list — Ruta movidaGET /v1/absence-balancesGET /v1/companies/{company}/absence-balances—
public-api.v1.absence-balances.show — Ruta movidaGET /v1/absence-balances/{absence_balance}GET /v1/companies/{company}/absence-balances/{absence_balance}—

Calendario de ausencias

Operaciones: 1 — 0 nuevas, 1 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.absence-calendar.show — Ruta movidaGET /v1/absence-calendarGET /v1/companies/{company}/absence-calendar—

Políticas de ausencia

Operaciones: 10 — 0 nuevas, 7 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.absence-policies.archive — CambiadaPOST /v1/absence-policies/{absence_policy}/archivePOST /v1/companies/{company}/absence-policies/{absence_policy}/archiverespuestas añadidas: 422
public-api.v1.absence-policies.assign — Ruta movidaPOST /v1/absence-policies/{absence_policy}/assignPOST /v1/companies/{company}/absence-policies/{absence_policy}/assign—
public-api.v1.absence-policies.assignments — Ruta movidaGET /v1/absence-policies/{absence_policy}/assignmentsGET /v1/companies/{company}/absence-policies/{absence_policy}/assignments—
public-api.v1.absence-policies.carryover — Ruta movidaPOST /v1/absence-policies/{absence_policy}/carryoverPOST /v1/companies/{company}/absence-policies/{absence_policy}/carryover—
public-api.v1.absence-policies.create — CambiadaPOST /v1/absence-policiesPOST /v1/companies/{company}/absence-policiescabecera Location declarada en 201
public-api.v1.absence-policies.list — Ruta movidaGET /v1/absence-policiesGET /v1/companies/{company}/absence-policies—
public-api.v1.absence-policies.show — Ruta movidaGET /v1/absence-policies/{absence_policy}GET /v1/companies/{company}/absence-policies/{absence_policy}—
public-api.v1.absence-policies.unarchive — CambiadaPOST /v1/absence-policies/{absence_policy}/unarchivePOST /v1/companies/{company}/absence-policies/{absence_policy}/unarchiverespuestas añadidas: 422
public-api.v1.absence-policies.unassign — Ruta movidaPOST /v1/absence-policies/{absence_policy}/unassignPOST /v1/companies/{company}/absence-policies/{absence_policy}/unassign—
public-api.v1.absence-policies.update — Ruta movidaPUT /v1/absence-policies/{absence_policy}PATCH /v1/companies/{company}/absence-policies/{absence_policy}verbo PUT → PATCH

Solicitudes de ausencia

Operaciones: 6 — 0 nuevas, 4 movidas al eje, 2 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.absence-requests.approve — Ruta movidaPOST /v1/absence-requests/{absence_request}/approvePOST /v1/companies/{company}/absence-requests/{absence_request}/approve—
public-api.v1.absence-requests.cancel — CambiadaPOST /v1/absence-requests/{absence_request}/cancelPOST /v1/companies/{company}/absence-requests/{absence_request}/cancelrespuestas añadidas: 422
public-api.v1.absence-requests.create — CambiadaPOST /v1/absence-requestsPOST /v1/companies/{company}/absence-requestscabecera Location declarada en 201
public-api.v1.absence-requests.list — Ruta movidaGET /v1/absence-requestsGET /v1/companies/{company}/absence-requests—
public-api.v1.absence-requests.reject — Ruta movidaPOST /v1/absence-requests/{absence_request}/rejectPOST /v1/companies/{company}/absence-requests/{absence_request}/reject—
public-api.v1.absence-requests.show — Ruta movidaGET /v1/absence-requests/{absence_request}GET /v1/companies/{company}/absence-requests/{absence_request}—

Tipos de ausencia

Operaciones: 6 — 0 nuevas, 3 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.absence-types.archive — CambiadaPOST /v1/absence-types/{absence_type}/archivePOST /v1/companies/{company}/absence-types/{absence_type}/archiverespuestas añadidas: 422
public-api.v1.absence-types.create — CambiadaPOST /v1/absence-typesPOST /v1/companies/{company}/absence-typescabecera Location declarada en 201
public-api.v1.absence-types.list — Ruta movidaGET /v1/absence-typesGET /v1/companies/{company}/absence-types—
public-api.v1.absence-types.show — Ruta movidaGET /v1/absence-types/{absence_type}GET /v1/companies/{company}/absence-types/{absence_type}—
public-api.v1.absence-types.unarchive — CambiadaPOST /v1/absence-types/{absence_type}/unarchivePOST /v1/companies/{company}/absence-types/{absence_type}/unarchiverespuestas añadidas: 422
public-api.v1.absence-types.update — Ruta movidaPUT /v1/absence-types/{absence_type}PATCH /v1/companies/{company}/absence-types/{absence_type}verbo PUT → PATCH

Cuenta

Operaciones: 57 — 47 nuevas, 4 movidas al eje, 6 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.account.api_keys.create — CambiadaPOST /v1/account/api-keysPOST /v1/accounts/{account}/api-keyscampos nuevos del cuerpo: scoped_company_ids; cabecera Location declarada en 201; data.secret puede ser null; códigos de error documentados: 404 account_not_found
public-api.v1.account.api_keys.list — CambiadaGET /v1/account/api-keysGET /v1/accounts/{account}/api-keyscódigos de error documentados: 404 account_not_found
public-api.v1.account.api_keys.revoke — CambiadaPOST /v1/account/api-keys/{api_key}/revokePOST /v1/accounts/{account}/api-keys/{api_key}/revokecódigos de error documentados: 404 account_not_found
public-api.v1.account.api_keys.rotate_secret — CambiadaPOST /v1/account/api-keys/{api_key}/rotate_secretPOST /v1/accounts/{account}/api-keys/{api_key}/rotate-secretdata.secret puede ser null; códigos de error documentados: 404 account_not_found
public-api.v1.account.api_keys.show — CambiadaGET /v1/account/api-keys/{api_key}GET /v1/accounts/{account}/api-keys/{api_key}códigos de error documentados: 404 account_not_found
public-api.v1.account.api_keys.update_nif_scope — Nueva—PATCH /v1/accounts/{account}/api-keys/{api_key}/nif-scopeNueva
public-api.v1.account.billing — Ruta movidaGET /v1/account/billingGET /v1/companies/{company}/billing—
public-api.v1.account.invitations.cancel — Nueva—DELETE /v1/accounts/{account}/invitations/{invitation}Nueva
public-api.v1.account.invitations.create — Nueva—POST /v1/accounts/{account}/invitationsNueva
public-api.v1.account.invitations.list — Nueva—GET /v1/accounts/{account}/invitationsNueva
public-api.v1.account.invitations.resend — Nueva—POST /v1/accounts/{account}/invitations/{invitation}/resendNueva
public-api.v1.account.invitations.show — Nueva—GET /v1/accounts/{account}/invitations/{invitation}Nueva
public-api.v1.account.members.create — Nueva—POST /v1/accounts/{account}/membersNueva
public-api.v1.account.members.delete — Nueva—DELETE /v1/accounts/{account}/members/{member}Nueva
public-api.v1.account.members.grants.delete — Nueva—DELETE /v1/accounts/{account}/members/{member}/grants/{company}Nueva
public-api.v1.account.members.grants.list — Nueva—GET /v1/accounts/{account}/members/{member}/grantsNueva
public-api.v1.account.members.grants.show — Nueva—GET /v1/accounts/{account}/members/{member}/grants/{company}Nueva
public-api.v1.account.members.grants.update — Nueva—PUT /v1/accounts/{account}/members/{member}/grants/{company}Nueva
public-api.v1.account.members.list — Nueva—GET /v1/accounts/{account}/membersNueva
public-api.v1.account.members.module_access.show — Nueva—GET /v1/accounts/{account}/members/{member}/module-accessNueva
public-api.v1.account.members.module_access.update — Nueva—PATCH /v1/accounts/{account}/members/{member}/module-accessNueva
public-api.v1.account.members.show — Nueva—GET /v1/accounts/{account}/members/{member}Nueva
public-api.v1.account.members.update — Nueva—PATCH /v1/accounts/{account}/members/{member}Nueva
public-api.v1.account.nif_transfers.accept — Nueva—POST /v1/accounts/{account}/nif-transfers/acceptNueva
public-api.v1.account.nif_transfers.create — Nueva—POST /v1/accounts/{account}/nif-transfersNueva
public-api.v1.account.nif_transfers.list — Nueva—GET /v1/accounts/{account}/nif-transfersNueva
public-api.v1.account.nif_transfers.revoke — Nueva—POST /v1/accounts/{account}/nif-transfers/{nif_transfer}/revokeNueva
public-api.v1.account.owner.transfer — Nueva—PATCH /v1/accounts/{account}/ownerNueva
public-api.v1.account.personalization.templates — Ruta movidaGET /v1/account/personalization/templatesGET /v1/companies/{company}/personalization/templates—
public-api.v1.account.personalization.update — Ruta movidaPATCH /v1/account/personalizationPATCH /v1/companies/{company}/personalization—
public-api.v1.account.provisioning_usage — Nueva—GET /v1/accounts/{account}/provisioning-usageNueva
public-api.v1.account.request_logs.list — Nueva—GET /v1/accounts/{account}/request-logsNueva
public-api.v1.account.request_logs.show — Nueva—GET /v1/accounts/{account}/request-logs/{request_id}Nueva
public-api.v1.account.show — CambiadaGET /v1/accountGET /v1/mescope account:read → ninguno; campos nuevos de la respuesta: data.account, data.client_accounts, data.client_accounts_has_more, data.client_accounts_visible, data.scope; campos retirados de la respuesta: data.addon, data.company, data.personalization, data.plan
public-api.v1.account.usage — Nueva—GET /v1/accounts/{account}/usageNueva
public-api.v1.account.verify_census — Ruta movidaPOST /v1/account/census-verificationPOST /v1/companies/{company}/census-verification—
public-api.v1.account.webhooks.create — Nueva—POST /v1/accounts/{account}/webhooksNueva
public-api.v1.account.webhooks.delete — Nueva—DELETE /v1/accounts/{account}/webhooks/{webhook}Nueva
public-api.v1.account.webhooks.deliveries.list — Nueva—GET /v1/accounts/{account}/webhooks/{webhook}/deliveriesNueva
public-api.v1.account.webhooks.deliveries.retry — Nueva—POST /v1/accounts/{account}/webhooks/{webhook}/deliveries/{delivery}/retryNueva
public-api.v1.account.webhooks.deliveries.show — Nueva—GET /v1/accounts/{account}/webhooks/{webhook}/deliveries/{delivery}Nueva
public-api.v1.account.webhooks.list — Nueva—GET /v1/accounts/{account}/webhooksNueva
public-api.v1.account.webhooks.rotate_secret — Nueva—POST /v1/accounts/{account}/webhooks/{webhook}/secretNueva
public-api.v1.account.webhooks.show — Nueva—GET /v1/accounts/{account}/webhooks/{webhook}Nueva
public-api.v1.account.webhooks.test — Nueva—POST /v1/accounts/{account}/webhooks/{webhook}/testNueva
public-api.v1.account.webhooks.update — Nueva—PATCH /v1/accounts/{account}/webhooks/{webhook}Nueva
public-api.v1.managed_accounts.access_level.update — Nueva—PATCH /v1/accounts/{account}/access-levelNueva
public-api.v1.managed_accounts.claim_tokens.create — Nueva—POST /v1/accounts/{account}/claim-tokensNueva
public-api.v1.managed_accounts.create — Nueva—POST /v1/accountsNueva
public-api.v1.managed_accounts.imports.create — Nueva—POST /v1/accounts/importsNueva
public-api.v1.managed_accounts.imports.preview — Nueva—POST /v1/accounts/imports/previewNueva
public-api.v1.managed_accounts.imports.template — Nueva—GET /v1/accounts/imports/templateNueva
public-api.v1.managed_accounts.list — Nueva—GET /v1/accountsNueva
public-api.v1.managed_accounts.management.end — Nueva—DELETE /v1/accounts/{account}/managementNueva
public-api.v1.managed_accounts.plan.preview — Nueva—GET /v1/accounts/{account}/plan/previewNueva
public-api.v1.managed_accounts.plan.update — Nueva—PATCH /v1/accounts/{account}/planNueva
public-api.v1.managed_accounts.show — Nueva—GET /v1/accounts/{account}Nueva

Automatizaciones

Operaciones: 18 — 0 nuevas, 0 movidas al eje, 18 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.automations.catalog.show — CambiadaGET /v1/automations/catalogGET /v1/companies/{company}/automations/catalogcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded
public-api.v1.automations.catalog.trigger_fields — CambiadaGET /v1/automations/catalog/triggers/{trigger}/fieldsGET /v1/companies/{company}/automations/catalog/triggers/{trigger}/fieldscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found
public-api.v1.automations.rules.activate — CambiadaPOST /v1/automations/rules/{rule}/activatePOST /v1/companies/{company}/automations/rules/{rule}/activatecódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.rules.create — CambiadaPOST /v1/automations/rulesPOST /v1/companies/{company}/automations/rulescódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.rules.delete — CambiadaDELETE /v1/automations/rules/{rule}DELETE /v1/companies/{company}/automations/rules/{rule}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.rules.dry_run — CambiadaPOST /v1/automations/rules/{rule}/dry_runPOST /v1/companies/{company}/automations/rules/{rule}/dry-runcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.rules.list — CambiadaGET /v1/automations/rulesGET /v1/companies/{company}/automations/rulescódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 422 invalid_param_format
public-api.v1.automations.rules.pause — CambiadaPOST /v1/automations/rules/{rule}/pausePOST /v1/companies/{company}/automations/rules/{rule}/pausecódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.rules.show — CambiadaGET /v1/automations/rules/{rule}GET /v1/companies/{company}/automations/rules/{rule}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found
public-api.v1.automations.rules.update — CambiadaPUT /v1/automations/rules/{rule}PATCH /v1/companies/{company}/automations/rules/{rule}verbo PUT → PATCH; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.rules.versions.list — CambiadaGET /v1/automations/rules/{rule}/versionsGET /v1/companies/{company}/automations/rules/{rule}/versionscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 422 invalid_param_format
public-api.v1.automations.rules.versions.show — CambiadaGET /v1/automations/rules/{rule}/versions/{version}GET /v1/companies/{company}/automations/rules/{rule}/versions/{version}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found
public-api.v1.automations.runs.list — CambiadaGET /v1/automations/runsGET /v1/companies/{company}/automations/runscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 422 invalid_param_format
public-api.v1.automations.runs.replay — CambiadaPOST /v1/automations/runs/{run}/replayPOST /v1/companies/{company}/automations/runs/{run}/replaycódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.runs.show — CambiadaGET /v1/automations/runs/{run}GET /v1/companies/{company}/automations/runs/{run}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found
public-api.v1.automations.runs.steps.list — CambiadaGET /v1/automations/runs/{run}/stepsGET /v1/companies/{company}/automations/runs/{run}/stepscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 422 invalid_param_format
public-api.v1.automations.runs.steps.replay — CambiadaPOST /v1/automations/runs/{run}/steps/{step_index}/replayPOST /v1/companies/{company}/automations/runs/{run}/steps/{step_index}/replaycódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.automations.usage.show — CambiadaGET /v1/automations/usageGET /v1/companies/{company}/automations/usagecódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded

Empresas

Operaciones: 19 — 2 nuevas, 0 movidas al eje, 12 movidas con otros cambios, 5 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.companies.activate — CambiadaPOST /v1/companies/{company}/activatePOST /v1/accounts/{account}/companies/{company}/activatecampos nuevos de la respuesta: data.paid_until, data.readiness, data.suspension_reason; campos retirados de la respuesta: data.seat_paid_until; códigos de error documentados: 402 additional_nif_charge_failed/additional_nif_charge_failed, 402 additional_nif_plan_required, 403 additional_nif_not_in_plan, 403 billing_managed_by_provider, 403 company_read_only, 404 account_not_found, 422 business_rule_violation/additional_nif_limit_reached
public-api.v1.companies.activate_batch — CambiadaPOST /v1/companies/activatePOST /v1/accounts/{account}/companies/activatecampos nuevos de la respuesta: data[].address, data[].business_name, data[].city, data[].country_aeat_zone, data[].created_at, data[].email, data[].id, data[].logo_url (+11 más); campos retirados de la respuesta: data.address, data.business_name, data.city, data.country_aeat_zone, data.created_at, data.email, data.id, data.logo_url (+9 más); data cambia de tipo (object → array); códigos de error documentados: 402 additional_nif_charge_failed/additional_nif_charge_failed, 402 additional_nif_plan_required, 403 additional_nif_not_in_plan, 403 billing_managed_by_provider, 403 company_read_only, 404 account_not_found, 422 business_rule_violation/additional_nif_limit_reached
public-api.v1.companies.api_keys.create — RetiradaPOST /v1/companies/{company}/api-keys—Retirada
public-api.v1.companies.api_keys.list — RetiradaGET /v1/companies/{company}/api-keys—Retirada
public-api.v1.companies.api_keys.revoke — RetiradaDELETE /v1/companies/{company}/api-keys/{api_key}—Retirada
public-api.v1.companies.api_keys.rotate_secret — RetiradaPOST /v1/companies/{company}/api-keys/{api_key}/rotate-secret—Retirada
public-api.v1.companies.api_keys.show — RetiradaGET /v1/companies/{company}/api-keys/{api_key}—Retirada
public-api.v1.companies.create — CambiadaPOST /v1/companiesPOST /v1/accounts/{account}/companiescampos nuevos de la respuesta: data.paid_until, data.readiness, data.suspension_reason; campos retirados de la respuesta: data.seat_paid_until; cabecera Location declarada en 201; códigos de error documentados: 402 additional_nif_charge_failed/additional_nif_charge_failed, 402 additional_nif_plan_required, 403 additional_nif_not_in_plan, 403 billing_managed_by_provider, 404 account_not_found, 409 resource_already_exists/managed_company_tax_id_already_exists, 422 business_rule_violation/additional_nif_limit_reached
public-api.v1.companies.creation_status — CambiadaGET /v1/companies/{company}/creation-statusGET /v1/accounts/{account}/companies/{company}/creation-statuscódigos de error documentados: 404 account_not_found
public-api.v1.companies.deactivate — CambiadaPOST /v1/companies/{company}/deactivatePOST /v1/accounts/{account}/companies/{company}/deactivaterespuestas añadidas: 422; campos nuevos de la respuesta: data.paid_until, data.readiness, data.suspension_reason; campos retirados de la respuesta: data.seat_paid_until; códigos de error documentados: 403 company_read_only, 404 account_not_found
public-api.v1.companies.delete — CambiadaDELETE /v1/companies/{company}DELETE /v1/accounts/{account}/companies/{company}respuestas añadidas: 422; códigos de error documentados: 403 company_read_only, 404 account_not_found
public-api.v1.companies.issuing_readiness — Nueva—GET /v1/accounts/{account}/companies/{company}/issuing-readinessNueva
public-api.v1.companies.list — CambiadaGET /v1/companiesGET /v1/accounts/{account}/companiesparámetros nuevos: cursor, include, limit, tax_id; campos nuevos de la respuesta: data[].paid_until, data[].readiness, data[].suspension_reason; campos retirados de la respuesta: data[].seat_paid_until; códigos de error documentados: 404 account_not_found
public-api.v1.companies.seat_charge_preview — CambiadaGET /v1/companies/seat-charge-previewGET /v1/accounts/{account}/companies/seat-charge-previewcompany_ids[] pasa a opcional; códigos de error documentados: 404 account_not_found
public-api.v1.companies.show — CambiadaGET /v1/companies/{company}GET /v1/accounts/{account}/companies/{company}campos nuevos de la respuesta: data.paid_until, data.readiness, data.suspension_reason; campos retirados de la respuesta: data.seat_paid_until; códigos de error documentados: 404 account_not_found
public-api.v1.companies.stats — Nueva—GET /v1/accounts/{account}/companies/statsNueva
public-api.v1.companies.update — CambiadaPATCH /v1/companies/{company}PATCH /v1/accounts/{account}/companies/{company}campos nuevos de la respuesta: data.paid_until, data.readiness, data.suspension_reason; campos retirados de la respuesta: data.seat_paid_until; códigos de error documentados: 403 company_read_only, 404 account_not_found
public-api.v1.companies.verify_creation — CambiadaPOST /v1/companies/{company}/verify-creationPOST /v1/accounts/{account}/companies/{company}/verify-creationrespuestas añadidas: 422; códigos de error documentados: 403 company_read_only, 404 account_not_found
public-api.v1.gestoria.workforce_summary — CambiadaGET /v1/gestoria/workforce-summaryGET /v1/accounts/{account}/gestoria/workforce-summarycódigos de error documentados: 404 account_not_found

Contactos

Operaciones: 27 — 0 nuevas, 2 movidas al eje, 25 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.contacts.activities — CambiadaGET /v1/contacts/{contact}/activitiesGET /v1/companies/{company}/contacts/{contact}/activitiescódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 422 invalid_param_format
public-api.v1.contacts.archive — CambiadaPOST /v1/contacts/{contact}/archivePOST /v1/companies/{company}/contacts/{contact}/archiverespuestas añadidas: 422; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.assign_contact_role — CambiadaPOST /v1/contacts/{contact}/roles/{role}POST /v1/companies/{company}/contacts/{contact}/roles/{role}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.bulk_archive — CambiadaPOST /v1/contacts/bulk/archivePOST /v1/companies/{company}/contacts/bulk/archivecódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.bulk_change_contact_role_status — CambiadaPOST /v1/contacts/bulk/statusPOST /v1/companies/{company}/contacts/bulk/statuscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.bulk_create — Ruta movidaPOST /v1/contacts/bulk-createPOST /v1/companies/{company}/contacts/bulk-create—
public-api.v1.contacts.bulk_delete — CambiadaPOST /v1/contacts/bulk-deletePOST /v1/companies/{company}/contacts/bulk-deletecódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.change_contact_role_status — CambiadaPUT /v1/contacts/{contact}/roles/{role}/statusPATCH /v1/companies/{company}/contacts/{contact}/roles/{role}/statusverbo PUT → PATCH; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.create — CambiadaPOST /v1/contactsPOST /v1/companies/{company}/contactsrespuestas añadidas: 201; campos nuevos de la respuesta: data; cabecera Location declarada en 200; cabecera Location declarada en 201; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded
public-api.v1.contacts.delete — CambiadaDELETE /v1/contacts/{contact}DELETE /v1/companies/{company}/contacts/{contact}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.find_by_external_id — CambiadaPOST /v1/contacts/find-by-external-idPOST /v1/companies/{company}/contacts/find-by-external-idcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 404 contact_not_found, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded (+1 más); códigos de error que dejan de documentarse: 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.find_by_tax_id — CambiadaPOST /v1/contacts/find-by-tax-idPOST /v1/companies/{company}/contacts/find-by-tax-idcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 404 contact_not_found, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded (+1 más)
public-api.v1.contacts.import — CambiadaPOST /v1/contacts/importPOST /v1/companies/{company}/contacts/importcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 409 resource_already_exists/external_id_already_exists, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded (+1 más)
public-api.v1.contacts.import_template — CambiadaGET /v1/contacts/import/templateGET /v1/companies/{company}/contacts/import/templatecódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded
public-api.v1.contacts.list — CambiadaGET /v1/contactsGET /v1/companies/{company}/contactscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 422 invalid_param_format
public-api.v1.contacts.options — CambiadaGET /v1/contacts/optionsGET /v1/companies/{company}/contacts/optionscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 422 invalid_param_format
public-api.v1.contacts.preview_import — CambiadaPOST /v1/contacts/import/previewPOST /v1/companies/{company}/contacts/import/previewcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.remove_contact_role — CambiadaDELETE /v1/contacts/{contact}/roles/{role}DELETE /v1/companies/{company}/contacts/{contact}/roles/{role}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.restore — CambiadaPUT /v1/contacts/{contact}/restorePOST /v1/companies/{company}/contacts/{contact}/restoreverbo PUT → POST; respuestas añadidas: 422; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.search — CambiadaGET /v1/contacts/searchGET /v1/companies/{company}/contacts/searchcódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 422 invalid_param_format
public-api.v1.contacts.show — CambiadaGET /v1/contacts/{contact}GET /v1/companies/{company}/contacts/{contact}códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found
public-api.v1.contacts.stats — CambiadaGET /v1/contacts/statsGET /v1/companies/{company}/contacts/statscódigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded
public-api.v1.contacts.update — CambiadaPUT /v1/contacts/{contact}PATCH /v1/companies/{company}/contacts/{contact}verbo PUT → PATCH; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 409 resource_already_exists/external_id_already_exists, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded (+1 más); códigos de error que dejan de documentarse: 404 tax_report_not_found
public-api.v1.contacts.update_bank_accounts — CambiadaPUT /v1/contacts/{contact}/bank-accountsPATCH /v1/companies/{company}/contacts/{contact}/bank-accountsverbo PUT → PATCH; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.update_customer_profile — CambiadaPUT /v1/contacts/{contact}/customer-profilePATCH /v1/companies/{company}/contacts/{contact}/customer-profileverbo PUT → PATCH; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.update_supplier_profile — CambiadaPUT /v1/contacts/{contact}/supplier-profilePATCH /v1/companies/{company}/contacts/{contact}/supplier-profileverbo PUT → PATCH; códigos de error documentados: 401 api_key_expired, 401 ip_not_allowed, 403 forbidden_action, 403 module_not_available_in_sandbox, 403 privileged_scope_required, 429 monthly_quota_exceeded, 429 portfolio_monthly_quota_exceeded, 429 portfolio_rate_limit_exceeded; códigos de error que dejan de documentarse: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists
public-api.v1.contacts.verify_census — Ruta movidaPOST /v1/contacts/census-verificationPOST /v1/companies/{company}/contacts/census-verification—

Albaranes

Operaciones: 22 — 0 nuevas, 19 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.delivery_notes.bulk_delete — Ruta movidaPOST /v1/delivery_notes/bulk-deletePOST /v1/companies/{company}/delivery-notes/bulk-delete—
public-api.v1.delivery_notes.bulk_pdf — Ruta movidaPOST /v1/delivery_notes/bulk-pdfPOST /v1/companies/{company}/delivery-notes/bulk-pdf—
public-api.v1.delivery_notes.bulk_send — Ruta movidaPOST /v1/delivery_notes/bulk-sendPOST /v1/companies/{company}/delivery-notes/bulk-send—
public-api.v1.delivery_notes.bulk_status — Ruta movidaPOST /v1/delivery_notes/bulk-statusPOST /v1/companies/{company}/delivery-notes/bulk-status—
public-api.v1.delivery_notes.cancel — Ruta movidaPOST /v1/delivery_notes/{delivery_note}/cancelPOST /v1/companies/{company}/delivery-notes/{delivery_note}/cancel—
public-api.v1.delivery_notes.convert — CambiadaPOST /v1/delivery_notes/{delivery_note}/convertPOST /v1/companies/{company}/delivery-notes/{delivery_note}/convertcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.delivery_notes.create — Ruta movidaPOST /v1/delivery_notesPOST /v1/companies/{company}/delivery-notes—
public-api.v1.delivery_notes.delete — Ruta movidaDELETE /v1/delivery_notes/{delivery_note}DELETE /v1/companies/{company}/delivery-notes/{delivery_note}—
public-api.v1.delivery_notes.duplicate — CambiadaPOST /v1/delivery_notes/{delivery_note}/duplicatePOST /v1/companies/{company}/delivery-notes/{delivery_note}/duplicaterespuestas añadidas: 422
public-api.v1.delivery_notes.find_by_external_id — Ruta movidaPOST /v1/delivery_notes/find-by-external-idPOST /v1/companies/{company}/delivery-notes/find-by-external-id—
public-api.v1.delivery_notes.list — Ruta movidaGET /v1/delivery_notesGET /v1/companies/{company}/delivery-notes—
public-api.v1.delivery_notes.mark_delivered — Ruta movidaPOST /v1/delivery_notes/{delivery_note}/mark-deliveredPOST /v1/companies/{company}/delivery-notes/{delivery_note}/mark-delivered—
public-api.v1.delivery_notes.pdf — Ruta movidaGET /v1/delivery_notes/{delivery_note}/pdfGET /v1/companies/{company}/delivery-notes/{delivery_note}/pdf—
public-api.v1.delivery_notes.public_link.get — Ruta movidaGET /v1/delivery_notes/{delivery_note}/public-linkGET /v1/companies/{company}/delivery-notes/{delivery_note}/public-link—
public-api.v1.delivery_notes.public_link.update — Ruta movidaPUT /v1/delivery_notes/{delivery_note}/public-linkPATCH /v1/companies/{company}/delivery-notes/{delivery_note}/public-linkverbo PUT → PATCH
public-api.v1.delivery_notes.send — Ruta movidaPOST /v1/delivery_notes/{delivery_note}/sendPOST /v1/companies/{company}/delivery-notes/{delivery_note}/send—
public-api.v1.delivery_notes.show — Ruta movidaGET /v1/delivery_notes/{delivery_note}GET /v1/companies/{company}/delivery-notes/{delivery_note}—
public-api.v1.delivery_notes.sign — Ruta movidaPOST /v1/delivery_notes/{delivery_note}/signPOST /v1/companies/{company}/delivery-notes/{delivery_note}/sign—
public-api.v1.delivery_notes.signature_audits.forget — Ruta movidaPOST /v1/delivery_notes/signature-audits/{auditId}/forgetPOST /v1/companies/{company}/delivery-notes/signature-audits/{auditId}/forget—
public-api.v1.delivery_notes.stats — Ruta movidaGET /v1/delivery_notes/statsGET /v1/companies/{company}/delivery-notes/stats—
public-api.v1.delivery_notes.statuses — Ruta movidaGET /v1/delivery_notes/statusesGET /v1/companies/{company}/delivery-notes/statuses—
public-api.v1.delivery_notes.update — CambiadaPUT /v1/delivery_notes/{delivery_note}PATCH /v1/companies/{company}/delivery-notes/{delivery_note}verbo PUT → PATCH; códigos de error documentados: 409 resource_already_exists/external_id_already_exists

Registros de peticiones

Operaciones: 2 — 0 nuevas, 2 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.developers.request_logs.list — Ruta movidaGET /v1/developers/request-logsGET /v1/companies/{company}/request-logs—
public-api.v1.developers.request_logs.show — Ruta movidaGET /v1/developers/request-logs/{request_id}GET /v1/companies/{company}/request-logs/{request_id}—

Entregas de correo

Operaciones: 3 — 0 nuevas, 3 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.emails.indicators — Ruta movidaGET /v1/emails/indicatorsGET /v1/companies/{company}/emails/indicators—
public-api.v1.emails.list — Ruta movidaGET /v1/emailsGET /v1/companies/{company}/emails—
public-api.v1.emails.show — Ruta movidaGET /v1/emails/{email}GET /v1/companies/{company}/emails/{email}—

Empleados

Operaciones: 17 — 0 nuevas, 8 movidas al eje, 9 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.employee-invitations.cancel — CambiadaDELETE /v1/employee-invitations/{invitation}DELETE /v1/companies/{company}/employee-invitations/{invitation}respuestas añadidas: 422
public-api.v1.employee-invitations.list — Ruta movidaGET /v1/employee-invitationsGET /v1/companies/{company}/employee-invitations—
public-api.v1.employee-invitations.resend — Ruta movidaPOST /v1/employee-invitations/{invitation}/resendPOST /v1/companies/{company}/employee-invitations/{invitation}/resend—
public-api.v1.employee-invitations.send — CambiadaPOST /v1/employee-invitationsPOST /v1/companies/{company}/employee-invitationscabecera Location declarada en 201
public-api.v1.employee-seats.cancel — CambiadaPOST /v1/employee-seats/cancelPOST /v1/accounts/{account}/employee-seats/cancelcódigos de error documentados: 404 account_not_found
public-api.v1.employee-seats.change-quantity — CambiadaPOST /v1/employee-seats/change-quantityPOST /v1/accounts/{account}/employee-seats/change-quantitycódigos de error documentados: 404 account_not_found
public-api.v1.employee-seats.preview — CambiadaGET /v1/employee-seats/previewGET /v1/accounts/{account}/employee-seats/previewcódigos de error documentados: 404 account_not_found
public-api.v1.employee-seats.status — CambiadaGET /v1/employee-seatsGET /v1/accounts/{account}/employee-seatscódigos de error documentados: 404 account_not_found
public-api.v1.employee-seats.subscribe — CambiadaPOST /v1/employee-seats/subscribePOST /v1/accounts/{account}/employee-seats/subscribecódigos de error documentados: 404 account_not_found
public-api.v1.employees.create — CambiadaPOST /v1/employeesPOST /v1/companies/{company}/employeescabecera Location declarada en 201; códigos de error documentados: 409 resource_already_exists/external_id_already_exists
public-api.v1.employees.deactivate — Ruta movidaPOST /v1/employees/{employee}/deactivatePOST /v1/companies/{company}/employees/{employee}/deactivate—
public-api.v1.employees.find_by_external_id — Ruta movidaPOST /v1/employees/find-by-external-idPOST /v1/companies/{company}/employees/find-by-external-id—
public-api.v1.employees.list — Ruta movidaGET /v1/employeesGET /v1/companies/{company}/employees—
public-api.v1.employees.reactivate — Ruta movidaPOST /v1/employees/{employee}/reactivatePOST /v1/companies/{company}/employees/{employee}/reactivate—
public-api.v1.employees.show — Ruta movidaGET /v1/employees/{employee}GET /v1/companies/{company}/employees/{employee}—
public-api.v1.employees.stats — Ruta movidaGET /v1/employees/statsGET /v1/companies/{company}/employees/stats—
public-api.v1.employees.update — CambiadaPUT /v1/employees/{employee}PATCH /v1/companies/{company}/employees/{employee}verbo PUT → PATCH; códigos de error documentados: 409 resource_already_exists/external_id_already_exists

Eventos

Operaciones: 3 — 0 nuevas, 0 movidas al eje, 2 movidas con otros cambios, 0 retiradas, 1 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.event_catalog.list — Sin cambiosGET /v1/event-catalogGET /v1/event-catalogSin cambios
public-api.v1.events.list — CambiadaGET /v1/eventsGET /v1/companies/{company}/eventscampos nuevos de la respuesta: data[].data.object.paid_date, data[].data.object.paid_recorded_at; campos retirados de la respuesta: data[].data.object.paid_at, data[].data.object.paid_on
public-api.v1.events.show — CambiadaGET /v1/events/{event}GET /v1/companies/{company}/events/{event}campos nuevos de la respuesta: data.data.object.paid_date, data.data.object.paid_recorded_at; campos retirados de la respuesta: data.data.object.paid_at, data.data.object.paid_on

FacturaE / FACe

Operaciones: 5 — 0 nuevas, 4 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.face_submissions.cancel — Ruta movidaPOST /v1/face-submissions/{faceSubmission}/cancelPOST /v1/companies/{company}/face-submissions/{faceSubmission}/cancel—
public-api.v1.face_submissions.show — Ruta movidaGET /v1/face-submissions/{faceSubmission}GET /v1/companies/{company}/face-submissions/{faceSubmission}—
public-api.v1.invoices.face_submissions.list — Ruta movidaGET /v1/invoices/{invoice}/face-submissionsGET /v1/companies/{company}/invoices/{invoice}/face-submissions—
public-api.v1.invoices.face_submissions.submit — CambiadaPOST /v1/invoices/{invoice}/face-submissionsPOST /v1/companies/{company}/invoices/{invoice}/face-submissionscódigos de error documentados: 409 resource_already_exists/face_submission_already_exists
public-api.v1.invoices.facturae — Ruta movidaGET /v1/invoices/{invoice}/facturaeGET /v1/companies/{company}/invoices/{invoice}/facturae—

Festivos

Operaciones: 3 — 0 nuevas, 3 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.holidays.list — Ruta movidaGET /v1/holidaysGET /v1/companies/{company}/holidays—
public-api.v1.holidays.resolve — Ruta movidaGET /v1/holidays/resolveGET /v1/companies/{company}/holidays/resolve—
public-api.v1.holidays.show — Ruta movidaGET /v1/holidays/{holiday}GET /v1/companies/{company}/holidays/{holiday}—

Eventos de integración

Operaciones: 3 — 0 nuevas, 3 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.integrations.events.list — Ruta movidaGET /v1/integrations/eventsGET /v1/companies/{company}/integrations/events—
public-api.v1.integrations.events.replay — Ruta movidaPOST /v1/integrations/events/{event}/replayPOST /v1/companies/{company}/integrations/events/{event}/replay—
public-api.v1.integrations.events.show — Ruta movidaGET /v1/integrations/events/{event}GET /v1/companies/{company}/integrations/events/{event}—

Facturas

Operaciones: 48 — 0 nuevas, 25 movidas al eje, 22 movidas con otros cambios, 0 retiradas, 1 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.invoices.activities — Ruta movidaGET /v1/invoices/{invoice}/activitiesGET /v1/companies/{company}/invoices/{invoice}/activities—
public-api.v1.invoices.annul — CambiadaPOST /v1/invoices/{invoice}/annulPOST /v1/companies/{company}/invoices/{invoice}/annulcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.assign_real_number — CambiadaPOST /v1/invoices/{invoice}/assign-real-numberPOST /v1/companies/{company}/invoices/{invoice}/assign-real-numbercampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.bulk_create — CambiadaPOST /v1/invoices/bulk-createPOST /v1/companies/{company}/invoices/bulk-createcampos nuevos del cuerpo: invoices[].client_id, invoices[].custom_fields, invoices[].due_on, invoices[].external_id, invoices[].issued_on, invoices[].lines, invoices[].metadata, invoices[].metadata{} (+6 más); campos retirados del cuerpo: invoices[][]
public-api.v1.invoices.bulk_delete — Ruta movidaPOST /v1/invoices/bulk-deletePOST /v1/companies/{company}/invoices/bulk-delete—
public-api.v1.invoices.bulk_pdf — Ruta movidaPOST /v1/invoices/bulk-pdfPOST /v1/companies/{company}/invoices/bulk-pdf—
public-api.v1.invoices.bulk_send — Ruta movidaPOST /v1/invoices/bulk-sendPOST /v1/companies/{company}/invoices/bulk-send—
public-api.v1.invoices.bulk_status — Ruta movidaPOST /v1/invoices/bulk-statusPOST /v1/companies/{company}/invoices/bulk-status—
public-api.v1.invoices.can_annul — Ruta movidaGET /v1/invoices/{invoice}/can-annulGET /v1/companies/{company}/invoices/{invoice}/can-annul—
public-api.v1.invoices.corrective — CambiadaPOST /v1/invoices/{invoice}/correctivePOST /v1/companies/{company}/invoices/{invoice}/correctivecampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.correctives — CambiadaGET /v1/invoices/{invoice}/correctivesGET /v1/companies/{company}/invoices/{invoice}/correctivescampos nuevos de la respuesta: data[].paid_date, data[].paid_recorded_at; campos retirados de la respuesta: data[].paid_at, data[].paid_on
public-api.v1.invoices.create — CambiadaPOST /v1/invoicesPOST /v1/companies/{company}/invoicescampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.create_recurring — CambiadaPOST /v1/invoices/{invoice}/create-recurringPOST /v1/companies/{company}/invoices/{invoice}/create-recurringcabecera Location declarada en 201
public-api.v1.invoices.delete — Ruta movidaDELETE /v1/invoices/{invoice}DELETE /v1/companies/{company}/invoices/{invoice}—
public-api.v1.invoices.duplicate — CambiadaPOST /v1/invoices/{invoice}/duplicatePOST /v1/companies/{company}/invoices/{invoice}/duplicaterespuestas añadidas: 422; campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.export_excel — Ruta movidaPOST /v1/invoices/export/excelPOST /v1/companies/{company}/invoices/export/excel—
public-api.v1.invoices.find_by_external_id — CambiadaPOST /v1/invoices/find-by-external-idPOST /v1/companies/{company}/invoices/find-by-external-idcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.find_by_number — CambiadaPOST /v1/invoices/find-by-numberPOST /v1/companies/{company}/invoices/find-by-numbercampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.list — CambiadaGET /v1/invoicesGET /v1/companies/{company}/invoicesparámetros nuevos: paid_on[gt], paid_on[gte], paid_on[lt], paid_on[lte]; campos nuevos de la respuesta: data[].paid_date, data[].paid_recorded_at; campos retirados de la respuesta: data[].paid_at, data[].paid_on
public-api.v1.invoices.mark_paid — CambiadaPOST /v1/invoices/{invoice}/mark-paidPOST /v1/companies/{company}/invoices/{invoice}/mark-paidcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.mark_sent — CambiadaPOST /v1/invoices/{invoice}/mark-sentPOST /v1/companies/{company}/invoices/{invoice}/mark-sentcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.payment_receipt — Ruta movidaGET /v1/invoices/{invoice}/payment-receiptGET /v1/companies/{company}/invoices/{invoice}/payment-receipt—
public-api.v1.invoices.payments_create — Ruta movidaPOST /v1/invoices/{invoice}/paymentsPOST /v1/companies/{company}/invoices/{invoice}/payments—
public-api.v1.invoices.payments_list — Ruta movidaGET /v1/invoices/{invoice}/paymentsGET /v1/companies/{company}/invoices/{invoice}/payments—
public-api.v1.invoices.payments_revert — Ruta movidaPOST /v1/invoices/{invoice}/payments/{payment}/reversalPOST /v1/companies/{company}/invoices/{invoice}/payments/{payment}/reversal—
public-api.v1.invoices.pdf — Ruta movidaGET /v1/invoices/{invoice}/pdfGET /v1/companies/{company}/invoices/{invoice}/pdf—
public-api.v1.invoices.pdf_link — Ruta movidaGET /v1/invoices/{invoice}/pdf-linkGET /v1/companies/{company}/invoices/{invoice}/pdf-link—
public-api.v1.invoices.pdf_preview — Ruta movidaGET /v1/invoices/{invoice}/pdf/previewGET /v1/companies/{company}/invoices/{invoice}/pdf/preview—
public-api.v1.invoices.public_link_get — Ruta movidaGET /v1/invoices/{invoice}/public-linkGET /v1/companies/{company}/invoices/{invoice}/public-link—
public-api.v1.invoices.public_link_update — Ruta movidaPUT /v1/invoices/{invoice}/public-linkPATCH /v1/companies/{company}/invoices/{invoice}/public-linkverbo PUT → PATCH
public-api.v1.invoices.quarterly.available — Ruta movidaGET /v1/invoices/quarterly/available-quartersGET /v1/companies/{company}/invoices/quarterly/available-quarters—
public-api.v1.invoices.quarterly.download_zip — Ruta movidaPOST /v1/invoices/quarterly/download-zipPOST /v1/companies/{company}/invoices/quarterly/download-zip—
public-api.v1.invoices.quarterly.send_email — Ruta movidaPOST /v1/invoices/quarterly/send-emailPOST /v1/companies/{company}/invoices/quarterly/send-email—
public-api.v1.invoices.reminder_preview — Ruta movidaPOST /v1/invoices/{invoice}/reminder-previewPOST /v1/companies/{company}/invoices/{invoice}/reminder-preview—
public-api.v1.invoices.reschedule — CambiadaPATCH /v1/invoices/{invoice}/reschedulePATCH /v1/companies/{company}/invoices/{invoice}/reschedulecampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.schedule — CambiadaPOST /v1/invoices/{invoice}/schedulePOST /v1/companies/{company}/invoices/{invoice}/schedulecampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.send — CambiadaPOST /v1/invoices/{invoice}/sendPOST /v1/companies/{company}/invoices/{invoice}/sendcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.send_reminder — Ruta movidaPOST /v1/invoices/{invoice}/send-reminderPOST /v1/companies/{company}/invoices/{invoice}/send-reminder—
public-api.v1.invoices.show — CambiadaGET /v1/invoices/{invoice}GET /v1/companies/{company}/invoices/{invoice}campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.simplified_eligibility — Ruta movidaPOST /v1/invoices/simplified-eligibilityPOST /v1/companies/{company}/invoices/simplified-eligibility—
public-api.v1.invoices.stats — Ruta movidaGET /v1/invoices/statsGET /v1/companies/{company}/invoices/stats—
public-api.v1.invoices.statuses — Ruta movidaGET /v1/invoices/statusesGET /v1/companies/{company}/invoices/statuses—
public-api.v1.invoices.substitute_simplified — CambiadaPOST /v1/invoices/substitute-simplifiedPOST /v1/companies/{company}/invoices/substitute-simplifiedcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.unschedule — CambiadaPOST /v1/invoices/{invoice}/unschedulePOST /v1/companies/{company}/invoices/{invoice}/unschedulerespuestas añadidas: 422; campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.unsend — CambiadaPOST /v1/invoices/{invoice}/unsendPOST /v1/companies/{company}/invoices/{invoice}/unsendrespuestas añadidas: 422; campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.invoices.update — CambiadaPUT /v1/invoices/{invoice}PATCH /v1/companies/{company}/invoices/{invoice}verbo PUT → PATCH; campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on; códigos de error documentados: 409 resource_already_exists/external_id_already_exists
public-api.v1.invoices.void — CambiadaPOST /v1/invoices/{invoice}/voidPOST /v1/companies/{company}/invoices/{invoice}/voidcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.payment_methods.list — Sin cambiosGET /v1/payment-methodsGET /v1/payment-methodsSin cambios

VeriFactu

Operaciones: 27 — 0 nuevas, 24 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.invoices.verifactu_create — Ruta movidaPOST /v1/invoices/{invoice}/verifactuPOST /v1/companies/{company}/invoices/{invoice}/verifactu—
public-api.v1.invoices.verifactu_get — Ruta movidaGET /v1/invoices/{invoice}/verifactuGET /v1/companies/{company}/invoices/{invoice}/verifactu—
public-api.v1.verifactu.aeat_access.list — Ruta movidaGET /v1/verifactu/aeat-access/recordsGET /v1/companies/{company}/verifactu/aeat-access/records—
public-api.v1.verifactu.aeat_access.show — Ruta movidaGET /v1/verifactu/aeat-access/records/{record}GET /v1/companies/{company}/verifactu/aeat-access/records/{record}—
public-api.v1.verifactu.certificates.activate — Ruta movidaPOST /v1/verifactu/certificates/{certificate}/activatePOST /v1/companies/{company}/verifactu/certificates/{certificate}/activate—
public-api.v1.verifactu.certificates.active — Ruta movidaGET /v1/verifactu/certificates/activeGET /v1/companies/{company}/verifactu/certificates/active—
public-api.v1.verifactu.certificates.list — Ruta movidaGET /v1/verifactu/certificatesGET /v1/companies/{company}/verifactu/certificates—
public-api.v1.verifactu.certificates.revoke — Ruta movidaDELETE /v1/verifactu/certificates/{certificate}DELETE /v1/companies/{company}/verifactu/certificates/{certificate}—
public-api.v1.verifactu.certificates.upload — CambiadaPOST /v1/verifactu/certificatesPOST /v1/companies/{company}/verifactu/certificatescódigos de error documentados: 422 business_rule_violation/certificate_too_large, 422 business_rule_violation/invalid_certificate_format, 422 business_rule_violation/invalid_certificate_password, 422 verifactu_not_eligible/certificate_expired, 422 verifactu_not_eligible/certificate_nif_mismatch
public-api.v1.verifactu.chain.validate — Ruta movidaGET /v1/verifactu/chain/validateGET /v1/companies/{company}/verifactu/chain/validate—
public-api.v1.verifactu.config — Ruta movidaGET /v1/verifactu/configGET /v1/companies/{company}/verifactu/config—
public-api.v1.verifactu.declaracion.current — Ruta movidaGET /v1/verifactu/declaracion-responsableGET /v1/companies/{company}/verifactu/declaracion-responsable—
public-api.v1.verifactu.declaracion.history — Ruta movidaGET /v1/verifactu/declaracion-responsable/historyGET /v1/companies/{company}/verifactu/declaracion-responsable/history—
public-api.v1.verifactu.events.list — Ruta movidaGET /v1/verifactu/eventsGET /v1/companies/{company}/verifactu/events—
public-api.v1.verifactu.events.retry — Ruta movidaPOST /v1/verifactu/events/{event}/retryPOST /v1/companies/{company}/verifactu/events/{event}/retry—
public-api.v1.verifactu.events.show — Ruta movidaGET /v1/verifactu/events/{event}GET /v1/companies/{company}/verifactu/events/{event}—
public-api.v1.verifactu.events.summary — Ruta movidaGET /v1/verifactu/events/summaryGET /v1/companies/{company}/verifactu/events/summary—
public-api.v1.verifactu.records.activities — Ruta movidaGET /v1/verifactu/records/{record}/activitiesGET /v1/companies/{company}/verifactu/records/{record}/activities—
public-api.v1.verifactu.records.find_by_csv — CambiadaPOST /v1/verifactu/records/find-by-csvPOST /v1/companies/{company}/verifactu/records/find-by-csvrespuestas añadidas: 422
public-api.v1.verifactu.records.find_by_huella — Ruta movidaPOST /v1/verifactu/records/find-by-huellaPOST /v1/companies/{company}/verifactu/records/find-by-huella—
public-api.v1.verifactu.records.find_by_invoice_number — CambiadaPOST /v1/verifactu/records/find-by-invoice-numberPOST /v1/companies/{company}/verifactu/records/find-by-invoice-numberrespuestas añadidas: 422
public-api.v1.verifactu.records.list — Ruta movidaGET /v1/verifactu/recordsGET /v1/companies/{company}/verifactu/records—
public-api.v1.verifactu.records.retry — Ruta movidaPOST /v1/verifactu/records/{record}/retryPOST /v1/companies/{company}/verifactu/records/{record}/retry—
public-api.v1.verifactu.records.show — Ruta movidaGET /v1/verifactu/records/{record}GET /v1/companies/{company}/verifactu/records/{record}—
public-api.v1.verifactu.records.subsanar — Ruta movidaPOST /v1/verifactu/records/{record}/subsanarPOST /v1/companies/{company}/verifactu/records/{record}/subsanar—
public-api.v1.verifactu.settings.update — Ruta movidaPUT /v1/verifactu/settingsPATCH /v1/companies/{company}/verifactu/settingsverbo PUT → PATCH
public-api.v1.verifactu.stats — Ruta movidaGET /v1/verifactu/statsGET /v1/companies/{company}/verifactu/stats—

Cierres mensuales

Operaciones: 8 — 0 nuevas, 5 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.monthly_time_record_closes.create — CambiadaPOST /v1/monthly-time-record-closesPOST /v1/companies/{company}/monthly-time-record-closescabecera Location declarada en 201; códigos de error documentados: 409 resource_already_exists/monthly_register_already_closed
public-api.v1.monthly_time_record_closes.export — Ruta movidaGET /v1/monthly-time-record-closes/{monthly_time_record_close}/exportGET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/export—
public-api.v1.monthly_time_record_closes.list — Ruta movidaGET /v1/monthly-time-record-closesGET /v1/companies/{company}/monthly-time-record-closes—
public-api.v1.monthly_time_record_closes.reopen — CambiadaPOST /v1/monthly-time-record-closes/{monthly_time_record_close}/reopenPOST /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/reopenrespuestas añadidas: 422
public-api.v1.monthly_time_record_closes.report — Ruta movidaGET /v1/monthly-time-record-closes/{monthly_time_record_close}/reportGET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/report—
public-api.v1.monthly_time_record_closes.seal — CambiadaPOST /v1/monthly-time-record-closes/{monthly_time_record_close}/sealPOST /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/sealcabecera Location declarada en 201; códigos de error documentados: 409 resource_already_exists/monthly_register_already_sealed
public-api.v1.monthly_time_record_closes.seal_show — Ruta movidaGET /v1/monthly-time-record-closes/{monthly_time_record_close}/sealGET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/seal—
public-api.v1.monthly_time_record_closes.show — Ruta movidaGET /v1/monthly-time-record-closes/{monthly_time_record_close}GET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}—

Exportaciones de nómina

Operaciones: 2 — 0 nuevas, 1 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 1 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.monthly_time_record_closes.payroll_export — Ruta movidaGET /v1/monthly-time-record-closes/{monthly_time_record_close}/payroll-exportGET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/payroll-export—
public-api.v1.payroll_export_formats.list — Sin cambiosGET /v1/payroll-export-formatsGET /v1/payroll-export-formatsSin cambios

Stripe

Operaciones: 10 — 0 nuevas, 9 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.payouts.list — Ruta movidaGET /v1/payoutsGET /v1/companies/{company}/payouts—
public-api.v1.payouts.show — Ruta movidaGET /v1/payouts/{payout}GET /v1/companies/{company}/payouts/{payout}—
public-api.v1.stripe_autoinvoicing.accounts.disconnect — Ruta movidaDELETE /v1/connected-accounts/{account}DELETE /v1/companies/{company}/connected-accounts/{account}—
public-api.v1.stripe_autoinvoicing.accounts.list — Ruta movidaGET /v1/connected-accountsGET /v1/companies/{company}/connected-accounts—
public-api.v1.stripe_autoinvoicing.accounts.show — Ruta movidaGET /v1/connected-accounts/{account}GET /v1/companies/{company}/connected-accounts/{account}—
public-api.v1.stripe_autoinvoicing.accounts.update — Ruta movidaPUT /v1/connected-accounts/{account}PATCH /v1/companies/{company}/connected-accounts/{account}verbo PUT → PATCH
public-api.v1.stripe_autoinvoicing.config.show — Ruta movidaGET /v1/stripe-autoinvoicing/configGET /v1/companies/{company}/stripe-autoinvoicing/config—
public-api.v1.stripe_autoinvoicing.config.update — CambiadaPUT /v1/stripe-autoinvoicing/configPATCH /v1/companies/{company}/stripe-autoinvoicing/configverbo PUT → PATCH; el cuerpo de la petición pasa a opcional; enabled pasa a opcional
public-api.v1.stripe_autoinvoicing.correctives.list — Ruta movidaGET /v1/stripe-autoinvoicing/correctivesGET /v1/companies/{company}/stripe-autoinvoicing/correctives—
public-api.v1.stripe_autoinvoicing.payments.list — Ruta movidaGET /v1/stripe-autoinvoicing/paymentsGET /v1/companies/{company}/stripe-autoinvoicing/payments—

Presencia

Operaciones: 3 — 0 nuevas, 3 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.presence.daily — Ruta movidaGET /v1/presence/dailyGET /v1/companies/{company}/presence/daily—
public-api.v1.presence.live — Ruta movidaGET /v1/presenceGET /v1/companies/{company}/presence—
public-api.v1.presence.show — Ruta movidaGET /v1/presence/{employee}GET /v1/companies/{company}/presence/{employee}—

Tarifas

Operaciones: 13 — 0 nuevas, 12 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.price-lists.create — CambiadaPOST /v1/price-listsPOST /v1/companies/{company}/price-listscabecera Location declarada en 201
public-api.v1.price-lists.delete — Ruta movidaDELETE /v1/price-lists/{priceList}DELETE /v1/companies/{company}/price-lists/{priceList}—
public-api.v1.price-lists.items.delete — Ruta movidaDELETE /v1/price-lists/{priceList}/items/{item}DELETE /v1/companies/{company}/price-lists/{priceList}/items/{item}—
public-api.v1.price-lists.items.list — Ruta movidaGET /v1/price-lists/{priceList}/itemsGET /v1/companies/{company}/price-lists/{priceList}/items—
public-api.v1.price-lists.items.purge_retired — Ruta movidaPOST /v1/price-lists/{priceList}/items/{item}/purgePOST /v1/companies/{company}/price-lists/{priceList}/items/{item}/purge—
public-api.v1.price-lists.items.reassign_retired — Ruta movidaPOST /v1/price-lists/{priceList}/items/{item}/reassignPOST /v1/companies/{company}/price-lists/{priceList}/items/{item}/reassign—
public-api.v1.price-lists.items.upsert — Ruta movidaPOST /v1/price-lists/{priceList}/itemsPOST /v1/companies/{company}/price-lists/{priceList}/items—
public-api.v1.price-lists.list — Ruta movidaGET /v1/price-listsGET /v1/companies/{company}/price-lists—
public-api.v1.price-lists.options — Ruta movidaGET /v1/price-lists/optionsGET /v1/companies/{company}/price-lists/options—
public-api.v1.price-lists.resolve — Ruta movidaPOST /v1/price-lists/resolvePOST /v1/companies/{company}/price-lists/resolve—
public-api.v1.price-lists.resolve_many — Ruta movidaPOST /v1/price-lists/resolve-manyPOST /v1/companies/{company}/price-lists/resolve-many—
public-api.v1.price-lists.show — Ruta movidaGET /v1/price-lists/{priceList}GET /v1/companies/{company}/price-lists/{priceList}—
public-api.v1.price-lists.update — Ruta movidaPUT /v1/price-lists/{priceList}PATCH /v1/companies/{company}/price-lists/{priceList}verbo PUT → PATCH

Productos

Operaciones: 41 — 0 nuevas, 37 movidas al eje, 4 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.products.activities — Ruta movidaGET /v1/products/{product}/activitiesGET /v1/companies/{company}/products/{product}/activities—
public-api.v1.products.bulk_delete — Ruta movidaPOST /v1/products/bulk-deletePOST /v1/companies/{company}/products/bulk-delete—
public-api.v1.products.bulk_status — Ruta movidaPOST /v1/products/bulk-statusPOST /v1/companies/{company}/products/bulk-status—
public-api.v1.products.bulk_update_stock — Ruta movidaPOST /v1/products/bulk-update-stockPOST /v1/companies/{company}/products/bulk-update-stock—
public-api.v1.products.configurations.impact_preview — Ruta movidaPOST /v1/products/{product}/configurations/impact-previewPOST /v1/companies/{company}/products/{product}/configurations/impact-preview—
public-api.v1.products.configurations.list — Ruta movidaGET /v1/products/{product}/configurationsGET /v1/companies/{company}/products/{product}/configurations—
public-api.v1.products.create — CambiadaPOST /v1/productsPOST /v1/companies/{company}/productscódigos de error documentados: 409 resource_already_exists/external_id_already_exists, 409 resource_already_exists/sku_already_exists
public-api.v1.products.delete — Ruta movidaDELETE /v1/products/{product}DELETE /v1/companies/{company}/products/{product}—
public-api.v1.products.find_by_external_id — Ruta movidaPOST /v1/products/find-by-external-idPOST /v1/companies/{company}/products/find-by-external-id—
public-api.v1.products.find_by_sku — Ruta movidaPOST /v1/products/find-by-skuPOST /v1/companies/{company}/products/find-by-sku—
public-api.v1.products.gallery.delete — Ruta movidaDELETE /v1/products/{product}/gallery/{index}DELETE /v1/companies/{company}/products/{product}/gallery/{index}—
public-api.v1.products.gallery.download — Ruta movidaGET /v1/products/{product}/gallery/{index}/downloadGET /v1/companies/{company}/products/{product}/gallery/{index}/download—
public-api.v1.products.gallery.upload — Ruta movidaPOST /v1/products/{product}/galleryPOST /v1/companies/{company}/products/{product}/gallery—
public-api.v1.products.list — Ruta movidaGET /v1/productsGET /v1/companies/{company}/products—
public-api.v1.products.low_stock_report — Ruta movidaGET /v1/products/low-stock-reportGET /v1/companies/{company}/products/low-stock-report—
public-api.v1.products.options.list — Ruta movidaGET /v1/products/{product}/optionsGET /v1/companies/{company}/products/{product}/options—
public-api.v1.products.presentations.create — Ruta movidaPOST /v1/products/{product}/presentationsPOST /v1/companies/{company}/products/{product}/presentations—
public-api.v1.products.presentations.delete — Ruta movidaDELETE /v1/products/{product}/presentations/{presentation}DELETE /v1/companies/{company}/products/{product}/presentations/{presentation}—
public-api.v1.products.presentations.list — Ruta movidaGET /v1/products/{product}/presentationsGET /v1/companies/{company}/products/{product}/presentations—
public-api.v1.products.presentations.update — Ruta movidaPUT /v1/products/{product}/presentations/{presentation}PATCH /v1/companies/{company}/products/{product}/presentations/{presentation}verbo PUT → PATCH
public-api.v1.products.resolve_selection — Ruta movidaPOST /v1/products/{product}/resolve-selectionPOST /v1/companies/{company}/products/{product}/resolve-selection—
public-api.v1.products.sales_analytics — Ruta movidaGET /v1/products/{product}/sales-analyticsGET /v1/companies/{company}/products/{product}/sales-analytics—
public-api.v1.products.search — Ruta movidaGET /v1/products/searchGET /v1/companies/{company}/products/search—
public-api.v1.products.show — Ruta movidaGET /v1/products/{product}GET /v1/companies/{company}/products/{product}—
public-api.v1.products.stats — Ruta movidaGET /v1/products/statsGET /v1/companies/{company}/products/stats—
public-api.v1.products.stock_movements.list — Ruta movidaGET /v1/products/{product}/stock-movementsGET /v1/companies/{company}/products/{product}/stock-movements—
public-api.v1.products.supplier-offers.create — Ruta movidaPOST /v1/products/{product}/supplier-offersPOST /v1/companies/{company}/products/{product}/supplier-offers—
public-api.v1.products.supplier-offers.delete — Ruta movidaDELETE /v1/products/{product}/supplier-offers/{offer}DELETE /v1/companies/{company}/products/{product}/supplier-offers/{offer}—
public-api.v1.products.supplier-offers.list — Ruta movidaGET /v1/products/{product}/supplier-offersGET /v1/companies/{company}/products/{product}/supplier-offers—
public-api.v1.products.supplier-offers.preferred — Ruta movidaPOST /v1/products/{product}/supplier-offers/{offer}/preferredPOST /v1/companies/{company}/products/{product}/supplier-offers/{offer}/preferred—
public-api.v1.products.supplier-offers.update — Ruta movidaPUT /v1/products/{product}/supplier-offers/{offer}PATCH /v1/companies/{company}/products/{product}/supplier-offers/{offer}verbo PUT → PATCH
public-api.v1.products.toggle_active — CambiadaPOST /v1/products/{product}/toggle-activePOST /v1/companies/{company}/products/{product}/toggle-activerespuestas añadidas: 422
public-api.v1.products.update — CambiadaPUT /v1/products/{product}PATCH /v1/companies/{company}/products/{product}verbo PUT → PATCH; códigos de error documentados: 409 resource_already_exists/external_id_already_exists, 409 resource_already_exists/sku_already_exists
public-api.v1.products.update_stock — Ruta movidaPUT /v1/products/{product}/stockPATCH /v1/companies/{company}/products/{product}/stockverbo PUT → PATCH
public-api.v1.products.variants.create — Ruta movidaPOST /v1/products/{product}/variantsPOST /v1/companies/{company}/products/{product}/variants—
public-api.v1.products.variants.delete — Ruta movidaDELETE /v1/products/{product}/variants/{variant}DELETE /v1/companies/{company}/products/{product}/variants/{variant}—
public-api.v1.products.variants.list — Ruta movidaGET /v1/products/{product}/variantsGET /v1/companies/{company}/products/{product}/variants—
public-api.v1.products.variants.update — Ruta movidaPUT /v1/products/{product}/variants/{variant}PATCH /v1/companies/{company}/products/{product}/variants/{variant}verbo PUT → PATCH
public-api.v1.products.video.delete — CambiadaDELETE /v1/products/{product}/videoDELETE /v1/companies/{company}/products/{product}/videorespuestas añadidas: 422
public-api.v1.products.video.download — Ruta movidaGET /v1/products/{product}/video/downloadGET /v1/companies/{company}/products/{product}/video/download—
public-api.v1.products.video.upload — Ruta movidaPOST /v1/products/{product}/videoPOST /v1/companies/{company}/products/{product}/video—

Facturas proforma

Operaciones: 20 — 0 nuevas, 17 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.proformas.accept — Ruta movidaPOST /v1/proformas/{proforma}/acceptPOST /v1/companies/{company}/proformas/{proforma}/accept—
public-api.v1.proformas.bulk_delete — Ruta movidaPOST /v1/proformas/bulk-deletePOST /v1/companies/{company}/proformas/bulk-delete—
public-api.v1.proformas.bulk_pdf — Ruta movidaPOST /v1/proformas/bulk-pdfPOST /v1/companies/{company}/proformas/bulk-pdf—
public-api.v1.proformas.bulk_send — Ruta movidaPOST /v1/proformas/bulk-sendPOST /v1/companies/{company}/proformas/bulk-send—
public-api.v1.proformas.bulk_status — Ruta movidaPOST /v1/proformas/bulk-statusPOST /v1/companies/{company}/proformas/bulk-status—
public-api.v1.proformas.convert — CambiadaPOST /v1/proformas/{proforma}/convertPOST /v1/companies/{company}/proformas/{proforma}/convertcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.proformas.create — Ruta movidaPOST /v1/proformasPOST /v1/companies/{company}/proformas—
public-api.v1.proformas.delete — Ruta movidaDELETE /v1/proformas/{proforma}DELETE /v1/companies/{company}/proformas/{proforma}—
public-api.v1.proformas.duplicate — CambiadaPOST /v1/proformas/{proforma}/duplicatePOST /v1/companies/{company}/proformas/{proforma}/duplicaterespuestas añadidas: 422
public-api.v1.proformas.find_by_external_id — Ruta movidaPOST /v1/proformas/find-by-external-idPOST /v1/companies/{company}/proformas/find-by-external-id—
public-api.v1.proformas.list — Ruta movidaGET /v1/proformasGET /v1/companies/{company}/proformas—
public-api.v1.proformas.pdf — Ruta movidaGET /v1/proformas/{proforma}/pdfGET /v1/companies/{company}/proformas/{proforma}/pdf—
public-api.v1.proformas.public_link_get — Ruta movidaGET /v1/proformas/{proforma}/public-linkGET /v1/companies/{company}/proformas/{proforma}/public-link—
public-api.v1.proformas.public_link_update — Ruta movidaPUT /v1/proformas/{proforma}/public-linkPATCH /v1/companies/{company}/proformas/{proforma}/public-linkverbo PUT → PATCH
public-api.v1.proformas.reject — Ruta movidaPOST /v1/proformas/{proforma}/rejectPOST /v1/companies/{company}/proformas/{proforma}/reject—
public-api.v1.proformas.send — Ruta movidaPOST /v1/proformas/{proforma}/sendPOST /v1/companies/{company}/proformas/{proforma}/send—
public-api.v1.proformas.show — Ruta movidaGET /v1/proformas/{proforma}GET /v1/companies/{company}/proformas/{proforma}—
public-api.v1.proformas.stats — Ruta movidaGET /v1/proformas/statsGET /v1/companies/{company}/proformas/stats—
public-api.v1.proformas.statuses — Ruta movidaGET /v1/proformas/statusesGET /v1/companies/{company}/proformas/statuses—
public-api.v1.proformas.update — CambiadaPUT /v1/proformas/{proforma}PATCH /v1/companies/{company}/proformas/{proforma}verbo PUT → PATCH; códigos de error documentados: 409 resource_already_exists/external_id_already_exists

Facturas de compra

Operaciones: 18 — 0 nuevas, 6 movidas al eje, 12 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.purchase_invoices.attach_file — CambiadaPOST /v1/purchase_invoices/{purchase_invoice}/attach-filePOST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/attach-filecampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at; data.lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.bulk_delete — Ruta movidaPOST /v1/purchase_invoices/bulk-deletePOST /v1/companies/{company}/purchase-invoices/bulk-delete—
public-api.v1.purchase_invoices.bulk_status — Ruta movidaPOST /v1/purchase_invoices/bulk-statusPOST /v1/companies/{company}/purchase-invoices/bulk-status—
public-api.v1.purchase_invoices.create — CambiadaPOST /v1/purchase_invoicesPOST /v1/companies/{company}/purchase-invoicescampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at; data.lines[].unit_price cambia de tipo (number|string → string); códigos de error documentados: 409 resource_already_exists/purchase_invoice_already_exists
public-api.v1.purchase_invoices.delete — Ruta movidaDELETE /v1/purchase_invoices/{purchase_invoice}DELETE /v1/companies/{company}/purchase-invoices/{purchase_invoice}—
public-api.v1.purchase_invoices.delete_file — CambiadaDELETE /v1/purchase_invoices/{purchase_invoice}/fileDELETE /v1/companies/{company}/purchase-invoices/{purchase_invoice}/filerespuestas añadidas: 422
public-api.v1.purchase_invoices.file — Ruta movidaGET /v1/purchase_invoices/{purchase_invoice}/fileGET /v1/companies/{company}/purchase-invoices/{purchase_invoice}/file—
public-api.v1.purchase_invoices.find_by_external_id — CambiadaPOST /v1/purchase_invoices/find-by-external-idPOST /v1/companies/{company}/purchase-invoices/find-by-external-idcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at; data.lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.list — CambiadaGET /v1/purchase_invoicesGET /v1/companies/{company}/purchase-invoicescampos nuevos de la respuesta: data[].paid_date, data[].paid_recorded_at; campos retirados de la respuesta: data[].paid_at; data[].lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.list_payments — CambiadaGET /v1/purchase_invoices/{purchase_invoice}/paymentsGET /v1/companies/{company}/purchase-invoices/{purchase_invoice}/paymentscampos nuevos de la respuesta: data[].paid_date; campos retirados de la respuesta: data[].paid_on
public-api.v1.purchase_invoices.mark_paid — CambiadaPOST /v1/purchase_invoices/{purchase_invoice}/mark_paidPOST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/mark-paidcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at; data.lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.overdue — CambiadaGET /v1/purchase_invoices/overdueGET /v1/companies/{company}/purchase-invoices/overduecampos nuevos de la respuesta: data[].paid_date, data[].paid_recorded_at; campos retirados de la respuesta: data[].paid_at; data[].lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.payment_receipt — Ruta movidaGET /v1/purchase_invoices/{purchase_invoice}/payment-receiptGET /v1/companies/{company}/purchase-invoices/{purchase_invoice}/payment-receipt—
public-api.v1.purchase_invoices.pending — CambiadaGET /v1/purchase_invoices/pendingGET /v1/companies/{company}/purchase-invoices/pendingcampos nuevos de la respuesta: data[].paid_date, data[].paid_recorded_at; campos retirados de la respuesta: data[].paid_at; data[].lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.register_payment — CambiadaPOST /v1/purchase_invoices/{purchase_invoice}/paymentsPOST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/paymentscampos nuevos de la respuesta: data.paid_date; campos retirados de la respuesta: data.paid_on; cabecera Location declarada en 201
public-api.v1.purchase_invoices.show — CambiadaGET /v1/purchase_invoices/{purchase_invoice}GET /v1/companies/{company}/purchase-invoices/{purchase_invoice}campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at; data.lines[].unit_price cambia de tipo (number|string → string)
public-api.v1.purchase_invoices.stats — Ruta movidaGET /v1/purchase_invoices/statsGET /v1/companies/{company}/purchase-invoices/stats—
public-api.v1.purchase_invoices.update — CambiadaPUT /v1/purchase_invoices/{purchase_invoice}PATCH /v1/companies/{company}/purchase-invoices/{purchase_invoice}verbo PUT → PATCH; campos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at; data.lines[].unit_price cambia de tipo (number|string → string); códigos de error documentados: 409 resource_already_exists/external_id_already_exists

Presupuestos

Operaciones: 20 — 0 nuevas, 17 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.quotes.accept — Ruta movidaPOST /v1/quotes/{quote}/acceptPOST /v1/companies/{company}/quotes/{quote}/accept—
public-api.v1.quotes.bulk_delete — Ruta movidaPOST /v1/quotes/bulk-deletePOST /v1/companies/{company}/quotes/bulk-delete—
public-api.v1.quotes.bulk_pdf — Ruta movidaPOST /v1/quotes/bulk-pdfPOST /v1/companies/{company}/quotes/bulk-pdf—
public-api.v1.quotes.bulk_send — Ruta movidaPOST /v1/quotes/bulk-sendPOST /v1/companies/{company}/quotes/bulk-send—
public-api.v1.quotes.bulk_status — Ruta movidaPOST /v1/quotes/bulk-statusPOST /v1/companies/{company}/quotes/bulk-status—
public-api.v1.quotes.convert — CambiadaPOST /v1/quotes/{quote}/convertPOST /v1/companies/{company}/quotes/{quote}/convertcampos nuevos de la respuesta: data.paid_date, data.paid_recorded_at; campos retirados de la respuesta: data.paid_at, data.paid_on
public-api.v1.quotes.create — Ruta movidaPOST /v1/quotesPOST /v1/companies/{company}/quotes—
public-api.v1.quotes.delete — Ruta movidaDELETE /v1/quotes/{quote}DELETE /v1/companies/{company}/quotes/{quote}—
public-api.v1.quotes.duplicate — CambiadaPOST /v1/quotes/{quote}/duplicatePOST /v1/companies/{company}/quotes/{quote}/duplicaterespuestas añadidas: 422
public-api.v1.quotes.find_by_external_id — Ruta movidaPOST /v1/quotes/find-by-external-idPOST /v1/companies/{company}/quotes/find-by-external-id—
public-api.v1.quotes.list — Ruta movidaGET /v1/quotesGET /v1/companies/{company}/quotes—
public-api.v1.quotes.pdf — Ruta movidaGET /v1/quotes/{quote}/pdfGET /v1/companies/{company}/quotes/{quote}/pdf—
public-api.v1.quotes.public_link_get — Ruta movidaGET /v1/quotes/{quote}/public-linkGET /v1/companies/{company}/quotes/{quote}/public-link—
public-api.v1.quotes.public_link_update — Ruta movidaPUT /v1/quotes/{quote}/public-linkPATCH /v1/companies/{company}/quotes/{quote}/public-linkverbo PUT → PATCH
public-api.v1.quotes.reject — Ruta movidaPOST /v1/quotes/{quote}/rejectPOST /v1/companies/{company}/quotes/{quote}/reject—
public-api.v1.quotes.send — Ruta movidaPOST /v1/quotes/{quote}/sendPOST /v1/companies/{company}/quotes/{quote}/send—
public-api.v1.quotes.show — Ruta movidaGET /v1/quotes/{quote}GET /v1/companies/{company}/quotes/{quote}—
public-api.v1.quotes.stats — Ruta movidaGET /v1/quotes/statsGET /v1/companies/{company}/quotes/stats—
public-api.v1.quotes.statuses — Ruta movidaGET /v1/quotes/statusesGET /v1/companies/{company}/quotes/statuses—
public-api.v1.quotes.update — CambiadaPUT /v1/quotes/{quote}PATCH /v1/companies/{company}/quotes/{quote}verbo PUT → PATCH; códigos de error documentados: 409 resource_already_exists/external_id_already_exists

Facturas recurrentes

Operaciones: 18 — 0 nuevas, 15 movidas al eje, 3 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.recurring_invoices.activate — Ruta movidaPOST /v1/recurring_invoices/{recurring_invoice}/activatePOST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/activate—
public-api.v1.recurring_invoices.activities — Ruta movidaGET /v1/recurring_invoices/{recurring_invoice}/activitiesGET /v1/companies/{company}/recurring-invoices/{recurring_invoice}/activities—
public-api.v1.recurring_invoices.bulk-delete — Ruta movidaPOST /v1/recurring_invoices/bulk-deletePOST /v1/companies/{company}/recurring-invoices/bulk-delete—
public-api.v1.recurring_invoices.bulk_status — Ruta movidaPOST /v1/recurring_invoices/bulk-statusPOST /v1/companies/{company}/recurring-invoices/bulk-status—
public-api.v1.recurring_invoices.cancel — Ruta movidaPOST /v1/recurring_invoices/{recurring_invoice}/cancelPOST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/cancel—
public-api.v1.recurring_invoices.create — Ruta movidaPOST /v1/recurring_invoicesPOST /v1/companies/{company}/recurring-invoices—
public-api.v1.recurring_invoices.delete — Ruta movidaDELETE /v1/recurring_invoices/{recurring_invoice}DELETE /v1/companies/{company}/recurring-invoices/{recurring_invoice}—
public-api.v1.recurring_invoices.find_by_external_id — Ruta movidaPOST /v1/recurring_invoices/find-by-external-idPOST /v1/companies/{company}/recurring-invoices/find-by-external-id—
public-api.v1.recurring_invoices.generate — Ruta movidaPOST /v1/recurring_invoices/{recurring_invoice}/generatePOST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/generate—
public-api.v1.recurring_invoices.list — Ruta movidaGET /v1/recurring_invoicesGET /v1/companies/{company}/recurring-invoices—
public-api.v1.recurring_invoices.logs — Ruta movidaGET /v1/recurring_invoices/{recurring_invoice}/logsGET /v1/companies/{company}/recurring-invoices/{recurring_invoice}/logs—
public-api.v1.recurring_invoices.pause — CambiadaPOST /v1/recurring_invoices/{recurring_invoice}/pausePOST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/pauserespuestas añadidas: 422
public-api.v1.recurring_invoices.preview — Ruta movidaGET /v1/recurring_invoices/{recurring_invoice}/previewGET /v1/companies/{company}/recurring-invoices/{recurring_invoice}/preview—
public-api.v1.recurring_invoices.resume — Ruta movidaPOST /v1/recurring_invoices/{recurring_invoice}/resumePOST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/resume—
public-api.v1.recurring_invoices.show — Ruta movidaGET /v1/recurring_invoices/{recurring_invoice}GET /v1/companies/{company}/recurring-invoices/{recurring_invoice}—
public-api.v1.recurring_invoices.skip — CambiadaPOST /v1/recurring_invoices/{recurring_invoice}/skipPOST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/skiprespuestas añadidas: 422
public-api.v1.recurring_invoices.stats — Ruta movidaGET /v1/recurring_invoices/statsGET /v1/companies/{company}/recurring-invoices/stats—
public-api.v1.recurring_invoices.update — CambiadaPUT /v1/recurring_invoices/{recurring_invoice}PATCH /v1/companies/{company}/recurring-invoices/{recurring_invoice}verbo PUT → PATCH; códigos de error documentados: 409 resource_already_exists/external_id_already_exists

Series

Operaciones: 12 — 0 nuevas, 8 movidas al eje, 4 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.series.active — Ruta movidaGET /v1/series/activeGET /v1/companies/{company}/series/active—
public-api.v1.series.activities — Ruta movidaGET /v1/series/{series}/activitiesGET /v1/companies/{company}/series/{series}/activities—
public-api.v1.series.archive — CambiadaPOST /v1/series/{series}/archivePOST /v1/companies/{company}/series/{series}/archiverespuestas añadidas: 422
public-api.v1.series.bootstrap — CambiadaPOST /v1/series/bootstrapPOST /v1/companies/{company}/series/bootstraprespuestas añadidas: 422
public-api.v1.series.create — Ruta movidaPOST /v1/seriesPOST /v1/companies/{company}/series—
public-api.v1.series.default — Ruta movidaGET /v1/series/defaultGET /v1/companies/{company}/series/default—
public-api.v1.series.find_by_code — Ruta movidaPOST /v1/series/find-by-codePOST /v1/companies/{company}/series/find-by-code—
public-api.v1.series.list — Ruta movidaGET /v1/seriesGET /v1/companies/{company}/series—
public-api.v1.series.set_default — CambiadaPOST /v1/series/{series}/defaultPOST /v1/companies/{company}/series/{series}/defaultrespuestas añadidas: 422
public-api.v1.series.show — Ruta movidaGET /v1/series/{series}GET /v1/companies/{company}/series/{series}—
public-api.v1.series.stats — Ruta movidaGET /v1/series/statsGET /v1/companies/{company}/series/stats—
public-api.v1.series.unarchive — CambiadaPOST /v1/series/{series}/unarchivePOST /v1/companies/{company}/series/{series}/unarchiverespuestas añadidas: 422

Tienda Shopify

Operaciones: 1 — 0 nuevas, 1 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.shopify.stores.connection_test — Ruta movidaPOST /v1/shopify/stores/{store}/connection-testPOST /v1/companies/{company}/shopify/stores/{store}/connection-test—

Tiendas

Operaciones: 5 — 0 nuevas, 4 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.stores.create — CambiadaPOST /v1/storesPOST /v1/companies/{company}/storescabecera Location declarada en 201
public-api.v1.stores.disconnect — Ruta movidaDELETE /v1/stores/{store}DELETE /v1/companies/{company}/stores/{store}—
public-api.v1.stores.index — Ruta movidaGET /v1/storesGET /v1/companies/{company}/stores—
public-api.v1.stores.show — Ruta movidaGET /v1/stores/{store}GET /v1/companies/{company}/stores/{store}—
public-api.v1.stores.update — Ruta movidaPUT /v1/stores/{store}PATCH /v1/companies/{company}/stores/{store}verbo PUT → PATCH

Impuestos

Operaciones: 18 — 0 nuevas, 11 movidas al eje, 0 movidas con otros cambios, 6 retiradas, 1 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.tax-catalog.show — Sin cambiosGET /v1/tax-catalogGET /v1/tax-catalogSin cambios
public-api.v1.taxes.active — Ruta movidaGET /v1/taxes/activeGET /v1/companies/{company}/taxes/active—
public-api.v1.taxes.by_type — Ruta movidaGET /v1/taxes/by-typeGET /v1/companies/{company}/taxes/by-type—
public-api.v1.taxes.calculate — Ruta movidaPOST /v1/taxes/calculatePOST /v1/companies/{company}/taxes/calculate—
public-api.v1.taxes.calculate_totals — Ruta movidaPOST /v1/taxes/calculate-totalsPOST /v1/companies/{company}/taxes/calculate-totals—
public-api.v1.taxes.create — RetiradaPOST /v1/taxes—Retirada
public-api.v1.taxes.defaults — Ruta movidaGET /v1/taxes/defaults/{docType}GET /v1/companies/{company}/taxes/defaults/{docType}—
public-api.v1.taxes.delete — RetiradaDELETE /v1/taxes/{tax}—Retirada
public-api.v1.taxes.for_purchases — Ruta movidaGET /v1/taxes/for-purchasesGET /v1/companies/{company}/taxes/for-purchases—
public-api.v1.taxes.for_sales — Ruta movidaGET /v1/taxes/for-salesGET /v1/companies/{company}/taxes/for-sales—
public-api.v1.taxes.is_in_use — Ruta movidaGET /v1/taxes/{tax}/is-in-useGET /v1/companies/{company}/taxes/{tax}/is-in-use—
public-api.v1.taxes.list — Ruta movidaGET /v1/taxesGET /v1/companies/{company}/taxes—
public-api.v1.taxes.set_default — RetiradaPOST /v1/taxes/{tax}/set-default—Retirada
public-api.v1.taxes.set_default_for_document — RetiradaPUT /v1/taxes/{tax}/set-default/{docType}—Retirada
public-api.v1.taxes.show — Ruta movidaGET /v1/taxes/{tax}GET /v1/companies/{company}/taxes/{tax}—
public-api.v1.taxes.stats — Ruta movidaGET /v1/taxes/statsGET /v1/companies/{company}/taxes/stats—
public-api.v1.taxes.toggle — RetiradaPOST /v1/taxes/{tax}/toggle—Retirada
public-api.v1.taxes.update — RetiradaPUT /v1/taxes/{tax}—Retirada

Informes fiscales

Operaciones: 9 — 0 nuevas, 8 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.tax_reports.activities — Ruta movidaGET /v1/tax_reports/{tax_report}/activitiesGET /v1/companies/{company}/tax-reports/{tax_report}/activities—
public-api.v1.tax_reports.download — Ruta movidaGET /v1/tax_reports/{tax_report}/downloadGET /v1/companies/{company}/tax-reports/{tax_report}/download—
public-api.v1.tax_reports.find_by_period — Ruta movidaPOST /v1/tax_reports/find-by-periodPOST /v1/companies/{company}/tax-reports/find-by-period—
public-api.v1.tax_reports.generate_130 — CambiadaPOST /v1/tax_reports/130POST /v1/companies/{company}/tax-reports/130cabecera Location declarada en 201
public-api.v1.tax_reports.generate_303 — Ruta movidaPOST /v1/tax_reports/303POST /v1/companies/{company}/tax-reports/303—
public-api.v1.tax_reports.generate_347 — Ruta movidaPOST /v1/tax_reports/347POST /v1/companies/{company}/tax-reports/347—
public-api.v1.tax_reports.history — Ruta movidaGET /v1/tax_reports/historyGET /v1/companies/{company}/tax-reports/history—
public-api.v1.tax_reports.preview — Ruta movidaPOST /v1/tax_reports/previewPOST /v1/companies/{company}/tax-reports/preview—
public-api.v1.tax_reports.stats — Ruta movidaGET /v1/tax_reports/statsGET /v1/companies/{company}/tax-reports/stats—

Balances de jornada

Operaciones: 3 — 0 nuevas, 3 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.time_balances.employee — Ruta movidaGET /v1/time-balances/employee/{employee}GET /v1/companies/{company}/time-balances/employee/{employee}—
public-api.v1.time_balances.monthly_sheet — Ruta movidaGET /v1/time-balances/monthly-sheetGET /v1/companies/{company}/time-balances/monthly-sheet—
public-api.v1.time_balances.team_summary — Ruta movidaGET /v1/time-balances/team-summaryGET /v1/companies/{company}/time-balances/team-summary—

Correcciones de fichajes

Operaciones: 5 — 0 nuevas, 4 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.time_corrections.approve — Ruta movidaPOST /v1/time-corrections/{time_correction}/approvePOST /v1/companies/{company}/time-corrections/{time_correction}/approve—
public-api.v1.time_corrections.create — CambiadaPOST /v1/time-correctionsPOST /v1/companies/{company}/time-correctionscabecera Location declarada en 201
public-api.v1.time_corrections.list — Ruta movidaGET /v1/time-correctionsGET /v1/companies/{company}/time-corrections—
public-api.v1.time_corrections.reject — Ruta movidaPOST /v1/time-corrections/{time_correction}/rejectPOST /v1/companies/{company}/time-corrections/{time_correction}/reject—
public-api.v1.time_corrections.show — Ruta movidaGET /v1/time-corrections/{time_correction}GET /v1/companies/{company}/time-corrections/{time_correction}—

Fichajes

Operaciones: 9 — 0 nuevas, 4 movidas al eje, 5 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.time_entries.chain.validate — Ruta movidaGET /v1/time-entries/chain/validateGET /v1/companies/{company}/time-entries/chain/validate—
public-api.v1.time_entries.clock_in — CambiadaPOST /v1/time-entries/clock-inPOST /v1/companies/{company}/time-entries/clock-incabecera Location declarada en 201
public-api.v1.time_entries.clock_out — CambiadaPOST /v1/time-entries/clock-outPOST /v1/companies/{company}/time-entries/clock-outcabecera Location declarada en 201
public-api.v1.time_entries.current — Ruta movidaGET /v1/time-entries/currentGET /v1/companies/{company}/time-entries/current—
public-api.v1.time_entries.list — Ruta movidaGET /v1/time-entriesGET /v1/companies/{company}/time-entries—
public-api.v1.time_entries.manual — CambiadaPOST /v1/time-entries/manualPOST /v1/companies/{company}/time-entries/manualcabecera Location declarada en 201
public-api.v1.time_entries.pause — CambiadaPOST /v1/time-entries/pausePOST /v1/companies/{company}/time-entries/pausecabecera Location declarada en 201
public-api.v1.time_entries.resume — CambiadaPOST /v1/time-entries/resumePOST /v1/companies/{company}/time-entries/resumecabecera Location declarada en 201
public-api.v1.time_entries.show — Ruta movidaGET /v1/time-entries/{time_entry}GET /v1/companies/{company}/time-entries/{time_entry}—

Configuración del registro

Operaciones: 2 — 0 nuevas, 1 movidas al eje, 1 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.time_tracking_settings.show — Ruta movidaGET /v1/time-tracking-settingsGET /v1/companies/{company}/time-tracking-settings—
public-api.v1.time_tracking_settings.update — CambiadaPUT /v1/time-tracking-settingsPATCH /v1/companies/{company}/time-tracking-settingsverbo PUT → PATCH; el cuerpo de la petición pasa a opcional; clock_in_reminder_enabled pasa a opcional; clock_in_reminder_grace_minutes pasa a opcional; overtime_basis pasa a opcional; overtime_tolerance_minutes pasa a opcional

Webhooks

Operaciones: 11 — 0 nuevas, 6 movidas al eje, 5 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.webhook_endpoints.create — CambiadaPOST /v1/webhook_endpointsPOST /v1/companies/{company}/webhook-endpointsdata.secret puede ser null
public-api.v1.webhook_endpoints.delete — Ruta movidaDELETE /v1/webhook_endpoints/{webhook_endpoint}DELETE /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}—
public-api.v1.webhook_endpoints.deliveries.list — CambiadaGET /v1/webhook_endpoints/{webhook_endpoint}/deliveriesGET /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveriescampos nuevos de la respuesta: data[].payload.data.object.paid_date, data[].payload.data.object.paid_recorded_at; campos retirados de la respuesta: data[].payload.data.object.paid_at, data[].payload.data.object.paid_on
public-api.v1.webhook_endpoints.deliveries.replay — Ruta movidaPOST /v1/webhook_endpoints/{webhook_endpoint}/deliveries/{delivery}/replayPOST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries/{delivery}/replay—
public-api.v1.webhook_endpoints.deliveries.show — CambiadaGET /v1/webhook_endpoints/{webhook_endpoint}/deliveries/{delivery}GET /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries/{delivery}campos nuevos de la respuesta: data.payload.data.object.paid_date, data.payload.data.object.paid_recorded_at; campos retirados de la respuesta: data.payload.data.object.paid_at, data.payload.data.object.paid_on
public-api.v1.webhook_endpoints.list — Ruta movidaGET /v1/webhook_endpointsGET /v1/companies/{company}/webhook-endpoints—
public-api.v1.webhook_endpoints.ping — Ruta movidaPOST /v1/webhook_endpoints/{webhook_endpoint}/pingPOST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/ping—
public-api.v1.webhook_endpoints.rotate_secret — CambiadaPOST /v1/webhook_endpoints/{webhook_endpoint}/rotate_secretPOST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/rotate-secretdata.secret puede ser null; códigos de error documentados: 422 business_rule_violation/webhook_secret_recently_rotated
public-api.v1.webhook_endpoints.show — Ruta movidaGET /v1/webhook_endpoints/{webhook_endpoint}GET /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}—
public-api.v1.webhook_endpoints.test_event — Ruta movidaPOST /v1/webhook_endpoints/{webhook_endpoint}/test_eventPOST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/test-event—
public-api.v1.webhook_endpoints.update — CambiadaPUT /v1/webhook_endpoints/{webhook_endpoint}PATCH /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}verbo PUT → PATCH; campos nuevos del cuerpo: status

Tienda WooCommerce

Operaciones: 1 — 0 nuevas, 1 movidas al eje, 0 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.woocommerce.stores.connection_test — Ruta movidaPOST /v1/woocommerce/stores/{store}/connection-testPOST /v1/companies/{company}/woocommerce/stores/{store}/connection-test—

Horarios

Operaciones: 11 — 0 nuevas, 7 movidas al eje, 4 movidas con otros cambios, 0 retiradas, 0 sin cambios.

OperaciónAntesAhoraQué cambia
public-api.v1.work_schedules.archive — CambiadaPOST /v1/work-schedules/{schedule}/archivePOST /v1/companies/{company}/work-schedules/{schedule}/archiverespuestas añadidas: 422
public-api.v1.work_schedules.assign — Ruta movidaPOST /v1/work-schedules/{schedule}/assignPOST /v1/companies/{company}/work-schedules/{schedule}/assign—
public-api.v1.work_schedules.assignments — Ruta movidaGET /v1/work-schedules/{schedule}/assignmentsGET /v1/companies/{company}/work-schedules/{schedule}/assignments—
public-api.v1.work_schedules.create — CambiadaPOST /v1/work-schedulesPOST /v1/companies/{company}/work-schedulescabecera Location declarada en 201
public-api.v1.work_schedules.employee_schedule — Ruta movidaGET /v1/work-schedules/employee/{employee}GET /v1/companies/{company}/work-schedules/employee/{employee}—
public-api.v1.work_schedules.list — Ruta movidaGET /v1/work-schedulesGET /v1/companies/{company}/work-schedules—
public-api.v1.work_schedules.show — Ruta movidaGET /v1/work-schedules/{schedule}GET /v1/companies/{company}/work-schedules/{schedule}—
public-api.v1.work_schedules.stats — Ruta movidaGET /v1/work-schedules/statsGET /v1/companies/{company}/work-schedules/stats—
public-api.v1.work_schedules.unarchive — CambiadaPOST /v1/work-schedules/{schedule}/unarchivePOST /v1/companies/{company}/work-schedules/{schedule}/unarchiverespuestas añadidas: 422
public-api.v1.work_schedules.unassign — Ruta movidaPOST /v1/work-schedules/{schedule}/unassignPOST /v1/companies/{company}/work-schedules/{schedule}/unassign—
public-api.v1.work_schedules.update — CambiadaPUT /v1/work-schedules/{schedule}PATCH /v1/companies/{company}/work-schedules/{schedule}verbo PUT → PATCH; el cuerpo de la petición pasa a opcional; mode pasa a opcional; name pasa a opcional; week_pattern pasa a opcional

Nuevos endpoints16

EndpointDescripción
DEL/v1/accounts/{account}/invitations/{invitation}Revocar una invitación de cuenta
POST/v1/accounts/{account}/invitationsEnviar una invitación de cuenta
GET/v1/accounts/{account}/invitationsListar las invitaciones de la cuenta
POST/v1/accounts/{account}/invitations/{invitation}/resendReenviar una invitación de cuenta
POST/v1/accounts/{account}/membersAñadir un miembro a la cuenta
DEL/v1/accounts/{account}/members/{member}Quitar a un miembro de la cuenta
GET/v1/accounts/{account}/membersListar los miembros de la cuenta
GET/v1/accounts/{account}/members/{member}/module-accessObtener el nivel de acceso a módulos de un miembro
PATCH/v1/accounts/{account}/members/{member}/module-accessFijar el nivel de acceso a módulos de un miembro
PATCH/v1/accounts/{account}/members/{member}Cambiar el rol de un miembro de la cuenta
POST/v1/accounts/{account}/nif-transfers/acceptAceptar un traspaso de NIF
POST/v1/accounts/{account}/nif-transfersEmitir un traspaso de NIF
GET/v1/accounts/{account}/nif-transfersListar los traspasos de NIF emitidos
PATCH/v1/accounts/{account}/ownerTransferir la titularidad de la cuenta
GET/v1/accounts/{account}/usageObtener el uso de la cuenta en el periodo actual
GET/v1/accounts/{account}/companies/{company}/issuing-readinessComprobar si un NIF de la cartera puede emitir

Endpoints actualizados455

EndpointDescripción
GET/v1/companies/{company}/absence-balancesListar todos los saldos de ausencias
GET/v1/companies/{company}/absence-balances/{absence_balance}Obtener un saldo de ausencias
GET/v1/companies/{company}/absence-calendarObtener el calendario de ausencias del equipo
POST/v1/companies/{company}/absence-policies/{absence_policy}/archiveArchivar una política de ausencias
POST/v1/companies/{company}/absence-policies/{absence_policy}/assignAsignar una política a empleados
GET/v1/companies/{company}/absence-policies/{absence_policy}/assignmentsListar los empleados asignados a una política
POST/v1/companies/{company}/absence-policies/{absence_policy}/carryoverConfigurar el arrastre de fin de año de una política
POST/v1/companies/{company}/absence-policiesCrear una política de ausencias
GET/v1/companies/{company}/absence-policiesListar todas las políticas de ausencias
GET/v1/companies/{company}/absence-policies/{absence_policy}Obtener una política de ausencias
POST/v1/companies/{company}/absence-policies/{absence_policy}/unarchiveDesarchivar una política de ausencias
POST/v1/companies/{company}/absence-policies/{absence_policy}/unassignDesasignar una política de empleados
PATCH/v1/companies/{company}/absence-policies/{absence_policy}Actualizar una política de ausencias
POST/v1/companies/{company}/absence-requests/{absence_request}/approveAprobar una solicitud de ausencia
POST/v1/companies/{company}/absence-requests/{absence_request}/cancelCancelar una solicitud de ausencia
POST/v1/companies/{company}/absence-requestsCrear una solicitud de ausencia
GET/v1/companies/{company}/absence-requestsListar todas las solicitudes de ausencia
POST/v1/companies/{company}/absence-requests/{absence_request}/rejectRechazar una solicitud de ausencia
GET/v1/companies/{company}/absence-requests/{absence_request}Obtener una solicitud de ausencia
POST/v1/companies/{company}/absence-types/{absence_type}/archiveArchivar un tipo de ausencia
POST/v1/companies/{company}/absence-typesCrear un tipo de ausencia
GET/v1/companies/{company}/absence-typesListar todos los tipos de ausencia
GET/v1/companies/{company}/absence-types/{absence_type}Obtener un tipo de ausencia
POST/v1/companies/{company}/absence-types/{absence_type}/unarchiveDesarchivar un tipo de ausencia
PATCH/v1/companies/{company}/absence-types/{absence_type}Actualizar un tipo de ausencia
POST/v1/accounts/{account}/api-keysCrear una API key
GET/v1/accounts/{account}/api-keysListar tus API keys
POST/v1/accounts/{account}/api-keys/{api_key}/revokeRevocar una API key
POST/v1/accounts/{account}/api-keys/{api_key}/rotate-secretRotar el secreto de una API key
GET/v1/accounts/{account}/api-keys/{api_key}Recuperar una API key
GET/v1/companies/{company}/billingObtener los detalles de facturación de la cuenta
GET/v1/companies/{company}/personalization/templatesLista las plantillas de personalización disponibles
PATCH/v1/companies/{company}/personalizationActualiza la personalización de la cuenta
GET/v1/meObtener la credencial que llama
POST/v1/companies/{company}/census-verificationVerificar la cuenta contra el censo de la AEAT
GET/v1/companies/{company}/automations/catalogObtener el catálogo de automatizaciones
GET/v1/companies/{company}/automations/catalog/triggers/{trigger}/fieldsObtener los campos evaluables de un disparador
POST/v1/companies/{company}/automations/rules/{rule}/activateActivar una regla de automatización
POST/v1/companies/{company}/automations/rulesCrear una regla de automatización
DEL/v1/companies/{company}/automations/rules/{rule}Eliminar una regla de automatización
POST/v1/companies/{company}/automations/rules/{rule}/dry-runEnsayar una regla de automatización
GET/v1/companies/{company}/automations/rulesListar tus reglas de automatización
POST/v1/companies/{company}/automations/rules/{rule}/pausePausar una regla de automatización
GET/v1/companies/{company}/automations/rules/{rule}Obtener una regla de automatización
PATCH/v1/companies/{company}/automations/rules/{rule}Actualizar una regla de automatización
GET/v1/companies/{company}/automations/rules/{rule}/versionsListar las versiones de una regla de automatización
GET/v1/companies/{company}/automations/rules/{rule}/versions/{version}Obtener una versión de una regla de automatización
GET/v1/companies/{company}/automations/runsListar ejecuciones de automatización
POST/v1/companies/{company}/automations/runs/{run}/replayRelanzar los pasos aparcados de una ejecución de automatización
GET/v1/companies/{company}/automations/runs/{run}Obtener una ejecución de automatización
GET/v1/companies/{company}/automations/runs/{run}/stepsListar los pasos de una ejecución de automatización
POST/v1/companies/{company}/automations/runs/{run}/steps/{step_index}/replayRelanzar un paso de una ejecución de automatización
GET/v1/companies/{company}/automations/usageObtener el consumo de automatizaciones
POST/v1/accounts/{account}/companies/{company}/activateActivar un NIF de la cuenta
POST/v1/accounts/{account}/companies/activateActivar varios NIF de la cuenta
POST/v1/accounts/{account}/companiesRegistrar un NIF en la cuenta
GET/v1/accounts/{account}/companies/{company}/creation-statusConsultar el estado de creación de un NIF
POST/v1/accounts/{account}/companies/{company}/deactivateDesactivar un NIF de la cuenta
DEL/v1/accounts/{account}/companies/{company}Archivar un NIF de la cuenta
GET/v1/accounts/{account}/companiesListar los NIF de tu cuenta
GET/v1/accounts/{account}/companies/seat-charge-previewPrevisualiza el cargo por asiento de añadir una empresa
GET/v1/accounts/{account}/companies/{company}Obtener un NIF de la cuenta
PATCH/v1/accounts/{account}/companies/{company}Actualizar un NIF de la cuenta
POST/v1/accounts/{account}/companies/{company}/verify-creationVerificar la creación de un NIF
GET/v1/companies/{company}/contacts/{contact}/activitiesListar la actividad del contacto
POST/v1/companies/{company}/contacts/{contact}/archiveArchivar un contacto
POST/v1/companies/{company}/contacts/{contact}/roles/{role}Asignar un rol de contacto
POST/v1/companies/{company}/contacts/bulk/archiveArchivar contactos en lote
POST/v1/companies/{company}/contacts/bulk/statusCambiar el estado de roles de contactos en lote
POST/v1/companies/{company}/contacts/bulk-createCrear contactos en lote
POST/v1/companies/{company}/contacts/bulk-deleteEliminar contactos en lote
PATCH/v1/companies/{company}/contacts/{contact}/roles/{role}/statusCambiar el estado de un rol de contacto
POST/v1/companies/{company}/contactsCrear un contacto
DEL/v1/companies/{company}/contacts/{contact}Eliminar un contacto
POST/v1/companies/{company}/contacts/find-by-external-idBuscar un contacto por ID externo
POST/v1/companies/{company}/contacts/find-by-tax-idBuscar un contacto por identificador fiscal
POST/v1/companies/{company}/contacts/importImportar contactos
GET/v1/companies/{company}/contacts/import/templateDescargar la plantilla de importación de contactos
GET/v1/companies/{company}/contactsListar contactos
GET/v1/companies/{company}/contacts/optionsListar opciones de filtros de contactos
POST/v1/companies/{company}/contacts/import/previewPrevisualizar una importación de contactos
DEL/v1/companies/{company}/contacts/{contact}/roles/{role}Eliminar un rol de contacto
POST/v1/companies/{company}/contacts/{contact}/restoreRestaurar un contacto archivado
GET/v1/companies/{company}/contacts/searchBuscar contactos
GET/v1/companies/{company}/contacts/{contact}Obtener un contacto
GET/v1/companies/{company}/contacts/statsObtener estadísticas de contactos
PATCH/v1/companies/{company}/contacts/{contact}Actualizar un contacto
PATCH/v1/companies/{company}/contacts/{contact}/bank-accountsSustituir las cuentas bancarias de un contacto
PATCH/v1/companies/{company}/contacts/{contact}/customer-profileActualizar un perfil de cliente
PATCH/v1/companies/{company}/contacts/{contact}/supplier-profileActualizar un perfil de proveedor
POST/v1/companies/{company}/contacts/census-verificationVerificar un contacto contra el censo de la AEAT
POST/v1/companies/{company}/delivery-notes/bulk-deleteEliminación masiva de albaranes
POST/v1/companies/{company}/delivery-notes/bulk-pdfDescargar en bloque los PDF de albaranes
POST/v1/companies/{company}/delivery-notes/bulk-sendEnviar albaranes en bloque
POST/v1/companies/{company}/delivery-notes/bulk-statusCambiar en bloque el estado de albaranes
POST/v1/companies/{company}/delivery-notes/{delivery_note}/cancelAnular un albarán
POST/v1/companies/{company}/delivery-notes/{delivery_note}/convertConvertir albarán en factura
POST/v1/companies/{company}/delivery-notesCrear un albarán
DEL/v1/companies/{company}/delivery-notes/{delivery_note}Elimina un albarán
POST/v1/companies/{company}/delivery-notes/{delivery_note}/duplicateDuplicar un albarán
POST/v1/companies/{company}/delivery-notes/find-by-external-idBuscar un albarán por external ID
GET/v1/companies/{company}/delivery-notesListar todos los albaranes
POST/v1/companies/{company}/delivery-notes/{delivery_note}/mark-deliveredMarca el albarán como entregado
GET/v1/companies/{company}/delivery-notes/{delivery_note}/pdfDescargar el PDF del albarán
GET/v1/companies/{company}/delivery-notes/{delivery_note}/public-linkObtener el enlace público de un albarán
PATCH/v1/companies/{company}/delivery-notes/{delivery_note}/public-linkActualizar el enlace público de un albarán
POST/v1/companies/{company}/delivery-notes/{delivery_note}/sendEnvía un albarán
GET/v1/companies/{company}/delivery-notes/{delivery_note}Obtener un albarán
POST/v1/companies/{company}/delivery-notes/{delivery_note}/signFirmar un albarán
POST/v1/companies/{company}/delivery-notes/signature-audits/{auditId}/forgetOlvidar la PII de la firma del albarán
GET/v1/companies/{company}/delivery-notes/statsRecupera las estadísticas de albaranes
GET/v1/companies/{company}/delivery-notes/statusesListar estados de albarán
PATCH/v1/companies/{company}/delivery-notes/{delivery_note}Actualizar un albarán
GET/v1/companies/{company}/request-logsLista el registro de peticiones de tu API
GET/v1/companies/{company}/request-logs/{request_id}Consulta un registro de petición de la API
GET/v1/companies/{company}/emails/indicatorsResume la entrega de email por documento
GET/v1/companies/{company}/emailsLista los emails enviados
GET/v1/companies/{company}/emails/{email}Consulta un email enviado
DEL/v1/companies/{company}/employee-invitations/{invitation}Cancelar una invitación de empleado
GET/v1/companies/{company}/employee-invitationsListar las invitaciones de empleado
POST/v1/companies/{company}/employee-invitations/{invitation}/resendReenviar una invitación de empleado
POST/v1/companies/{company}/employee-invitationsEnviar una invitación de empleado
POST/v1/accounts/{account}/employee-seats/cancelCancelar el add-on de asientos de empleado
POST/v1/accounts/{account}/employee-seats/change-quantitySincronizar la cantidad de asientos de empleado
GET/v1/accounts/{account}/employee-seats/previewPrevisualizar el cargo del asiento de empleado
GET/v1/accounts/{account}/employee-seatsObtener el estado de facturación de asientos de empleado
POST/v1/accounts/{account}/employee-seats/subscribeSuscribirse al add-on de asientos de empleado
POST/v1/companies/{company}/employeesCrear un empleado
POST/v1/companies/{company}/employees/{employee}/deactivateDesactivar un empleado
POST/v1/companies/{company}/employees/find-by-external-idBuscar un empleado por external ID
GET/v1/companies/{company}/employeesListar todos los empleados
POST/v1/companies/{company}/employees/{employee}/reactivateReactivar un empleado
GET/v1/companies/{company}/employees/{employee}Obtener un empleado
GET/v1/companies/{company}/employees/statsObtener las estadísticas de empleados
PATCH/v1/companies/{company}/employees/{employee}Actualizar un empleado
GET/v1/companies/{company}/eventsListar todos los eventos
GET/v1/companies/{company}/events/{event}Obtener un evento
POST/v1/companies/{company}/face-submissions/{faceSubmission}/cancelSolicitar la anulación de un envío a FACe
GET/v1/companies/{company}/face-submissions/{faceSubmission}Obtener un envío a FACe
GET/v1/accounts/{account}/gestoria/workforce-summaryObtener el resumen consolidado de cumplimiento de plantilla
GET/v1/companies/{company}/holidaysListar todos los festivos
GET/v1/companies/{company}/holidays/resolveResolver los festivos aplicables
GET/v1/companies/{company}/holidays/{holiday}Obtener un festivo
GET/v1/companies/{company}/integrations/eventsLista los eventos de integración
POST/v1/companies/{company}/integrations/events/{event}/replayReprocesa un evento de integración aparcado
GET/v1/companies/{company}/integrations/events/{event}Consulta un evento de integración
GET/v1/companies/{company}/invoices/{invoice}/activitiesListar la actividad de la factura
POST/v1/companies/{company}/invoices/{invoice}/annulAnular una factura
POST/v1/companies/{company}/invoices/{invoice}/assign-real-numberAsignar un número de factura real
POST/v1/companies/{company}/invoices/bulk-createCrear facturas en bloque
POST/v1/companies/{company}/invoices/bulk-deleteEliminación masiva de facturas
POST/v1/companies/{company}/invoices/bulk-pdfDescargar en bloque los PDF de facturas
POST/v1/companies/{company}/invoices/bulk-sendEnviar facturas en bloque
POST/v1/companies/{company}/invoices/bulk-statusCambiar en bloque el estado de facturas
GET/v1/companies/{company}/invoices/{invoice}/can-annulComprobar elegibilidad para anulación
POST/v1/companies/{company}/invoices/{invoice}/correctiveGenerar factura rectificativa
GET/v1/companies/{company}/invoices/{invoice}/correctivesListar facturas rectificativas
POST/v1/companies/{company}/invoicesCrea una factura
POST/v1/companies/{company}/invoices/{invoice}/create-recurringCrear una factura recurrente a partir de una factura
DEL/v1/companies/{company}/invoices/{invoice}Elimina una factura
POST/v1/companies/{company}/invoices/{invoice}/duplicateDuplicar una factura
POST/v1/companies/{company}/invoices/export/excelExportar facturas a una hoja de cálculo
GET/v1/companies/{company}/invoices/{invoice}/face-submissionsListar los envíos a FACe de la factura
POST/v1/companies/{company}/invoices/{invoice}/face-submissionsEnviar la factura a FACe
GET/v1/companies/{company}/invoices/{invoice}/facturaeDescargar el XML de FacturaE
POST/v1/companies/{company}/invoices/find-by-external-idBuscar una factura por external ID
POST/v1/companies/{company}/invoices/find-by-numberBuscar una factura por número
GET/v1/companies/{company}/invoicesListar todas las facturas
POST/v1/companies/{company}/invoices/{invoice}/mark-paidMarca la factura como pagada
POST/v1/companies/{company}/invoices/{invoice}/mark-sentMarca una factura como enviada
GET/v1/companies/{company}/invoices/{invoice}/payment-receiptDescargar el PDF del justificante de un cobro
POST/v1/companies/{company}/invoices/{invoice}/paymentsRegistrar un pago
GET/v1/companies/{company}/invoices/{invoice}/paymentsListar pagos de factura
POST/v1/companies/{company}/invoices/{invoice}/payments/{payment}/reversalAnular un pago de una factura
GET/v1/companies/{company}/invoices/{invoice}/pdfDescargar el PDF de la factura
GET/v1/companies/{company}/invoices/{invoice}/pdf-linkGenerar enlace temporal a PDF
GET/v1/companies/{company}/invoices/{invoice}/pdf/previewPrevisualizar el PDF de un borrador de factura
GET/v1/companies/{company}/invoices/{invoice}/public-linkRecupera el enlace público de la factura
PATCH/v1/companies/{company}/invoices/{invoice}/public-linkActualizar el enlace público de una factura
GET/v1/companies/{company}/invoices/quarterly/available-quartersListar los trimestres exportables
POST/v1/companies/{company}/invoices/quarterly/download-zipGenerar archivo ZIP trimestral
POST/v1/companies/{company}/invoices/quarterly/send-emailEnviar por email el ZIP trimestral al asesor
POST/v1/companies/{company}/invoices/{invoice}/reminder-previewVista previa de un email de recordatorio de pago
PATCH/v1/companies/{company}/invoices/{invoice}/rescheduleReprogramar una factura
POST/v1/companies/{company}/invoices/{invoice}/scheduleProgramar una factura
POST/v1/companies/{company}/invoices/{invoice}/sendEnvía la factura por email
POST/v1/companies/{company}/invoices/{invoice}/send-reminderEnvía un recordatorio de pago
GET/v1/companies/{company}/invoices/{invoice}Recupera una factura
POST/v1/companies/{company}/invoices/simplified-eligibilityComprobar elegibilidad de factura simplificada
GET/v1/companies/{company}/invoices/statsObtener estadísticas de facturas
GET/v1/companies/{company}/invoices/statusesListar estados de factura
POST/v1/companies/{company}/invoices/substitute-simplifiedSustituir facturas simplificadas por factura completa
POST/v1/companies/{company}/invoices/{invoice}/unscheduleDesprogramar una factura
POST/v1/companies/{company}/invoices/{invoice}/unsendAnular el envío de una factura
PATCH/v1/companies/{company}/invoices/{invoice}Actualizar una factura
POST/v1/companies/{company}/invoices/{invoice}/verifactuForzar la creación del registro VeriFactu de una factura
GET/v1/companies/{company}/invoices/{invoice}/verifactuRecupera el registro VeriFactu de la factura
POST/v1/companies/{company}/invoices/{invoice}/voidAnular una factura
POST/v1/companies/{company}/monthly-time-record-closesCerrar un registro de jornada mensual
GET/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/exportDescargar el registro cerrado (RD-ley 8/2019)
GET/v1/companies/{company}/monthly-time-record-closesListar todos los cierres mensuales de registro de jornada
GET/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/payroll-exportDescargar la exportación de nómina de un mes cerrado
POST/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/reopenReabrir un cierre de registro de jornada mensual
GET/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/reportObtener el informe de un periodo cerrado
POST/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/sealSellar un registro de jornada mensual
GET/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/sealObtener el sello de un registro mensual
GET/v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}Obtener un cierre de registro de jornada mensual
GET/v1/companies/{company}/payoutsListar payouts de Stripe
GET/v1/companies/{company}/payouts/{payout}Obtener un payout de Stripe
GET/v1/companies/{company}/presence/dailyListar las declaraciones de presencialidad oficina/remoto
GET/v1/companies/{company}/presenceObtener la presencia del equipo en vivo
GET/v1/companies/{company}/presence/{employee}Obtener la presencia en vivo de un empleado
POST/v1/companies/{company}/price-listsCrear una tarifa
DEL/v1/companies/{company}/price-lists/{priceList}Eliminar una tarifa
DEL/v1/companies/{company}/price-lists/{priceList}/items/{item}Eliminar un ítem de tarifa
GET/v1/companies/{company}/price-lists/{priceList}/itemsListar ítems de tarifa
POST/v1/companies/{company}/price-lists/{priceList}/items/{item}/purgeEliminar permanentemente una entrada de tarifa retirada
POST/v1/companies/{company}/price-lists/{priceList}/items/{item}/reassignReasignar una entrada de tarifa retirada
POST/v1/companies/{company}/price-lists/{priceList}/itemsHacer upsert de un ítem de tarifa
GET/v1/companies/{company}/price-listsListar tarifas
GET/v1/companies/{company}/price-lists/optionsListar opciones de tarifas activas
POST/v1/companies/{company}/price-lists/resolveResolver un precio de catálogo
POST/v1/companies/{company}/price-lists/resolve-manyResolver varios precios de catálogo
GET/v1/companies/{company}/price-lists/{priceList}Consultar una tarifa
PATCH/v1/companies/{company}/price-lists/{priceList}Actualizar una tarifa
GET/v1/companies/{company}/products/{product}/activitiesListar la línea temporal de actividad del producto
POST/v1/companies/{company}/products/bulk-deleteElimina varios productos de forma masiva
POST/v1/companies/{company}/products/bulk-statusCambiar en bloque el estado activo de productos
POST/v1/companies/{company}/products/bulk-update-stockActualizar el stock de varios productos
POST/v1/companies/{company}/products/{product}/configurations/impact-previewPrevisualizar el impacto de restringir un catálogo
GET/v1/companies/{company}/products/{product}/configurationsListar combinaciones comerciales de un producto
POST/v1/companies/{company}/productsCrear un producto
DEL/v1/companies/{company}/products/{product}Elimina un producto
POST/v1/companies/{company}/products/find-by-external-idBuscar un producto por external ID
POST/v1/companies/{company}/products/find-by-skuBuscar un producto por SKU
DEL/v1/companies/{company}/products/{product}/gallery/{index}Elimina una imagen de la galería de un producto
GET/v1/companies/{company}/products/{product}/gallery/{index}/downloadDescargar el binario de una imagen de la galería de un producto
POST/v1/companies/{company}/products/{product}/gallerySube una imagen de galería a un producto
GET/v1/companies/{company}/productsListar todos los productos
GET/v1/companies/{company}/products/low-stock-reportLista los productos por debajo del umbral de stock
GET/v1/companies/{company}/products/{product}/optionsListar grupos de opciones de un producto
POST/v1/companies/{company}/products/{product}/presentationsCrear una presentación de producto
DEL/v1/companies/{company}/products/{product}/presentations/{presentation}Eliminar una presentación de producto
GET/v1/companies/{company}/products/{product}/presentationsListar presentaciones de producto
PATCH/v1/companies/{company}/products/{product}/presentations/{presentation}Actualizar una presentación de producto
POST/v1/companies/{company}/products/{product}/resolve-selectionResolver una selección de catálogo
GET/v1/companies/{company}/products/{product}/sales-analyticsObtener analíticas de ventas de productos
GET/v1/companies/{company}/products/searchBusca productos
GET/v1/companies/{company}/products/{product}Obtener un producto
GET/v1/companies/{company}/products/statsObtener estadísticas de productos
GET/v1/companies/{company}/products/{product}/stock-movementsListar movimientos de stock de un producto
POST/v1/companies/{company}/products/{product}/supplier-offersCrear una oferta de proveedor
DEL/v1/companies/{company}/products/{product}/supplier-offers/{offer}Eliminar una oferta de proveedor
GET/v1/companies/{company}/products/{product}/supplier-offersListar ofertas de proveedor
POST/v1/companies/{company}/products/{product}/supplier-offers/{offer}/preferredEstablecer la oferta de proveedor preferida
PATCH/v1/companies/{company}/products/{product}/supplier-offers/{offer}Actualizar una oferta de proveedor
POST/v1/companies/{company}/products/{product}/toggle-activeAlternar el estado activo del producto
PATCH/v1/companies/{company}/products/{product}Actualizar un producto
PATCH/v1/companies/{company}/products/{product}/stockActualizar el stock de un producto
POST/v1/companies/{company}/products/{product}/variantsCrear una variante de producto
DEL/v1/companies/{company}/products/{product}/variants/{variant}Eliminar una variante de producto
GET/v1/companies/{company}/products/{product}/variantsListar variantes de producto
PATCH/v1/companies/{company}/products/{product}/variants/{variant}Actualizar una variante de producto
DEL/v1/companies/{company}/products/{product}/videoElimina el vídeo del producto
GET/v1/companies/{company}/products/{product}/video/downloadDescargar el binario del vídeo de un producto
POST/v1/companies/{company}/products/{product}/videoSube un vídeo a un producto
POST/v1/companies/{company}/proformas/{proforma}/acceptAceptar una proforma
POST/v1/companies/{company}/proformas/bulk-deleteEliminación masiva de proformas
POST/v1/companies/{company}/proformas/bulk-pdfDescargar en bloque los PDF de proformas
POST/v1/companies/{company}/proformas/bulk-sendEnviar proformas en bloque
POST/v1/companies/{company}/proformas/bulk-statusCambiar en bloque el estado de proformas
POST/v1/companies/{company}/proformas/{proforma}/convertConvertir proforma en factura
POST/v1/companies/{company}/proformasCrea una proforma
DEL/v1/companies/{company}/proformas/{proforma}Elimina una proforma
POST/v1/companies/{company}/proformas/{proforma}/duplicateDuplicar una proforma
POST/v1/companies/{company}/proformas/find-by-external-idBuscar una proforma por external ID
GET/v1/companies/{company}/proformasListar todas las proformas
GET/v1/companies/{company}/proformas/{proforma}/pdfDescargar el PDF de la proforma
GET/v1/companies/{company}/proformas/{proforma}/public-linkRecupera el enlace público de la proforma
PATCH/v1/companies/{company}/proformas/{proforma}/public-linkActualizar el enlace público de una proforma
POST/v1/companies/{company}/proformas/{proforma}/rejectRechazar una proforma
POST/v1/companies/{company}/proformas/{proforma}/sendEnvía la proforma por email
GET/v1/companies/{company}/proformas/{proforma}Obtener una proforma
GET/v1/companies/{company}/proformas/statsObtener estadísticas de proformas
GET/v1/companies/{company}/proformas/statusesLista los estados de proforma
PATCH/v1/companies/{company}/proformas/{proforma}Actualizar una proforma
POST/v1/companies/{company}/purchase-invoices/{purchase_invoice}/attach-fileAdjuntar un archivo a un gasto
POST/v1/companies/{company}/purchase-invoices/bulk-deleteEliminación masiva de gastos
POST/v1/companies/{company}/purchase-invoices/bulk-statusCambiar en bloque el estado de gastos
POST/v1/companies/{company}/purchase-invoicesCrea un gasto
DEL/v1/companies/{company}/purchase-invoices/{purchase_invoice}Elimina un gasto
DEL/v1/companies/{company}/purchase-invoices/{purchase_invoice}/fileElimina un archivo de un gasto
GET/v1/companies/{company}/purchase-invoices/{purchase_invoice}/fileDescargar el archivo original del gasto
POST/v1/companies/{company}/purchase-invoices/find-by-external-idBuscar un gasto por external ID
GET/v1/companies/{company}/purchase-invoicesListar todos los gastos
GET/v1/companies/{company}/purchase-invoices/{purchase_invoice}/paymentsListar pagos de gasto
POST/v1/companies/{company}/purchase-invoices/{purchase_invoice}/mark-paidMarca el gasto como pagado
GET/v1/companies/{company}/purchase-invoices/overdueListar gastos vencidos
GET/v1/companies/{company}/purchase-invoices/{purchase_invoice}/payment-receiptDescargar el PDF del justificante de un pago de un gasto
GET/v1/companies/{company}/purchase-invoices/pendingListar gastos pendientes
POST/v1/companies/{company}/purchase-invoices/{purchase_invoice}/paymentsRegistrar un pago de gasto
GET/v1/companies/{company}/purchase-invoices/{purchase_invoice}Obtener un gasto
GET/v1/companies/{company}/purchase-invoices/statsObtener estadísticas de gastos
PATCH/v1/companies/{company}/purchase-invoices/{purchase_invoice}Actualizar un gasto
POST/v1/companies/{company}/quotes/{quote}/acceptAceptar un presupuesto
POST/v1/companies/{company}/quotes/bulk-deleteEliminación masiva de presupuestos
POST/v1/companies/{company}/quotes/bulk-pdfDescargar en bloque los PDF de presupuestos
POST/v1/companies/{company}/quotes/bulk-sendEnviar presupuestos en bloque
POST/v1/companies/{company}/quotes/bulk-statusCambiar en bloque el estado de presupuestos
POST/v1/companies/{company}/quotes/{quote}/convertConvertir presupuesto en factura
POST/v1/companies/{company}/quotesCrea un presupuesto
DEL/v1/companies/{company}/quotes/{quote}Elimina un presupuesto
POST/v1/companies/{company}/quotes/{quote}/duplicateDuplicar un presupuesto
POST/v1/companies/{company}/quotes/find-by-external-idBuscar un presupuesto por external ID
GET/v1/companies/{company}/quotesListar todos los presupuestos
GET/v1/companies/{company}/quotes/{quote}/pdfDescargar el PDF del presupuesto
GET/v1/companies/{company}/quotes/{quote}/public-linkRecupera el enlace público del presupuesto
PATCH/v1/companies/{company}/quotes/{quote}/public-linkActualizar el enlace público de un presupuesto
POST/v1/companies/{company}/quotes/{quote}/rejectRechazar un presupuesto
POST/v1/companies/{company}/quotes/{quote}/sendEnvía el presupuesto por email
GET/v1/companies/{company}/quotes/{quote}Obtener un presupuesto
GET/v1/companies/{company}/quotes/statsObtener estadísticas de presupuestos
GET/v1/companies/{company}/quotes/statusesLista los estados de presupuesto
PATCH/v1/companies/{company}/quotes/{quote}Actualizar un presupuesto
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/activateActivar factura recurrente
GET/v1/companies/{company}/recurring-invoices/{recurring_invoice}/activitiesLista la actividad de facturas recurrentes
POST/v1/companies/{company}/recurring-invoices/bulk-deleteEliminación masiva de facturas recurrentes
POST/v1/companies/{company}/recurring-invoices/bulk-statusCambiar en bloque el estado de facturas recurrentes
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/cancelAnular factura recurrente
POST/v1/companies/{company}/recurring-invoicesCrea una factura recurrente
DEL/v1/companies/{company}/recurring-invoices/{recurring_invoice}Elimina una factura recurrente
POST/v1/companies/{company}/recurring-invoices/find-by-external-idBuscar una factura recurrente por external ID
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/generateGenera una factura a partir de una plantilla recurrente
GET/v1/companies/{company}/recurring-invoicesListar todas las facturas recurrentes
GET/v1/companies/{company}/recurring-invoices/{recurring_invoice}/logsLista los logs de ejecución de facturas recurrentes
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/pausePausar factura recurrente
GET/v1/companies/{company}/recurring-invoices/{recurring_invoice}/previewVista previa de las próximas fechas de la factura recurrente
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/resumeReanudar factura recurrente
GET/v1/companies/{company}/recurring-invoices/{recurring_invoice}Obtener una factura recurrente
POST/v1/companies/{company}/recurring-invoices/{recurring_invoice}/skipOmitir la próxima generación de la factura recurrente
GET/v1/companies/{company}/recurring-invoices/statsRecupera las estadísticas de facturas recurrentes
PATCH/v1/companies/{company}/recurring-invoices/{recurring_invoice}Actualizar una factura recurrente
GET/v1/companies/{company}/series/activeListar series activas por tipo de documento
GET/v1/companies/{company}/series/{series}/activitiesLista la línea temporal de actividad de la serie
POST/v1/companies/{company}/series/{series}/archiveArchivar una serie
POST/v1/companies/{company}/series/bootstrapCrea las series por defecto de una empresa
POST/v1/companies/{company}/seriesCrea una serie
GET/v1/companies/{company}/series/defaultObtener la serie por defecto para un tipo de documento
POST/v1/companies/{company}/series/find-by-codeBuscar una serie por código
GET/v1/companies/{company}/seriesListar todas las series
POST/v1/companies/{company}/series/{series}/defaultMarca una serie como predeterminada para su tipo
GET/v1/companies/{company}/series/{series}Obtener una serie
GET/v1/companies/{company}/series/statsObtener estadísticas de series
POST/v1/companies/{company}/series/{series}/unarchiveDesarchivar una serie
POST/v1/companies/{company}/shopify/stores/{store}/connection-testComprobar la conexión de una tienda Shopify
POST/v1/companies/{company}/storesConectar una tienda
DEL/v1/companies/{company}/stores/{store}Desconectar una tienda
GET/v1/companies/{company}/storesListar tiendas conectadas
GET/v1/companies/{company}/stores/{store}Obtener una tienda conectada
PATCH/v1/companies/{company}/stores/{store}Actualizar la configuración de la tienda
DEL/v1/companies/{company}/connected-accounts/{account}Desconectar una cuenta Stripe conectada
GET/v1/companies/{company}/connected-accountsListar cuentas Stripe conectadas
GET/v1/companies/{company}/connected-accounts/{account}Obtener una cuenta Stripe conectada
PATCH/v1/companies/{company}/connected-accounts/{account}Actualizar una cuenta Stripe conectada
GET/v1/companies/{company}/stripe-autoinvoicing/configObtener la configuración de auto-facturación de Stripe
PATCH/v1/companies/{company}/stripe-autoinvoicing/configActualizar la configuración de auto-facturación de Stripe
GET/v1/companies/{company}/stripe-autoinvoicing/correctivesListar las rectificativas auto-facturadas de Stripe
GET/v1/companies/{company}/stripe-autoinvoicing/paymentsListar cobros auto-facturados de Stripe
GET/v1/companies/{company}/tax-reports/{tax_report}/activitiesLista las actividades de informes de impuestos
GET/v1/companies/{company}/tax-reports/{tax_report}/downloadDescargar el archivo del informe de impuestos
POST/v1/companies/{company}/tax-reports/find-by-periodBuscar un informe de impuestos por periodo
POST/v1/companies/{company}/tax-reports/130Generar Modelo 130
POST/v1/companies/{company}/tax-reports/303Generar Modelo 303
POST/v1/companies/{company}/tax-reports/347Generar Modelo 347
GET/v1/companies/{company}/tax-reports/historyLista el historial de informes de impuestos
POST/v1/companies/{company}/tax-reports/previewVista previa de un informe de impuestos
GET/v1/companies/{company}/tax-reports/statsRecupera las estadísticas del informe de impuestos
GET/v1/companies/{company}/taxes/activeListar impuestos activos
GET/v1/companies/{company}/taxes/by-typeLista los impuestos filtrados por tipo
POST/v1/companies/{company}/taxes/calculateCalcular un impuesto sobre un importe base
POST/v1/companies/{company}/taxes/calculate-totalsCalcular totales para un conjunto de líneas
GET/v1/companies/{company}/taxes/defaults/{docType}Obtener los impuestos por defecto para un tipo de documento
GET/v1/companies/{company}/taxes/for-purchasesLista los impuestos aplicables a las compras
GET/v1/companies/{company}/taxes/for-salesLista los impuestos aplicables a las ventas
GET/v1/companies/{company}/taxes/{tax}/is-in-useComprobar si un impuesto está en uso
GET/v1/companies/{company}/taxesListar todos los impuestos
GET/v1/companies/{company}/taxes/{tax}Obtener un impuesto
GET/v1/companies/{company}/taxes/statsObtener estadísticas de impuestos
GET/v1/companies/{company}/time-balances/employee/{employee}Obtener el saldo horario de un empleado para un periodo
GET/v1/companies/{company}/time-balances/monthly-sheetObtener la hoja horaria mensual de un empleado
GET/v1/companies/{company}/time-balances/team-summaryObtener el resumen de saldo horario del equipo
POST/v1/companies/{company}/time-corrections/{time_correction}/approveAprobar una corrección de fichaje
POST/v1/companies/{company}/time-correctionsSolicitar una corrección de fichaje
GET/v1/companies/{company}/time-correctionsListar todas las correcciones de fichaje
POST/v1/companies/{company}/time-corrections/{time_correction}/rejectRechazar una corrección de fichaje
GET/v1/companies/{company}/time-corrections/{time_correction}Obtener una corrección de fichaje
GET/v1/companies/{company}/time-entries/chain/validateValidar la cadena de hashes del registro de jornada
POST/v1/companies/{company}/time-entries/clock-inFichar la entrada de un empleado
POST/v1/companies/{company}/time-entries/clock-outFichar la salida de un empleado
GET/v1/companies/{company}/time-entries/currentObtener el estado de jornada actual de un empleado
GET/v1/companies/{company}/time-entriesListar todos los fichajes
POST/v1/companies/{company}/time-entries/manualRegistrar una entrada manual retroactiva
POST/v1/companies/{company}/time-entries/pauseIniciar una pausa
POST/v1/companies/{company}/time-entries/resumeReanudar tras una pausa
GET/v1/companies/{company}/time-entries/{time_entry}Obtener un fichaje
GET/v1/companies/{company}/time-tracking-settingsObtener la configuración de control horario
PATCH/v1/companies/{company}/time-tracking-settingsActualizar la configuración de control horario
GET/v1/companies/{company}/verifactu/aeat-access/recordsListar registros de acceso de AEAT
GET/v1/companies/{company}/verifactu/aeat-access/records/{record}Obtener un registro de acceso a AEAT
POST/v1/companies/{company}/verifactu/certificates/{certificate}/activateActivar un certificado de empresa
GET/v1/companies/{company}/verifactu/certificates/activeRecupera el certificado activo
GET/v1/companies/{company}/verifactu/certificatesListar certificados de la empresa
DEL/v1/companies/{company}/verifactu/certificates/{certificate}Revoca un certificado de empresa
POST/v1/companies/{company}/verifactu/certificatesSube un certificado de empresa
GET/v1/companies/{company}/verifactu/chain/validateValida la cadena de hashes de VeriFactu
GET/v1/companies/{company}/verifactu/configRecupera la configuración de VeriFactu
GET/v1/companies/{company}/verifactu/declaracion-responsableRecupera la declaración responsable actual
GET/v1/companies/{company}/verifactu/declaracion-responsable/historyListar el historial de declaración responsable
GET/v1/companies/{company}/verifactu/eventsLista los eventos de VeriFactu
POST/v1/companies/{company}/verifactu/events/{event}/retryReintenta un evento de VeriFactu
GET/v1/companies/{company}/verifactu/events/{event}Obtener un evento VeriFactu
GET/v1/companies/{company}/verifactu/events/summaryObtener el resumen de eventos de VeriFactu
GET/v1/companies/{company}/verifactu/records/{record}/activitiesLista la línea temporal de actividad del registro VeriFactu
POST/v1/companies/{company}/verifactu/records/find-by-csvBuscar un registro VeriFactu por CSV de la AEAT
POST/v1/companies/{company}/verifactu/records/find-by-huellaBuscar un registro VeriFactu por hash
POST/v1/companies/{company}/verifactu/records/find-by-invoice-numberBuscar un registro VeriFactu por número de factura
GET/v1/companies/{company}/verifactu/recordsLista los registros VeriFactu
POST/v1/companies/{company}/verifactu/records/{record}/retryReintenta la transmisión a VeriFactu
GET/v1/companies/{company}/verifactu/records/{record}Obtener un registro VeriFactu
POST/v1/companies/{company}/verifactu/records/{record}/subsanarSubsanar un registro VeriFactu
PATCH/v1/companies/{company}/verifactu/settingsActualizar la configuración de VeriFactu
GET/v1/companies/{company}/verifactu/statsObtener estadísticas de VeriFactu
POST/v1/companies/{company}/webhook-endpointsCrea un webhook endpoint
DEL/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}Elimina un webhook endpoint
GET/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveriesLista las entregas de webhook
POST/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries/{delivery}/replayReenviar entrega de webhook
GET/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries/{delivery}Recupera la entrega del webhook
GET/v1/companies/{company}/webhook-endpointsListar todos los webhook endpoints
POST/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/pingHacer ping al webhook endpoint
POST/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/rotate-secretRota el secreto del webhook
GET/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}Obtener un webhook endpoint
POST/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/test-eventEnviar un evento de prueba
PATCH/v1/companies/{company}/webhook-endpoints/{webhook_endpoint}Actualizar un webhook endpoint
POST/v1/companies/{company}/woocommerce/stores/{store}/connection-testComprobar la conexión de una tienda WooCommerce
POST/v1/companies/{company}/work-schedules/{schedule}/archiveArchivar un horario de trabajo
POST/v1/companies/{company}/work-schedules/{schedule}/assignAsignar un horario a un empleado
GET/v1/companies/{company}/work-schedules/{schedule}/assignmentsListar las asignaciones de un horario
POST/v1/companies/{company}/work-schedulesCrear un horario de trabajo
GET/v1/companies/{company}/work-schedules/employee/{employee}Obtener el horario de un empleado en una fecha
GET/v1/companies/{company}/work-schedulesListar todos los horarios de trabajo
GET/v1/companies/{company}/work-schedules/{schedule}Obtener un horario de trabajo
GET/v1/companies/{company}/work-schedules/statsObtener las estadísticas de horarios de trabajo
POST/v1/companies/{company}/work-schedules/{schedule}/unarchiveDesarchivar un horario de trabajo
POST/v1/companies/{company}/work-schedules/{schedule}/unassignDesasignar un horario de un empleado
PATCH/v1/companies/{company}/work-schedules/{schedule}Actualizar un horario de trabajo

En esta página

¿Te echamos una mano?Contactar con soporte