Una sola finestra de ruptura: eix i payload
Els recursos d'empresa i de compte passen a la URL, els imports viatgen com a cadenes decimals, la data de cobrament canvia de nom, X-Active-Profile es rebutja i el compte passa a ser el client. Totes les operacions que toca la finestra —519— recurs a recurs.
30 de setembre de 2026 — el contracte de la v1 es trenca en cinc punts alhora, i aquesta publicació anuncia els cinc junts perquè són una sola migració: el codi que toques per qualsevol d'ells és el que toques pels altres quatre. No hi haurà una segona finestra.
- L'eix viatja a la URL. Un recurs d'empresa viu ara sota
/v1/companies/{company}/…i un de compte sota/v1/accounts/{account}/…. L'empresa efectiva deixa de deduir-se de la credencial i va a la ruta, on es veu, es registra i s'audita. - Els imports viatgen com a cadenes decimals. Cada camp monetari d'un payload publicat és una cadena, ja no un número JSON.
- La data de cobrament canvia de nom.
paid_atipaid_ondesapareixen del payload publicat. Una factura i una factura de compra publiquenpaid_recorded_atipaid_date. X-Active-Profilequeda retirada. Una petició que encara porti la capçalera es rebutja amb400 parameter_unknown, subcodiretired_active_profile_header, abans d'arribar al controlador.- El compte passa a ser el client. Un NIF canvia de mans amb un traspàs
(
nif-transfers), les persones d'un compte són membres amb grants per NIF, un NIF extra és un NIF addicional (paid_untilsubstitueixseat_paid_until, i tres codis d'error canvien de nom), i es retiren les API keys emeses per empresa i les escriptures del catàleg d'impostos.
Adapta-ho una vegada. Un client que escrigui el segment de l'eix a la URL, llegeixi els imports com a cadenes, faci servir els nous noms de les dates, deixi d'enviar la capçalera i tracti les operacions i els codis que es llisten a sota ja ha acabat amb aquesta finestra. No hi ha mode de compatibilitat, ni camp en paral·lel, ni una segona ruptura.
Aquesta pàgina enumera totes les operacions que la finestra toca, recurs a recurs: 519 files en total — 49 noves, 294 mogudes a l'eix amb només la ruta canviada, 161 mogudes amb canvis afegits, 11 retirades i 4 intactes. Una ruta és el seu verb i el seu path, així que les trenta-tres operacions de la taula de verbs compten com a mogudes encara que no hi canviï res més. El contracte resultant, juntament amb les operacions que s'han sumat després a l'eix, publica 664 operacions vives en 51 recursos, i cada xifra d'aquesta pàgina surt d'aquest contracte, no d'un resum seu.
D'on surt l'id de l'empresa
El segment d'empresa porta l'id opac de l'empresa, mai el seu NIF.
GET /v1/me publica una entrada per cada NIF que abasta la teva credencial, i
el seu id és exactament el que va a 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 és, a més, el substitut de GET /v1/account, que ja no existeix, i
no exigeix cap scope: qualsevol credencial vàlida pot introspectar-se.
data.account.id va al segment de compte; cada data.scope[].id va al segment
d'empresa. Quan el teu compte provisiona comptes gestionats, o altres comptes li
van cedir accés, data.client_accounts[] llista els comptes de clients que
abasta, amb el seu origin, el seu access_level i el seu status i si el teu
compte els paga. Només s'omple quan la clau porta el scope privilegiat
accounts:read: sense ell la llista va buida i client_accounts_visible és
false. Crida'l un cop en arrencar i desa la correspondència: és estable.
Eix d'empresa — /v1/companies/{company}/<recurs>
Del segment d'empresa pengen 44 famílies de recursos, 359 rutes i 432 de les operacions de la finestra:
| Recurs | Rutes | Operacions |
|---|---|---|
absence-balances | 2 | 2 |
absence-calendar | 1 | 1 |
absence-policies | 8 | 10 |
absence-requests | 5 | 6 |
absence-types | 4 | 6 |
automations | 15 | 18 |
billing | 1 | 1 |
census-verification | 1 | 1 |
connected-accounts | 2 | 4 |
contacts | 23 | 27 |
delivery-notes | 18 | 22 |
emails | 3 | 3 |
employee-invitations | 3 | 4 |
employees | 6 | 8 |
events | 2 | 2 |
face-submissions | 2 | 2 |
holidays | 3 | 3 |
integrations | 3 | 3 |
invoices | 45 | 52 |
monthly-time-record-closes | 7 | 9 |
payouts | 2 | 2 |
personalization | 2 | 2 |
presence | 3 | 3 |
price-lists | 9 | 13 |
products | 31 | 41 |
proformas | 16 | 20 |
purchase-invoices | 13 | 18 |
quotes | 16 | 20 |
recurring-invoices | 15 | 18 |
request-logs | 2 | 2 |
series | 11 | 12 |
shopify | 1 | 1 |
stores | 2 | 5 |
stripe-autoinvoicing | 3 | 4 |
tax-reports | 9 | 9 |
taxes | 11 | 11 |
time-balances | 3 | 3 |
time-corrections | 4 | 5 |
time-entries | 9 | 9 |
time-tracking-settings | 1 | 2 |
verifactu | 24 | 25 |
webhook-endpoints | 8 | 11 |
woocommerce | 1 | 1 |
work-schedules | 9 | 11 |
| Total | 359 | 432 |
Eix de compte — /v1/accounts/{account}/<recurs>
El segment de compte porta l'id del teu propi compte, data.account.id de
GET /v1/me; en una llista tancada de rutes admet també l'id d'un compte
gestionat teu. Del segment pengen 16 famílies de recursos,
49 rutes i 65 de les operacions de la finestra:
| Recurs | Rutes | Operacions |
|---|---|---|
access-level | 1 | 1 |
api-keys | 5 | 6 |
claim-tokens | 1 | 1 |
companies | 10 | 13 |
employee-seats | 5 | 5 |
gestoria | 1 | 1 |
invitations | 3 | 5 |
management | 1 | 1 |
members | 5 | 11 |
nif-transfers | 3 | 4 |
owner | 1 | 1 |
plan | 2 | 2 |
provisioning-usage | 1 | 1 |
request-logs | 2 | 2 |
usage | 1 | 1 |
webhooks | 7 | 10 |
| Total | 49 | 65 |
claim-tokens conserva la seva fila a la taula, però ja no és el traspàs de
NIF: POST /v1/accounts/{account}/claim-tokens reemet el val de reclamació d'un
compte gestionat. El traspàs és nif-transfers, i els seus scopes i els seus
codis es reanomenen igual: nif_transfers:read, nif_transfers:write,
nif_transfer_expired i nif_transfer_invalid. Les rutes claim-tokens del
traspàs, els scopes claim_tokens:* i els codis claim_token_* de les
compilacions prèvies d'aquest contracte no existeixen al definitiu.
Arrel — sense eix
Deu rutes no pertanyen ni a una empresa ni a l'eix del teu propi compte, i entre
totes porten onze operacions. Cinc són introspecció i catàlegs, i només una es va
moure: GET /v1/me substitueix GET /v1/account. Les altres cinc són l'arrel
d'aprovisionament, nova en aquesta finestra: allà el recurs és un compte
gestionat o una importació massiva, així que no penja de cap eix.
| Ruta | Què és |
|---|---|
GET /v1/me | Introspecció de la credencial autenticada: el seu compte, la seva API key, els seus scopes efectius i cada NIF que abasta, cadascun amb el seu id opac, més els comptes de clients que abasta per una relació. No exigeix cap scope. Substitueix GET /v1/account, i els ajustos per empresa que retornava aquella (company, plan, addon i personalization) ja no en formen part: viuen a l'eix d'empresa. |
GET /v1/event-catalog | Catàleg de tipus d'esdeveniment als quals pots subscriure un webhook endpoint d'empresa. |
GET /v1/payment-methods | Catàleg de mètodes de pagament admesos en un document. |
GET /v1/payroll-export-formats | Catàleg de formats d'exportació de nòmina per al tancament mensual. |
GET /v1/tax-catalog | Catàleg de tipus impositius espanyols, sense empresa pròpia. |
GET /v1/accounts | Llista els comptes gestionats que el teu compte ha provisionat, a l'entorn de la clau. |
POST /v1/accounts | Provisiona un compte separat per a un dels teus clients, amb el seu NIF, el seu pla i el nivell d'accés que hi conserva el teu compte. Cada compte porta el teu external_ref; l'operació és irreversible i exigeix Idempotency-Key. |
GET /v1/accounts/{account} | Detall d'un compte gestionat: el seu estat, el seu entorn, el seu pla, el teu nivell d'accés sobre ell, els seus NIF i l'estat de la gestió. |
GET /v1/accounts/imports/template | Plantilla CSV de la importació massiva de comptes gestionats. |
POST /v1/accounts/imports/preview | Vista prèvia d'una importació massiva sense cap efecte: cada fila torna amb el seu estat i els seus errors per columna. |
POST /v1/accounts/imports | Aplica una importació massiva de comptes gestionats i NIF propis. És irreversible i exigeix Idempotency-Key. |
El contracte mateix, /v1/openapi.json, també segueix on era.
Cinc paranys abans de reescriure una URL
- El guió baix passa a guió. Cinc recursos canvien de separador en
moure's:
tax_reports,purchase_invoices,recurring_invoices,delivery_notesiwebhook_endpointspassen atax-reports,purchase-invoices,recurring-invoices,delivery-notesiwebhook-endpoints. Quatre segments d'acció els segueixen:dry_run,mark_paid,rotate_secretitest_eventpassen adry-run,mark-paid,rotate-secretitest-event. Cap segment de ruta del contracte conserva un guió baix. - Famílies que esperaries a l'arrel són a l'eix d'empresa. Festius, el
catàleg d'automatitzacions i els seus camps per activador, la facturació del
pla, la verificació censal, la personalització, els lliuraments de correu,
els esdeveniments, els registres de peticions i els quatre llistats d'estats
de document (
invoices,quotes,proformasidelivery-notespubliquen cadascun el seustatuses) semblen catàlegs globals i no ho són: la seva resposta depèn de l'empresa. {company}no sempre és l'eix, i{account}no sempre és el compte. A/v1/accounts/{account}/companies/{company}/…—els NIF d'una cartera— i a/v1/accounts/{account}/members/{member}/grants/{company}—el grant d'un membre sobre un NIF—,{company}és el recurs al qual apuntes, així que l'escrius encara que la teva credencial abasti una sola empresa. I a/v1/companies/{company}/connected-accounts/{account},{account}és un compte connectat de Stripe. Catorze operacions porten els dos paràmetres: distingeix-los per la ruta, mai pel nom del paràmetre.- Els webhooks d'empresa, els esdeveniments, els correus, els registres de
peticions i la facturació del pla són recursos d'empresa, no de compte. A
l'eix de compte hi ha les API keys, els membres (amb els seus grants i el seu
accés per mòdul), les invitacions, els traspassos de NIF, els seients
d'empleat, la cartera de NIF, el seu consum, el seu titular, les rutes
d'aprovisionament d'un compte gestionat i, nous en aquesta finestra, els
webhooks i els registres de peticions del propi compte:
/v1/accounts/{account}/webhooksno és/v1/companies/{company}/webhook-endpoints, i les seves operacions difereixen. Consulta la guia de webhooks de compte. - Sota
/v1/accounts/{account}/…,{account}és el teu propi compte. Només una llista tancada de rutes admet també l'id d'un compte gestionat teu —les rutes d'aprovisionament i les dades dels seus NIF—; qualsevol altre id de compte, existeixi o no, respon el mateix404 account_not_found. L'arrel d'aprovisionament és diferent: a/v1/accountsi aGET /v1/accounts/{account}el compte és el propi recurs. Consulta la guia de comptes gestionats.
Setze operacions que la finestra afegeix
Obren l'eix de compte, que no tenia superfície pública pròpia més enllà de les API keys: el traspàs de NIF, l'equip amb les seves invitacions, la titularitat, el consum i, sota la cartera, l'aptitud d'emissió d'un NIF. Són rutes noves, així que res del que avui existeix es trenca per elles.
No són les úniques operacions noves. La finestra en publica 49 en total, i les altres trenta-tres pertanyen al model de comptes —aprovisionament i comptes gestionats, importació massiva, webhooks i registres de peticions de compte, els grants d'un membre sobre cada NIF i la revocació d'un traspàs, entre altres—. La nota de la publicació model de comptes les descriu, i les seves files són a l'inventari del final d'aquesta pàgina.
| Operació | Scope | Què fa |
|---|---|---|
GET /v1/accounts/{account}/nif-transfers | nif_transfers:read | Llista els traspassos de NIF que ha emès el teu compte, amb el seu estat (active, expired, revoked o consumed). Els traspassos rebuts d'altres comptes no es llisten mai. |
POST /v1/accounts/{account}/nif-transfers | nif_transfers:write | Emet un traspàs sobre un NIF del compte i retorna el seu secret una sola vegada. Caduca a les 24 hores llevat que passis un expires_at (fins a 7 dies), i recipient_account_id el tanca a un sol compte. Irreversible, i exigeix Idempotency-Key. |
POST /v1/accounts/{account}/nif-transfers/accept | nif_transfers:write | Bescanvia un traspàs amb el seu secret i mou el NIF al compte que el presenta, on compta com a NIF addicional tret que el compte es registrés sense cap. Irreversible. Un traspàs vençut respon 422 nif_transfer_expired; qualsevol altre secret inservible respon 422 nif_transfer_invalid. |
GET /v1/accounts/{account}/invitations | invitations:read | Llista les invitacions del compte, que pots filtrar per status (pending, accepted, revoked o expired). |
POST /v1/accounts/{account}/invitations | invitations:write | Convida una persona per correu amb un role de compte (admin o member) i la llista de grants que un member té sobre els NIF del compte. Exigeix Idempotency-Key. |
POST /v1/accounts/{account}/invitations/{invitation}/resend | invitations:write | Emet un nou secret d'acceptació per a una invitació pendent i en renova el termini; l'anterior deixa de funcionar. Una invitació fora de termini respon 422 invitation_expired. Exigeix Idempotency-Key. |
DELETE /v1/accounts/{account}/invitations/{invitation} | invitations:write | Revoca una invitació pendent; mai retira un membre existent. Una que no existeix o és d'un altre compte respon 404 invitation_not_found. |
GET /v1/accounts/{account}/members | members:read | Llista les persones de l'equip del compte, amb el seu role de compte (owner, admin o member), la seva marca external_advisor i els grants de cada member. |
POST /v1/accounts/{account}/members | members:write | Afegeix una persona a l'equip del compte amb un role de compte (admin o member) i la llista obligatòria de grants, sense passar per una invitació. La titularitat es transfereix, mai s'assigna. |
PATCH /v1/accounts/{account}/members/{member} | members:write | Canvia el role de compte d'un membre, la seva marca external_advisor, o tots dos. El titular no pot canviar de rol: la titularitat es transfereix. |
DELETE /v1/accounts/{account}/members/{member} | members:write | Retira una persona de tot l'equip del compte: deixa d'abastar tots els NIF del compte i perd els seus grants. Irreversible. El titular del compte respon 422 member_is_last_owner: transfereix abans la titularitat. |
GET /v1/accounts/{account}/members/{member}/module-access | members:read | Llegeix les restriccions per mòdul d'un membre en un NIF, que passes al paràmetre de query obligatori company_id. |
PATCH /v1/accounts/{account}/members/{member}/module-access | members:write | Substitueix el conjunt complet de restriccions per mòdul d'un membre en un NIF (company_id); un objecte restrictions buit les aixeca totes. |
PATCH /v1/accounts/{account}/owner | account:owner | Lliura la titularitat del compte a un altre membre, que s'indica a owner_user_id; el titular sortint passa a admin. Irreversible, i exigeix Idempotency-Key. Qui no és el titular actual rep 403 owner_transfer_forbidden. |
GET /v1/accounts/{account}/usage | account:read | Consum del compte en el període en curs: peticions totals, documents totals i el desglossament per cada NIF que abasta la teva credencial. |
GET /v1/accounts/{account}/companies/{company}/issuing-readiness | companies:read | Diu si un NIF de la cartera ja pot emetre: un veredicte can_issue i una llista tancada de blockers (cens, sèrie per defecte, perfil fiscal, certificat VeriFactu i altres), resolts en una crida. Mai informa de la facturació. |
Els codis invitation_expired, invitation_not_found, member_is_last_owner,
nif_transfer_expired i nif_transfer_invalid formen part dels trenta-set codis
d'error nous que es llisten més avall.
Onze operacions que la finestra retira
Cinc són les API keys emeses per empresa, que desapareixen. Una key és una
credencial del compte, no d'una de les seves empreses, i les operacions que
sobreviuen ho diuen a la ruta i al scope: api_keys:read /
api_keys:write deixen pas a account:read / account:write, que és el que ja
feia servir l'eix de compte.
| Abans | Ara |
|---|---|
GET /v1/companies/{company}/api-keys · api_keys:read | GET /v1/accounts/{account}/api-keys · account:read |
POST /v1/companies/{company}/api-keys · api_keys:write | POST /v1/accounts/{account}/api-keys · account:write |
GET /v1/companies/{company}/api-keys/{api_key} · api_keys:read | GET /v1/accounts/{account}/api-keys/{api_key} · account:read |
POST /v1/companies/{company}/api-keys/{api_key}/rotate-secret · api_keys:write | POST /v1/accounts/{account}/api-keys/{api_key}/rotate-secret · account:write |
DELETE /v1/companies/{company}/api-keys/{api_key} · api_keys:write | POST /v1/accounts/{account}/api-keys/{api_key}/revoke · account:write |
scoped_company_ids és un camp nou del body de
POST /v1/accounts/{account}/api-keys:
és on es restringeix una key a una part de la cartera, que és justament el que
feia la ruta per empresa.
El catàleg d'impostos passa a ser de només lectura
Les altres sis operacions retirades són les escriptures del catàleg d'impostos. El catàleg és comú a tota la plataforma, així que una credencial d'empresa que l'editava l'editava per a totes les empreses; ara només l'escriu l'administració de la plataforma.
| Operació | Abans | Scope |
|---|---|---|
public-api.v1.taxes.create | POST /v1/taxes | taxes:write |
public-api.v1.taxes.delete | DELETE /v1/taxes/{tax} | taxes:delete |
public-api.v1.taxes.update | PUT /v1/taxes/{tax} | taxes:write |
public-api.v1.taxes.set_default | POST /v1/taxes/{tax}/set-default | taxes:write |
public-api.v1.taxes.set_default_for_document | PUT /v1/taxes/{tax}/set-default/{docType} | taxes:write |
public-api.v1.taxes.toggle | POST /v1/taxes/{tax}/toggle | taxes:write |
No tenen substitut. Les lectures es queden: GET /v1/companies/{company}/taxes i
les seves germanes a l'eix d'empresa, i GET /v1/tax-catalog a l'arrel. Una
crida a una escriptura retirada respon 405 method_not_allowed allà on la seva
ruta encara serveix una lectura, i 404 route_not_found allà on no. Els scopes
taxes:write i taxes:delete segueixen al catàleg de scopes, però cap
operació els exigeix ja: concedir-los no dona accés a res.
Clients i proveïdors segueixen retirats
/v1/clients i /v1/suppliers es van retirar abans d'aquesta finestra, amb
l'arribada dels contactes canònics, i no
tornen a l'eix. Un NIF és un contacte, i els rols customer i supplier
s'acumulen sobre ell:
- Clients:
GET /v1/companies/{company}/contacts?roles[]=customer - Proveïdors:
GET /v1/companies/{company}/contacts?roles[]=supplier
Les famílies de scopes clients:* i suppliers:* queden substituïdes per
contacts:read, contacts:write i contacts:delete.
Trenta-tres operacions canvien de verb
Trenta-dues passen de PUT a PATCH: ja acceptaven un body parcial, així que el
verb mentia. El body no canvia; només el mètode. L'actualització de factures
recurrents n'és una: tots els camps són opcionals i l'omès es conserva. La
restant, contacts.restore, passa a POST: és una acció sense body,
com archive i unarchive, no una actualització parcial. Després d'aquesta
finestra l'únic PUT del contracte és una operació nova,
PUT /v1/accounts/{account}/members/{member}/grants/{company}, que crea o
substitueix el grant d'un membre sobre un NIF.
| Operació | Abans | Ara |
|---|---|---|
public-api.v1.absence-policies.update | PUT /v1/absence-policies/{absence_policy} | PATCH /v1/companies/{company}/absence-policies/{absence_policy} |
public-api.v1.absence-types.update | PUT /v1/absence-types/{absence_type} | PATCH /v1/companies/{company}/absence-types/{absence_type} |
public-api.v1.automations.rules.update | PUT /v1/automations/rules/{rule} | PATCH /v1/companies/{company}/automations/rules/{rule} |
public-api.v1.contacts.change_contact_role_status | PUT /v1/contacts/{contact}/roles/{role}/status | PATCH /v1/companies/{company}/contacts/{contact}/roles/{role}/status |
public-api.v1.contacts.restore | PUT /v1/contacts/{contact}/restore | POST /v1/companies/{company}/contacts/{contact}/restore |
public-api.v1.contacts.update | PUT /v1/contacts/{contact} | PATCH /v1/companies/{company}/contacts/{contact} |
public-api.v1.contacts.update_bank_accounts | PUT /v1/contacts/{contact}/bank-accounts | PATCH /v1/companies/{company}/contacts/{contact}/bank-accounts |
public-api.v1.contacts.update_customer_profile | PUT /v1/contacts/{contact}/customer-profile | PATCH /v1/companies/{company}/contacts/{contact}/customer-profile |
public-api.v1.contacts.update_supplier_profile | PUT /v1/contacts/{contact}/supplier-profile | PATCH /v1/companies/{company}/contacts/{contact}/supplier-profile |
public-api.v1.delivery_notes.public_link.update | PUT /v1/delivery_notes/{delivery_note}/public-link | PATCH /v1/companies/{company}/delivery-notes/{delivery_note}/public-link |
public-api.v1.delivery_notes.update | PUT /v1/delivery_notes/{delivery_note} | PATCH /v1/companies/{company}/delivery-notes/{delivery_note} |
public-api.v1.employees.update | PUT /v1/employees/{employee} | PATCH /v1/companies/{company}/employees/{employee} |
public-api.v1.invoices.public_link_update | PUT /v1/invoices/{invoice}/public-link | PATCH /v1/companies/{company}/invoices/{invoice}/public-link |
public-api.v1.invoices.update | PUT /v1/invoices/{invoice} | PATCH /v1/companies/{company}/invoices/{invoice} |
public-api.v1.price-lists.update | PUT /v1/price-lists/{priceList} | PATCH /v1/companies/{company}/price-lists/{priceList} |
public-api.v1.products.presentations.update | PUT /v1/products/{product}/presentations/{presentation} | PATCH /v1/companies/{company}/products/{product}/presentations/{presentation} |
public-api.v1.products.supplier-offers.update | PUT /v1/products/{product}/supplier-offers/{offer} | PATCH /v1/companies/{company}/products/{product}/supplier-offers/{offer} |
public-api.v1.products.update | PUT /v1/products/{product} | PATCH /v1/companies/{company}/products/{product} |
public-api.v1.products.update_stock | PUT /v1/products/{product}/stock | PATCH /v1/companies/{company}/products/{product}/stock |
public-api.v1.products.variants.update | PUT /v1/products/{product}/variants/{variant} | PATCH /v1/companies/{company}/products/{product}/variants/{variant} |
public-api.v1.proformas.public_link_update | PUT /v1/proformas/{proforma}/public-link | PATCH /v1/companies/{company}/proformas/{proforma}/public-link |
public-api.v1.proformas.update | PUT /v1/proformas/{proforma} | PATCH /v1/companies/{company}/proformas/{proforma} |
public-api.v1.purchase_invoices.update | PUT /v1/purchase_invoices/{purchase_invoice} | PATCH /v1/companies/{company}/purchase-invoices/{purchase_invoice} |
public-api.v1.quotes.public_link_update | PUT /v1/quotes/{quote}/public-link | PATCH /v1/companies/{company}/quotes/{quote}/public-link |
public-api.v1.quotes.update | PUT /v1/quotes/{quote} | PATCH /v1/companies/{company}/quotes/{quote} |
public-api.v1.recurring_invoices.update | PUT /v1/recurring_invoices/{recurring_invoice} | PATCH /v1/companies/{company}/recurring-invoices/{recurring_invoice} |
public-api.v1.stores.update | PUT /v1/stores/{store} | PATCH /v1/companies/{company}/stores/{store} |
public-api.v1.stripe_autoinvoicing.accounts.update | PUT /v1/connected-accounts/{account} | PATCH /v1/companies/{company}/connected-accounts/{account} |
public-api.v1.stripe_autoinvoicing.config.update | PUT /v1/stripe-autoinvoicing/config | PATCH /v1/companies/{company}/stripe-autoinvoicing/config |
public-api.v1.time_tracking_settings.update | PUT /v1/time-tracking-settings | PATCH /v1/companies/{company}/time-tracking-settings |
public-api.v1.verifactu.settings.update | PUT /v1/verifactu/settings | PATCH /v1/companies/{company}/verifactu/settings |
public-api.v1.webhook_endpoints.update | PUT /v1/webhook_endpoints/{webhook_endpoint} | PATCH /v1/companies/{company}/webhook-endpoints/{webhook_endpoint} |
public-api.v1.work_schedules.update | PUT /v1/work-schedules/{schedule} | PATCH /v1/companies/{company}/work-schedules/{schedule} |
Trenta-set codis d'error nous
El catàleg passa de 376 a 410 codis: arriben trenta-set i se'n retiren tres (secció següent). Trenta dels nous pertanyen a la superfície de compte, quatre a la porta del NIF addicional, dos a l'accés que té sobre un NIF la persona que va emetre una key, i un als webhooks de compte.
| Codi | Estat | Tipus | Significat |
|---|---|---|---|
access_level_raise_forbidden | 422 | invalid_request_error | S'ha intentat pujar el nivell d'accés sobre un compte gestionat que el seu titular ja ha reclamat. Des de la reclamació només el titular pot pujar aquest nivell; el proveïdor només el pot baixar. |
account_webhook_endpoint_limit_reached | 422 | invalid_request_error | El compte va arribar al nombre d'endpoints de webhook de compte que permet el seu tram en aquest entorn. El límit es compta per compte i per entorn (live o test) i inclou els endpoints desactivats: només s'allibera una plaça en esborrar un endpoint. |
additional_nif_charge_failed | 402 | payment_required_error | El cobrament immediat del NIF addicional va ser rebutjat: la targeta es va denegar, necessita autenticació, o el proveïdor de pagament era inaccessible. Si no es cobra, el NIF no s'afegeix ni s'activa i no queda cap càrrec. |
additional_nif_not_in_plan | 403 | authorization_error | El compte té un pla vigent, però aquest pla no inclou NIF addicionals: només Empresario i Enterprise (també en prova) els admeten. No s'ha cobrat res ni s'ha escrit cap canvi. |
additional_nif_plan_required | 402 | payment_required_error | El compte no té un pla vigent, així que no hi ha subscripció sobre la qual cobrar el NIF addicional. No s'ha cobrat res ni s'ha escrit cap canvi. |
billing_managed_by_provider | 403 | authorization_error | La facturació d'aquest compte la paga un altre compte, així que aquest no pot contractar pel seu compte un NIF addicional. No s'ha cobrat res ni s'ha escrit cap canvi. |
company_read_only | 403 | authorization_error | Qui va emetre la credencial té accés de només lectura (nivell view) a l'empresa efectiva: el seu rol al compte li permet veure aquest NIF, no escriure-hi. El nivell efectiu és el menor entre el desat a la credencial i el que la persona té avui. |
emitter_capability_restricted | 403 | authorization_error | La persona que va emetre la credencial té retirada, a l'empresa efectiva, la secció o l'acció que exigeix l'operació. És la mateixa restricció per mòdul que l'administrador de l'empresa li va posar a l'aplicació web, i s'aplica encara que el seu nivell d'accés al NIF sigui operate. |
enterprise_contract_transition_required | 422 | invalid_request_error | El compte gestionat té un contracte enterprise i, en acabar la gestió, el seu pagament passaria al titular sense que Factuarea hagi fixat encara el pla amb què continua. Mai no es crea una subscripció sense preu, així que no s'ha canviat res. |
external_advisor_already_assigned | 422 | invalid_request_error | El compte ja té un assessor extern marcat: només n'hi pot haver un per compte. |
grant_company_not_in_account | 422 | invalid_request_error | El NIF del grant no és un NIF real del compte o queda fora de l'àmbit de NIF de la credencial. La resposta és la mateixa en tots dos casos, sense revelar quin. |
grants_only_for_member | 422 | invalid_request_error | Només un membre amb rol member pot tenir permisos per NIF (grants). El titular (owner) i els administradors (admin) arriben a tots els NIF del compte, així que un grant sobre ells no significaria res. |
import_file_invalid | 422 | invalid_request_error | Un dels fitxers de la importació no es pot llegir amb el format de la plantilla: no és un CSV llegible, la capçalera no apareix a les 20 primeres línies, li falta una columna obligatòria o té una línia trencada. param indica quin fitxer falla (accounts_file o customers_file) i el missatge, la columna o la línia. No s'ha escrit res. |
import_file_too_large | 413 | invalid_request_error | Un dels fitxers de la importació supera els 5 MB. La mida es comprova abans de llegir cap fila, així que no s'ha processat ni escrit res. param indica quin fitxer falla (accounts_file o customers_file). |
import_in_progress | 409 | conflict_error | Ja hi ha una importació massiva d'aquest compte proveïdor en curs. Les importacions d'un mateix compte s'apliquen d'una en una per no crear comptes, càrrecs ni NIF duplicats, així que aquesta no s'ha aplicat ni ha escrit res. |
import_row_limit_exceeded | 422 | invalid_request_error | Un dels fitxers de la importació porta més files de les que admet una importació: 100 al fitxer de comptes (accounts_file) i 1.000 al de clients (customers_file). Les files es compten abans de llegir-les, així que no s'ha processat ni escrit res. param indica quin fitxer falla. |
invitation_expired | 422 | invalid_request_error | La invitació existeix i és d'aquesta empresa, però la seva finestra d'acceptació ja s'ha tancat, de manera que qui la va rebre no la pot bescanviar. |
invitation_not_found | 404 | not_found_error | L'identificador no correspon a cap invitació pendent de l'empresa autenticada: pot haver-se cancel·lat, haver-se acceptat ja o pertànyer a una altra empresa. |
live_credential_required | 403 | authorization_error | Una clau de proves ha intentat modificar un compte de producció. Només passa en les operacions que canvien el compte —membres, invitacions, titularitat, traspassos de NIF, cartera de NIF, claus i seients—: una clau de proves no pot alterar dades reals. |
managed_account_external_ref_in_other_environment | 409 | conflict_error | La referència externa ja la fa servir un compte gestionat de l'altre entorn (real o de proves). La referència és única entre els dos entorns, i la resposta no anomena aquest compte perquè aquest entorn no el llista. No s'ha escrit res. |
managed_account_not_claimable | 422 | invalid_request_error | El compte gestionat és de proves, i un compte de proves no es reclama mai: no té val de reclamació per emetre ni per reemetre. |
managed_account_plan_not_self_serve | 422 | invalid_request_error | S'ha demanat el pla enterprise per a un compte gestionat. Un compte gestionat es crea o es canvia a emprendedor o empresario; enterprise només l'assigna Factuarea per contracte. |
managed_account_provider_in_trial | 422 | invalid_request_error | El compte proveïdor és en període de prova i ha demanat un compte gestionat real, que es cobra. Durant la prova només es poden crear comptes gestionats de proves. |
managed_accounts_limit_reached | 422 | invalid_request_error | El compte proveïdor ja té tants comptes gestionats reals amb la gestió vigent com admet el seu límit. Els comptes gestionats de proves no compten per a aquest límit. |
member_is_last_owner | 422 | invalid_request_error | L'operació deixaria el NIF sense cap persona que l'administri: el membre que es dona de baixa, o que es degrada a un rol sense administració, és l'últim amb rol owner o admin en aquest NIF. |
member_not_found | 404 | not_found_error | L'identificador no correspon a cap membre de l'equip del compte: o aquesta persona no va pertànyer mai a l'empresa autenticada, o és d'una altra. La superfície de compte respon igual en tots dos casos. |
nif_transfer_expired | 422 | invalid_request_error | El traspàs de NIF es va emetre de debò, però el seu termini de validesa ha vençut. A diferència d'un traspàs no reconegut, aquesta resposta només arriba a qui ja en tenia un de real, així que no revela res de nou. |
nif_transfer_invalid | 422 | invalid_request_error | El traspàs de NIF presentat no autoritza res: el seu secret està mal copiat, truncat, ja consumit o no es va emetre mai. Tots aquests casos responen igual expressament, perquè l'operació no serveixi per sondejar quins traspassos existeixen. |
owner_transfer_forbidden | 403 | authorization_error | Qui fa la petició no està autoritzat a transferir la titularitat del compte: o no és el titular actual, o el destinatari proposat no la pot rebre. És qüestió de permís, no de payload mal format. |
privileged_scope_required | 403 | authorization_error | L'operació exigeix el privilegi de proveïdor de comptes (accounts:read o accounts:write) i no es compleix: o el compte de la clau no el té concedit, o la persona que va emetre la clau ja no és propietària ni administradora del compte. Les dues causes responen igual. |
provisioning_account_claimed | 409 | conflict_error | El titular ja ha reclamat aquest compte gestionat i l'administra pel seu compte: ja no es pot tornar a reclamar, reemetre el seu val de reclamació ni tornar-lo a provisionar amb la mateixa referència externa. |
relation_already_exists | 422 | invalid_request_error | Ja hi ha un accés pendent o vigent entre aquests dos comptes, i només en pot haver un d'obert per cada parella de comptes. |
relation_company_not_in_grantor | 422 | invalid_request_error | La llista de NIF de l'accés no és vàlida: o anomena un NIF que no pertany al compte que cedeix l'accés, o arriba buida. L'error assenyala el camp company_ids i no diu quin dels NIF falla. |
relation_invitation_expired | 422 | invalid_request_error | La invitació d'accés existeix i continua pendent, però el seu termini d'acceptació ha vençut, així que ja no es pot acceptar. |
relation_invitation_invalid | 422 | invalid_request_error | La invitació d'accés presentada no serveix: el seu secret no existeix, ja s'ha fet servir, s'ha revocat o va adreçada a un altre compte. Tots aquests casos responen igual a propòsit, perquè l'operació no serveixi per sondejar invitacions alienes. |
relation_self_grant_not_allowed | 422 | invalid_request_error | El compte indicat no pot rebre l'accés: o és el mateix compte que el cedeix, o l'identificador no correspon a un compte vàlid. Els dos casos responen igual. |
relation_transition_not_allowed | 422 | invalid_request_error | L'accés entre comptes és en un estat que no admet el canvi demanat: per exemple, acceptar-ne un que ja és vigent o reenviar la invitació d'un que ja ha acabat. |
nif_transfer_expired i nif_transfer_invalid ocupen el lloc de
claim_token_expired i claim_token_invalid, els codis del traspàs
claim-tokens de les compilacions prèvies, que ja no existeixen.
A banda, 190 de les operacions que ja existien documenten ara un 404 que
abans no documentaven: un segment d'eix que anomena una empresa o un compte que
la teva credencial no abasta respon 404, no 403, de manera que l'API mai
confirma l'existència d'una empresa que no pots veure. Tota operació de l'eix
d'empresa documenta 404 profile_not_found per a això; un compte que no abastes
respon 404 account_not_found.
Tres codis d'error que la finestra retira
El NIF addicional substitueix el càrrec per seient de cada empresa i les seves
portes de pla i de mòdul, així que tres codis surten del catàleg. Ramifica segons
el substitut: l'estat i l'error.type són els mateixos en cada parella.
| Codi retirat | Estat | El substitueix |
|---|---|---|
gestoria_module_required | 403 | additional_nif_not_in_plan (403) |
gestoria_plan_required | 402 | additional_nif_plan_required (402) |
seat_charge_failed | 402 | additional_nif_charge_failed (402) |
Payload: imports, dates i cobertura
Cada import és una cadena decimal
123 propietats monetàries repartides en 40 esquemes publicats
passen de número JSON a cadena: totals, subtotals de línia, impostos,
retencions, recàrrecs, preus i costos unitaris, imports cobrats i pendents,
estadístiques, xifres de payouts, vistes prèvies de càrrec i els llindars de la
factura simplificada. La cadena porta dos decimals, punt com a separador, sense
separador de milers ni símbol de moneda; la moneda conserva el seu camp
currency. L'única excepció és el unit_price d'una línia de document, que
conserva l'escala de quatre decimals amb què es desa ("100.0000"), de manera
que llegir una línia i tornar-la a enviar no canvia mai el seu preu; els imports
derivats de la línia (subtotal, taxes i total) en conserven 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 torna com a 1210, 1210.0 o
1209.9999999999998 segons qui el parsegi. Llegeix cada camp de diners a un
tipus decimal de precisió fixa — Decimal a Python, un big decimal o unitats
mínimes a JavaScript — i mai a un float binari. Els esquemes afectats són
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 i
VeriFactuRecord.
La data de cobrament canvia de nom
paid_at i paid_on desapareixen del payload publicat. No s'emeten en
paral·lel ni es mantenen com a àlies: el sufix _at marca un instant, i cada nom
canònic diu ara de quina data es tracta.
| Abans llegies | Ara llegeixes |
|---|---|
paid_at en una factura | paid_recorded_at (date-time), l'instant en què es va registrar el cobrament |
paid_on en una factura | paid_date (date), la data de cobrament declarada |
paid_at en una factura de compra | paid_date (date), la data de pagament declarada, i paid_recorded_at (date-time), l'instant en què es va registrar el pagament |
paid_on en un pagament de factura de compra | paid_date (date) |
El body de la petició no canvia: mark-paid i el registre de pagaments
segueixen prenent paid_on, una data YYYY-MM-DD, i el llistat de factures
filtra per paid_on[gte], paid_on[lte], paid_on[gt] i paid_on[lt]. Envies
paid_on i llegeixes paid_date i paid_recorded_at.
La cobertura pagada d'un NIF canvia de nom
El recurs Company perd seat_paid_until i publica paid_until: la data fins a
la qual el NIF està cobert com a NIF addicional del compte (ISO 8601). Val
null quan el NIF no s'ha cobrat mai o la seva cobertura ha caducat, i
reactivar-lo abans d'aquesta data és gratis. El recurs guanya a més readiness,
el mateix veredicte i els mateixos bloquejos que issuing-readiness, i
suspension_reason: payer_blocked quan el compte que paga un compte gestionat
té la facturació bloquejada, management_ended quan la gestió va acabar abans
que ningú assumís el pagament, i null en qualsevol altre cas.
Les respostes de creació declaren Location
Quaranta-una operacions responen 201 Created amb una capçalera Location: la
URL canònica, relativa al servidor, del recurs que ha creat la petició, amb el
segment de l'eix a dins —per a una factura,
/v1/companies/{company}/invoices/{invoice} amb els dos ids emplenats—. La
capçalera no és nova al cable: vint-i-dues d'aquestes operacions ja l'enviaven
sense declarar-la, i ara el contracte ho diu. Quatre de les quaranta-una són
operacions noves. Segueix Location en lloc de reconstruir la URL a partir de la
resposta.
La capçalera que ja no existeix
X-Active-Profile es rebutja per presència, mai pel seu valor: un id ben
format, l'id d'una empresa que no abastes, un valor mal format i una cadena
buida reben el mateix error.
| Camp | Valor |
|---|---|
| Estat | 400 |
error.code | parameter_unknown |
error.type | invalid_request_error |
error.param | X-Active-Profile |
error.subcode | retired_active_profile_header |
Ignorar la capçalera hauria estat l'opció «compatible» perillosa: la crida sortiria bé i emetria el document amb el NIF del titular de la credencial en lloc del que pretenies, sense cap senyal.
# Abans
curl https://api.factuarea.com/v1/invoices \
-H "Authorization: Bearer $FACTUAREA_API_KEY" \
-H "X-Active-Profile: $COMPANY_ID"
# Ara
curl https://api.factuarea.com/v1/companies/$COMPANY_ID/invoices \
-H "Authorization: Bearer $FACTUAREA_API_KEY"Tot identificador públic és un UUID v7
Tot id que retorna l'API, i tot identificador d'una ruta, és un UUID v7:
ordenat en el temps, de manera que ordenar per id segueix l'ordre de
creació. Hi ha un únic format, sigui quin sigui el recurs.
- Els registres nous reben sempre un UUID v7, també les factures que s'emeten automàticament a partir de cobraments d'Stripe.
- Els identificadors que crees tu —l'
idd'una configuració, un grup d'opcions o un valor d'opció nous aproducts.createiproducts.update— han de ser UUID v7. Qualsevol altra versió es rebutja amb422; un element existent conserva el seu identificador. - Uns pocs registres antics —alguns documents, configuracions de producte
i certificats de VeriFactu creats abans que UUID v7 fos la norma— reben un
UUID v7 nou en aquesta finestra. L'
idantic deixa de respondre a l'API, així que torna a llegir aquests registres des dels seus llistats si en vas desar els ids. Els enllaços públics de documents que ja vas enviar continuen funcionant i obren el document amb el seu identificador nou.
Idempotència després de la mudança
El mecanisme de replay no canvia i creix amb la superfície. Les 287
escriptures publiquen Idempotent-Replayed i repeteixen la resposta d'una key
repetida, i 130 declaren Idempotency-Key com a obligatòria — tretze més
que abans de la finestra, perquè l'eix de compte i la superfície
d'aprovisionament sumen escriptures irreversibles (emetre, bescanviar i revocar
un traspàs de NIF, retirar un membre, transferir la titularitat, crear un compte
gestionat, acabar-ne la gestió, canviar-ne el pla, reemetre'n el val, aplicar una
importació, rotar el secret d'un webhook de compte i esborrar-lo) i unes quantes
més que no són irreversibles però mereixen la mateixa protecció (enviar i
reenviar una invitació, reintentar el lliurament d'un webhook de compte i provar
un endpoint). 69 queden marcades com a irreversibles, nou més que abans.
| Codi | Estat | Significat |
|---|---|---|
idempotency_key_reused | 422 | Aquesta key ja es va fer servir amb un altre payload. Una key identifica una operació concreta, així que reutilitzar-la per a una altra deixaria el replay sense sentit. |
idempotency_key_required | 422 | L'operació produeix un efecte que no es pot desfer i faltava la capçalera. Es rebutja abans d'executar res de negoci. |
idempotency_key_in_use | 409 | Una altra petició amb la mateixa key continua en vol i el seu resultat encara no es coneix. |
idempotency_key_invalid | 400 | La key no té entre 1 i 255 caràcters ASCII imprimibles. |
idempotency_key_reused és la que s'ha mogut: abans d'aquesta finestra
responia 409, i ara respon 422. L'empremta a la qual es lliga una key inclou
la ruta, així que la mateixa key enviada a /v1/invoices i a
/v1/companies/{company}/invoices no és un replay. Mentre migres, genera una key
nova per crida en lloc de reutilitzar les que ja tingui la teva cua. Llegeix la
guia d'idempotència.
CLI, SDK de PHP i SDK de Node
Tots tres es generen des d'aquest contracte i es regeneren contra ell: les rutes de recurs de la CLI, els mètodes d'operació del SDK de PHP i els del SDK de Node prenen el segment de l'eix com a primer argument, els imports tornen com a cadenes i la capçalera retirada ja no té opció en cap. Les seves notes de versió apunten a aquesta pàgina en lloc de descriure una ruptura pròpia.
Llista de migració
- Crida
GET /v1/mei desadata.account.idi cadadata.scope[].id. Si treballes per a comptes de clients, llegeix tambédata.client_accounts[]: llista els comptes que van cedir accés al teu i els comptes gestionats que vas provisionar, amb el nivell que tens sobre cadascun. - Reescriu les teves rutes base: recursos d'empresa sota
/v1/companies/{company}/…, recursos de compte sota/v1/accounts/{account}/…, l'arrel d'aprovisionament i les cinc rutes de catàleg i introspecció a l'arrel. Vigila els cinc canvis de guió baix a guió i els quatre segments d'acció que perden el guió baix. - Canvia
PUTperPATCHa les trenta-dues operacions de la taula de verbs, i cridacontacts.restoreambPOST. - Treu
X-Active-Profiledel teu client. Si la feies servir per operar sobre diverses empreses, el segment d'empresa fa això mateix per petició, sense capçalera. - Llegeix cada camp de diners com a cadena cap a un tipus decimal de precisió
fixa, amb el
unit_pricede quatre decimals de les línies; llegeixpaid_recorded_atipaid_dateon llegiespaid_atipaid_on, i segueix enviantpaid_on; llegeixpaid_untilon llegiesseat_paid_until. - Porta qualsevol crida a les API keys d'una empresa a
/v1/accounts/{account}/api-keys, restringeix la key ambscoped_company_idsi canviaapi_keys:*peraccount:read/account:writea les teves keys. - Canvia
claim-tokenspernif-transferssi vas integrar el traspàs de NIF contra una compilació prèvia: scopesnif_transfers:readinif_transfers:write, codisnif_transfer_expiredinif_transfer_invalid. - Tracta els codis de la porta del NIF addicional:
additional_nif_charge_failedon tractavesseat_charge_failed,additional_nif_plan_requiredon tractavesgestoria_plan_required,additional_nif_not_in_planon tractavesgestoria_module_required, ibilling_managed_by_providerper a un compte la facturació del qual paga un altre compte. - Tracta els
403del model de comptes:privileged_scope_required,live_credential_required,company_read_only,emitter_capability_restricted,owner_transfer_forbidden,additional_nif_not_in_planibilling_managed_by_provider. Ramifica segonscode, no segonsmessage. - Deixa de cridar les escriptures del catàleg d'impostos: llegeix-lo amb
GET /v1/companies/{company}/taxesoGET /v1/tax-catalog. - Afegeix els trenta-set codis nous i
parameter_unknownal teu maneig d'errors, llegeixidempotency_key_reusedcom un422, i tracta un404en un segment d'eix com a «fora d'abast», no com una fallada passatgera. - Repeteix la teva integració amb una key
fact_test_abans de moure trànsit real. - Si vas desar ids de registres creats abans de la finestra, torna a llegir-los des dels llistats: els pocs que encara tenien una versió d'UUID antiga tenen ara un UUID v7.
Llegeix Imports i dates, Arribar a un NIF pel segment d'empresa, Comptes i NIF, NIF addicionals i Errors.
Cada operació, recurs a recurs
Operacions: 519 — 49 noves, 294 mogudes a l'eix, 161 mogudes amb altres canvis, 11 retirades, 4 sense canvis.
Els canvis que afecten 50 o més operacions alhora no es repeteixen a les files de sota: es documenten aquí una sola vegada, amb el nombre d'operacions que toca cadascun. Tot el que hi ha canviat a més en una operació és a la seva fila.
| Canvi | Operacions |
|---|---|
codi d'error 400 parameter_unknown/retired_active_profile_header documentat | 459 |
codi d'error 400 unsupported_api_version documentat | 459 |
codi d'error 403 company_inactive documentat | 432 |
codi d'error 404 profile_not_found documentat | 432 |
codi d'error 400 parameter_invalid_format documentat | 430 |
resposta 400 afegida | 426 |
codi d'error 422 idempotency_key_reused documentat | 260 |
el codi d'error 409 idempotency_key_reused deixa de documentar-se | 210 |
resposta 404 afegida | 190 |
codi d'error 404 resource_not_found documentat | 187 |
resposta 409 retirada | 181 |
codi d'error 422 invalid_param_format documentat | 160 |
codi d'error 422 idempotency_key_required documentat | 114 |
el codi d'error 409 resource_conflict deixa de documentar-se | 59 |
codi d'error 409 resource_conflict documentat | 54 |
paràmetre X-Active-Profile retirat | 459 |
paràmetre de ruta {company} afegit | 432 |
paràmetre de ruta {account} afegit | 22 |
imports i unit_price passen a cadena decimal | 147 |
Saldos d'absència
Operacions: 2 — 0 noves, 2 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.absence-balances.list — Ruta moguda | GET /v1/absence-balances | GET /v1/companies/{company}/absence-balances | — |
public-api.v1.absence-balances.show — Ruta moguda | GET /v1/absence-balances/{absence_balance} | GET /v1/companies/{company}/absence-balances/{absence_balance} | — |
Calendari d'absències
Operacions: 1 — 0 noves, 1 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.absence-calendar.show — Ruta moguda | GET /v1/absence-calendar | GET /v1/companies/{company}/absence-calendar | — |
Polítiques d'absència
Operacions: 10 — 0 noves, 7 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.absence-policies.archive — Canviada | POST /v1/absence-policies/{absence_policy}/archive | POST /v1/companies/{company}/absence-policies/{absence_policy}/archive | respostes afegides: 422 |
public-api.v1.absence-policies.assign — Ruta moguda | POST /v1/absence-policies/{absence_policy}/assign | POST /v1/companies/{company}/absence-policies/{absence_policy}/assign | — |
public-api.v1.absence-policies.assignments — Ruta moguda | GET /v1/absence-policies/{absence_policy}/assignments | GET /v1/companies/{company}/absence-policies/{absence_policy}/assignments | — |
public-api.v1.absence-policies.carryover — Ruta moguda | POST /v1/absence-policies/{absence_policy}/carryover | POST /v1/companies/{company}/absence-policies/{absence_policy}/carryover | — |
public-api.v1.absence-policies.create — Canviada | POST /v1/absence-policies | POST /v1/companies/{company}/absence-policies | capçalera Location declarada a 201 |
public-api.v1.absence-policies.list — Ruta moguda | GET /v1/absence-policies | GET /v1/companies/{company}/absence-policies | — |
public-api.v1.absence-policies.show — Ruta moguda | GET /v1/absence-policies/{absence_policy} | GET /v1/companies/{company}/absence-policies/{absence_policy} | — |
public-api.v1.absence-policies.unarchive — Canviada | POST /v1/absence-policies/{absence_policy}/unarchive | POST /v1/companies/{company}/absence-policies/{absence_policy}/unarchive | respostes afegides: 422 |
public-api.v1.absence-policies.unassign — Ruta moguda | POST /v1/absence-policies/{absence_policy}/unassign | POST /v1/companies/{company}/absence-policies/{absence_policy}/unassign | — |
public-api.v1.absence-policies.update — Ruta moguda | PUT /v1/absence-policies/{absence_policy} | PATCH /v1/companies/{company}/absence-policies/{absence_policy} | verb PUT → PATCH |
Sol·licituds d'absència
Operacions: 6 — 0 noves, 4 mogudes a l'eix, 2 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.absence-requests.approve — Ruta moguda | POST /v1/absence-requests/{absence_request}/approve | POST /v1/companies/{company}/absence-requests/{absence_request}/approve | — |
public-api.v1.absence-requests.cancel — Canviada | POST /v1/absence-requests/{absence_request}/cancel | POST /v1/companies/{company}/absence-requests/{absence_request}/cancel | respostes afegides: 422 |
public-api.v1.absence-requests.create — Canviada | POST /v1/absence-requests | POST /v1/companies/{company}/absence-requests | capçalera Location declarada a 201 |
public-api.v1.absence-requests.list — Ruta moguda | GET /v1/absence-requests | GET /v1/companies/{company}/absence-requests | — |
public-api.v1.absence-requests.reject — Ruta moguda | POST /v1/absence-requests/{absence_request}/reject | POST /v1/companies/{company}/absence-requests/{absence_request}/reject | — |
public-api.v1.absence-requests.show — Ruta moguda | GET /v1/absence-requests/{absence_request} | GET /v1/companies/{company}/absence-requests/{absence_request} | — |
Tipus d'absència
Operacions: 6 — 0 noves, 3 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.absence-types.archive — Canviada | POST /v1/absence-types/{absence_type}/archive | POST /v1/companies/{company}/absence-types/{absence_type}/archive | respostes afegides: 422 |
public-api.v1.absence-types.create — Canviada | POST /v1/absence-types | POST /v1/companies/{company}/absence-types | capçalera Location declarada a 201 |
public-api.v1.absence-types.list — Ruta moguda | GET /v1/absence-types | GET /v1/companies/{company}/absence-types | — |
public-api.v1.absence-types.show — Ruta moguda | GET /v1/absence-types/{absence_type} | GET /v1/companies/{company}/absence-types/{absence_type} | — |
public-api.v1.absence-types.unarchive — Canviada | POST /v1/absence-types/{absence_type}/unarchive | POST /v1/companies/{company}/absence-types/{absence_type}/unarchive | respostes afegides: 422 |
public-api.v1.absence-types.update — Ruta moguda | PUT /v1/absence-types/{absence_type} | PATCH /v1/companies/{company}/absence-types/{absence_type} | verb PUT → PATCH |
Compte
Operacions: 57 — 47 noves, 4 mogudes a l'eix, 6 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.account.api_keys.create — Canviada | POST /v1/account/api-keys | POST /v1/accounts/{account}/api-keys | camps nous del cos: scoped_company_ids; capçalera Location declarada a 201; data.secret pot ser null; codis d'error documentats: 404 account_not_found |
public-api.v1.account.api_keys.list — Canviada | GET /v1/account/api-keys | GET /v1/accounts/{account}/api-keys | codis d'error documentats: 404 account_not_found |
public-api.v1.account.api_keys.revoke — Canviada | POST /v1/account/api-keys/{api_key}/revoke | POST /v1/accounts/{account}/api-keys/{api_key}/revoke | codis d'error documentats: 404 account_not_found |
public-api.v1.account.api_keys.rotate_secret — Canviada | POST /v1/account/api-keys/{api_key}/rotate_secret | POST /v1/accounts/{account}/api-keys/{api_key}/rotate-secret | data.secret pot ser null; codis d'error documentats: 404 account_not_found |
public-api.v1.account.api_keys.show — Canviada | GET /v1/account/api-keys/{api_key} | GET /v1/accounts/{account}/api-keys/{api_key} | codis d'error documentats: 404 account_not_found |
public-api.v1.account.api_keys.update_nif_scope — Nova | — | PATCH /v1/accounts/{account}/api-keys/{api_key}/nif-scope | Nova |
public-api.v1.account.billing — Ruta moguda | GET /v1/account/billing | GET /v1/companies/{company}/billing | — |
public-api.v1.account.invitations.cancel — Nova | — | DELETE /v1/accounts/{account}/invitations/{invitation} | Nova |
public-api.v1.account.invitations.create — Nova | — | POST /v1/accounts/{account}/invitations | Nova |
public-api.v1.account.invitations.list — Nova | — | GET /v1/accounts/{account}/invitations | Nova |
public-api.v1.account.invitations.resend — Nova | — | POST /v1/accounts/{account}/invitations/{invitation}/resend | Nova |
public-api.v1.account.invitations.show — Nova | — | GET /v1/accounts/{account}/invitations/{invitation} | Nova |
public-api.v1.account.members.create — Nova | — | POST /v1/accounts/{account}/members | Nova |
public-api.v1.account.members.delete — Nova | — | DELETE /v1/accounts/{account}/members/{member} | Nova |
public-api.v1.account.members.grants.delete — Nova | — | DELETE /v1/accounts/{account}/members/{member}/grants/{company} | Nova |
public-api.v1.account.members.grants.list — Nova | — | GET /v1/accounts/{account}/members/{member}/grants | Nova |
public-api.v1.account.members.grants.show — Nova | — | GET /v1/accounts/{account}/members/{member}/grants/{company} | Nova |
public-api.v1.account.members.grants.update — Nova | — | PUT /v1/accounts/{account}/members/{member}/grants/{company} | Nova |
public-api.v1.account.members.list — Nova | — | GET /v1/accounts/{account}/members | Nova |
public-api.v1.account.members.module_access.show — Nova | — | GET /v1/accounts/{account}/members/{member}/module-access | Nova |
public-api.v1.account.members.module_access.update — Nova | — | PATCH /v1/accounts/{account}/members/{member}/module-access | Nova |
public-api.v1.account.members.show — Nova | — | GET /v1/accounts/{account}/members/{member} | Nova |
public-api.v1.account.members.update — Nova | — | PATCH /v1/accounts/{account}/members/{member} | Nova |
public-api.v1.account.nif_transfers.accept — Nova | — | POST /v1/accounts/{account}/nif-transfers/accept | Nova |
public-api.v1.account.nif_transfers.create — Nova | — | POST /v1/accounts/{account}/nif-transfers | Nova |
public-api.v1.account.nif_transfers.list — Nova | — | GET /v1/accounts/{account}/nif-transfers | Nova |
public-api.v1.account.nif_transfers.revoke — Nova | — | POST /v1/accounts/{account}/nif-transfers/{nif_transfer}/revoke | Nova |
public-api.v1.account.owner.transfer — Nova | — | PATCH /v1/accounts/{account}/owner | Nova |
public-api.v1.account.personalization.templates — Ruta moguda | GET /v1/account/personalization/templates | GET /v1/companies/{company}/personalization/templates | — |
public-api.v1.account.personalization.update — Ruta moguda | PATCH /v1/account/personalization | PATCH /v1/companies/{company}/personalization | — |
public-api.v1.account.provisioning_usage — Nova | — | GET /v1/accounts/{account}/provisioning-usage | Nova |
public-api.v1.account.request_logs.list — Nova | — | GET /v1/accounts/{account}/request-logs | Nova |
public-api.v1.account.request_logs.show — Nova | — | GET /v1/accounts/{account}/request-logs/{request_id} | Nova |
public-api.v1.account.show — Canviada | GET /v1/account | GET /v1/me | scope account:read → cap; camps nous de la resposta: data.account, data.client_accounts, data.client_accounts_has_more, data.client_accounts_visible, data.scope; camps retirats de la resposta: data.addon, data.company, data.personalization, data.plan |
public-api.v1.account.usage — Nova | — | GET /v1/accounts/{account}/usage | Nova |
public-api.v1.account.verify_census — Ruta moguda | POST /v1/account/census-verification | POST /v1/companies/{company}/census-verification | — |
public-api.v1.account.webhooks.create — Nova | — | POST /v1/accounts/{account}/webhooks | Nova |
public-api.v1.account.webhooks.delete — Nova | — | DELETE /v1/accounts/{account}/webhooks/{webhook} | Nova |
public-api.v1.account.webhooks.deliveries.list — Nova | — | GET /v1/accounts/{account}/webhooks/{webhook}/deliveries | Nova |
public-api.v1.account.webhooks.deliveries.retry — Nova | — | POST /v1/accounts/{account}/webhooks/{webhook}/deliveries/{delivery}/retry | Nova |
public-api.v1.account.webhooks.deliveries.show — Nova | — | GET /v1/accounts/{account}/webhooks/{webhook}/deliveries/{delivery} | Nova |
public-api.v1.account.webhooks.list — Nova | — | GET /v1/accounts/{account}/webhooks | Nova |
public-api.v1.account.webhooks.rotate_secret — Nova | — | POST /v1/accounts/{account}/webhooks/{webhook}/secret | Nova |
public-api.v1.account.webhooks.show — Nova | — | GET /v1/accounts/{account}/webhooks/{webhook} | Nova |
public-api.v1.account.webhooks.test — Nova | — | POST /v1/accounts/{account}/webhooks/{webhook}/test | Nova |
public-api.v1.account.webhooks.update — Nova | — | PATCH /v1/accounts/{account}/webhooks/{webhook} | Nova |
public-api.v1.managed_accounts.access_level.update — Nova | — | PATCH /v1/accounts/{account}/access-level | Nova |
public-api.v1.managed_accounts.claim_tokens.create — Nova | — | POST /v1/accounts/{account}/claim-tokens | Nova |
public-api.v1.managed_accounts.create — Nova | — | POST /v1/accounts | Nova |
public-api.v1.managed_accounts.imports.create — Nova | — | POST /v1/accounts/imports | Nova |
public-api.v1.managed_accounts.imports.preview — Nova | — | POST /v1/accounts/imports/preview | Nova |
public-api.v1.managed_accounts.imports.template — Nova | — | GET /v1/accounts/imports/template | Nova |
public-api.v1.managed_accounts.list — Nova | — | GET /v1/accounts | Nova |
public-api.v1.managed_accounts.management.end — Nova | — | DELETE /v1/accounts/{account}/management | Nova |
public-api.v1.managed_accounts.plan.preview — Nova | — | GET /v1/accounts/{account}/plan/preview | Nova |
public-api.v1.managed_accounts.plan.update — Nova | — | PATCH /v1/accounts/{account}/plan | Nova |
public-api.v1.managed_accounts.show — Nova | — | GET /v1/accounts/{account} | Nova |
Automatitzacions
Operacions: 18 — 0 noves, 0 mogudes a l'eix, 18 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.automations.catalog.show — Canviada | GET /v1/automations/catalog | GET /v1/companies/{company}/automations/catalog | codis d'error documentats: 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 — Canviada | GET /v1/automations/catalog/triggers/{trigger}/fields | GET /v1/companies/{company}/automations/catalog/triggers/{trigger}/fields | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found |
public-api.v1.automations.rules.activate — Canviada | POST /v1/automations/rules/{rule}/activate | POST /v1/companies/{company}/automations/rules/{rule}/activate | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.rules.create — Canviada | POST /v1/automations/rules | POST /v1/companies/{company}/automations/rules | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.rules.delete — Canviada | DELETE /v1/automations/rules/{rule} | DELETE /v1/companies/{company}/automations/rules/{rule} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.rules.dry_run — Canviada | POST /v1/automations/rules/{rule}/dry_run | POST /v1/companies/{company}/automations/rules/{rule}/dry-run | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.rules.list — Canviada | GET /v1/automations/rules | GET /v1/companies/{company}/automations/rules | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 422 invalid_param_format |
public-api.v1.automations.rules.pause — Canviada | POST /v1/automations/rules/{rule}/pause | POST /v1/companies/{company}/automations/rules/{rule}/pause | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.rules.show — Canviada | GET /v1/automations/rules/{rule} | GET /v1/companies/{company}/automations/rules/{rule} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found |
public-api.v1.automations.rules.update — Canviada | PUT /v1/automations/rules/{rule} | PATCH /v1/companies/{company}/automations/rules/{rule} | verb PUT → PATCH; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.rules.versions.list — Canviada | GET /v1/automations/rules/{rule}/versions | GET /v1/companies/{company}/automations/rules/{rule}/versions | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 422 invalid_param_format |
public-api.v1.automations.rules.versions.show — Canviada | GET /v1/automations/rules/{rule}/versions/{version} | GET /v1/companies/{company}/automations/rules/{rule}/versions/{version} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found |
public-api.v1.automations.runs.list — Canviada | GET /v1/automations/runs | GET /v1/companies/{company}/automations/runs | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 422 invalid_param_format |
public-api.v1.automations.runs.replay — Canviada | POST /v1/automations/runs/{run}/replay | POST /v1/companies/{company}/automations/runs/{run}/replay | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.runs.show — Canviada | GET /v1/automations/runs/{run} | GET /v1/companies/{company}/automations/runs/{run} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found |
public-api.v1.automations.runs.steps.list — Canviada | GET /v1/automations/runs/{run}/steps | GET /v1/companies/{company}/automations/runs/{run}/steps | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 422 invalid_param_format |
public-api.v1.automations.runs.steps.replay — Canviada | POST /v1/automations/runs/{run}/steps/{step_index}/replay | POST /v1/companies/{company}/automations/runs/{run}/steps/{step_index}/replay | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.automations.usage.show — Canviada | GET /v1/automations/usage | GET /v1/companies/{company}/automations/usage | codis d'error documentats: 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 |
Empreses
Operacions: 19 — 2 noves, 0 mogudes a l'eix, 12 mogudes amb altres canvis, 5 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.companies.activate — Canviada | POST /v1/companies/{company}/activate | POST /v1/accounts/{account}/companies/{company}/activate | camps nous de la resposta: data.paid_until, data.readiness, data.suspension_reason; camps retirats de la resposta: data.seat_paid_until; codis d'error documentats: 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 — Canviada | POST /v1/companies/activate | POST /v1/accounts/{account}/companies/activate | camps nous de la resposta: data[].address, data[].business_name, data[].city, data[].country_aeat_zone, data[].created_at, data[].email, data[].id, data[].logo_url (+11 més); camps retirats de la resposta: 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 canvia de tipus (object → array); codis d'error documentats: 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 — Retirada | POST /v1/companies/{company}/api-keys | — | Retirada |
public-api.v1.companies.api_keys.list — Retirada | GET /v1/companies/{company}/api-keys | — | Retirada |
public-api.v1.companies.api_keys.revoke — Retirada | DELETE /v1/companies/{company}/api-keys/{api_key} | — | Retirada |
public-api.v1.companies.api_keys.rotate_secret — Retirada | POST /v1/companies/{company}/api-keys/{api_key}/rotate-secret | — | Retirada |
public-api.v1.companies.api_keys.show — Retirada | GET /v1/companies/{company}/api-keys/{api_key} | — | Retirada |
public-api.v1.companies.create — Canviada | POST /v1/companies | POST /v1/accounts/{account}/companies | camps nous de la resposta: data.paid_until, data.readiness, data.suspension_reason; camps retirats de la resposta: data.seat_paid_until; capçalera Location declarada a 201; codis d'error documentats: 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 — Canviada | GET /v1/companies/{company}/creation-status | GET /v1/accounts/{account}/companies/{company}/creation-status | codis d'error documentats: 404 account_not_found |
public-api.v1.companies.deactivate — Canviada | POST /v1/companies/{company}/deactivate | POST /v1/accounts/{account}/companies/{company}/deactivate | respostes afegides: 422; camps nous de la resposta: data.paid_until, data.readiness, data.suspension_reason; camps retirats de la resposta: data.seat_paid_until; codis d'error documentats: 403 company_read_only, 404 account_not_found |
public-api.v1.companies.delete — Canviada | DELETE /v1/companies/{company} | DELETE /v1/accounts/{account}/companies/{company} | respostes afegides: 422; codis d'error documentats: 403 company_read_only, 404 account_not_found |
public-api.v1.companies.issuing_readiness — Nova | — | GET /v1/accounts/{account}/companies/{company}/issuing-readiness | Nova |
public-api.v1.companies.list — Canviada | GET /v1/companies | GET /v1/accounts/{account}/companies | paràmetres nous: cursor, include, limit, tax_id; camps nous de la resposta: data[].paid_until, data[].readiness, data[].suspension_reason; camps retirats de la resposta: data[].seat_paid_until; codis d'error documentats: 404 account_not_found |
public-api.v1.companies.seat_charge_preview — Canviada | GET /v1/companies/seat-charge-preview | GET /v1/accounts/{account}/companies/seat-charge-preview | company_ids[] passa a opcional; codis d'error documentats: 404 account_not_found |
public-api.v1.companies.show — Canviada | GET /v1/companies/{company} | GET /v1/accounts/{account}/companies/{company} | camps nous de la resposta: data.paid_until, data.readiness, data.suspension_reason; camps retirats de la resposta: data.seat_paid_until; codis d'error documentats: 404 account_not_found |
public-api.v1.companies.stats — Nova | — | GET /v1/accounts/{account}/companies/stats | Nova |
public-api.v1.companies.update — Canviada | PATCH /v1/companies/{company} | PATCH /v1/accounts/{account}/companies/{company} | camps nous de la resposta: data.paid_until, data.readiness, data.suspension_reason; camps retirats de la resposta: data.seat_paid_until; codis d'error documentats: 403 company_read_only, 404 account_not_found |
public-api.v1.companies.verify_creation — Canviada | POST /v1/companies/{company}/verify-creation | POST /v1/accounts/{account}/companies/{company}/verify-creation | respostes afegides: 422; codis d'error documentats: 403 company_read_only, 404 account_not_found |
public-api.v1.gestoria.workforce_summary — Canviada | GET /v1/gestoria/workforce-summary | GET /v1/accounts/{account}/gestoria/workforce-summary | codis d'error documentats: 404 account_not_found |
Contactes
Operacions: 27 — 0 noves, 2 mogudes a l'eix, 25 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.contacts.activities — Canviada | GET /v1/contacts/{contact}/activities | GET /v1/companies/{company}/contacts/{contact}/activities | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 422 invalid_param_format |
public-api.v1.contacts.archive — Canviada | POST /v1/contacts/{contact}/archive | POST /v1/companies/{company}/contacts/{contact}/archive | respostes afegides: 422; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.assign_contact_role — Canviada | POST /v1/contacts/{contact}/roles/{role} | POST /v1/companies/{company}/contacts/{contact}/roles/{role} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.bulk_archive — Canviada | POST /v1/contacts/bulk/archive | POST /v1/companies/{company}/contacts/bulk/archive | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.bulk_change_contact_role_status — Canviada | POST /v1/contacts/bulk/status | POST /v1/companies/{company}/contacts/bulk/status | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.bulk_create — Ruta moguda | POST /v1/contacts/bulk-create | POST /v1/companies/{company}/contacts/bulk-create | — |
public-api.v1.contacts.bulk_delete — Canviada | POST /v1/contacts/bulk-delete | POST /v1/companies/{company}/contacts/bulk-delete | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.change_contact_role_status — Canviada | PUT /v1/contacts/{contact}/roles/{role}/status | PATCH /v1/companies/{company}/contacts/{contact}/roles/{role}/status | verb PUT → PATCH; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.create — Canviada | POST /v1/contacts | POST /v1/companies/{company}/contacts | respostes afegides: 201; camps nous de la resposta: data; capçalera Location declarada a 200; capçalera Location declarada a 201; codis d'error documentats: 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 — Canviada | DELETE /v1/contacts/{contact} | DELETE /v1/companies/{company}/contacts/{contact} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.find_by_external_id — Canviada | POST /v1/contacts/find-by-external-id | POST /v1/companies/{company}/contacts/find-by-external-id | codis d'error documentats: 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); codis d'error que deixen de documentar-se: 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.find_by_tax_id — Canviada | POST /v1/contacts/find-by-tax-id | POST /v1/companies/{company}/contacts/find-by-tax-id | codis d'error documentats: 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 — Canviada | POST /v1/contacts/import | POST /v1/companies/{company}/contacts/import | codis d'error documentats: 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 — Canviada | GET /v1/contacts/import/template | GET /v1/companies/{company}/contacts/import/template | codis d'error documentats: 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 — Canviada | GET /v1/contacts | GET /v1/companies/{company}/contacts | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 422 invalid_param_format |
public-api.v1.contacts.options — Canviada | GET /v1/contacts/options | GET /v1/companies/{company}/contacts/options | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 422 invalid_param_format |
public-api.v1.contacts.preview_import — Canviada | POST /v1/contacts/import/preview | POST /v1/companies/{company}/contacts/import/preview | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.remove_contact_role — Canviada | DELETE /v1/contacts/{contact}/roles/{role} | DELETE /v1/companies/{company}/contacts/{contact}/roles/{role} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.restore — Canviada | PUT /v1/contacts/{contact}/restore | POST /v1/companies/{company}/contacts/{contact}/restore | verb PUT → POST; respostes afegides: 422; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.search — Canviada | GET /v1/contacts/search | GET /v1/companies/{company}/contacts/search | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 422 invalid_param_format |
public-api.v1.contacts.show — Canviada | GET /v1/contacts/{contact} | GET /v1/companies/{company}/contacts/{contact} | codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found |
public-api.v1.contacts.stats — Canviada | GET /v1/contacts/stats | GET /v1/companies/{company}/contacts/stats | codis d'error documentats: 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 — Canviada | PUT /v1/contacts/{contact} | PATCH /v1/companies/{company}/contacts/{contact} | verb PUT → PATCH; codis d'error documentats: 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); codis d'error que deixen de documentar-se: 404 tax_report_not_found |
public-api.v1.contacts.update_bank_accounts — Canviada | PUT /v1/contacts/{contact}/bank-accounts | PATCH /v1/companies/{company}/contacts/{contact}/bank-accounts | verb PUT → PATCH; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.update_customer_profile — Canviada | PUT /v1/contacts/{contact}/customer-profile | PATCH /v1/companies/{company}/contacts/{contact}/customer-profile | verb PUT → PATCH; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.update_supplier_profile — Canviada | PUT /v1/contacts/{contact}/supplier-profile | PATCH /v1/companies/{company}/contacts/{contact}/supplier-profile | verb PUT → PATCH; codis d'error documentats: 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; codis d'error que deixen de documentar-se: 404 tax_report_not_found, 409 resource_already_exists/tax_id_already_exists |
public-api.v1.contacts.verify_census — Ruta moguda | POST /v1/contacts/census-verification | POST /v1/companies/{company}/contacts/census-verification | — |
Albarans
Operacions: 22 — 0 noves, 19 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.delivery_notes.bulk_delete — Ruta moguda | POST /v1/delivery_notes/bulk-delete | POST /v1/companies/{company}/delivery-notes/bulk-delete | — |
public-api.v1.delivery_notes.bulk_pdf — Ruta moguda | POST /v1/delivery_notes/bulk-pdf | POST /v1/companies/{company}/delivery-notes/bulk-pdf | — |
public-api.v1.delivery_notes.bulk_send — Ruta moguda | POST /v1/delivery_notes/bulk-send | POST /v1/companies/{company}/delivery-notes/bulk-send | — |
public-api.v1.delivery_notes.bulk_status — Ruta moguda | POST /v1/delivery_notes/bulk-status | POST /v1/companies/{company}/delivery-notes/bulk-status | — |
public-api.v1.delivery_notes.cancel — Ruta moguda | POST /v1/delivery_notes/{delivery_note}/cancel | POST /v1/companies/{company}/delivery-notes/{delivery_note}/cancel | — |
public-api.v1.delivery_notes.convert — Canviada | POST /v1/delivery_notes/{delivery_note}/convert | POST /v1/companies/{company}/delivery-notes/{delivery_note}/convert | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.delivery_notes.create — Ruta moguda | POST /v1/delivery_notes | POST /v1/companies/{company}/delivery-notes | — |
public-api.v1.delivery_notes.delete — Ruta moguda | DELETE /v1/delivery_notes/{delivery_note} | DELETE /v1/companies/{company}/delivery-notes/{delivery_note} | — |
public-api.v1.delivery_notes.duplicate — Canviada | POST /v1/delivery_notes/{delivery_note}/duplicate | POST /v1/companies/{company}/delivery-notes/{delivery_note}/duplicate | respostes afegides: 422 |
public-api.v1.delivery_notes.find_by_external_id — Ruta moguda | POST /v1/delivery_notes/find-by-external-id | POST /v1/companies/{company}/delivery-notes/find-by-external-id | — |
public-api.v1.delivery_notes.list — Ruta moguda | GET /v1/delivery_notes | GET /v1/companies/{company}/delivery-notes | — |
public-api.v1.delivery_notes.mark_delivered — Ruta moguda | POST /v1/delivery_notes/{delivery_note}/mark-delivered | POST /v1/companies/{company}/delivery-notes/{delivery_note}/mark-delivered | — |
public-api.v1.delivery_notes.pdf — Ruta moguda | GET /v1/delivery_notes/{delivery_note}/pdf | GET /v1/companies/{company}/delivery-notes/{delivery_note}/pdf | — |
public-api.v1.delivery_notes.public_link.get — Ruta moguda | GET /v1/delivery_notes/{delivery_note}/public-link | GET /v1/companies/{company}/delivery-notes/{delivery_note}/public-link | — |
public-api.v1.delivery_notes.public_link.update — Ruta moguda | PUT /v1/delivery_notes/{delivery_note}/public-link | PATCH /v1/companies/{company}/delivery-notes/{delivery_note}/public-link | verb PUT → PATCH |
public-api.v1.delivery_notes.send — Ruta moguda | POST /v1/delivery_notes/{delivery_note}/send | POST /v1/companies/{company}/delivery-notes/{delivery_note}/send | — |
public-api.v1.delivery_notes.show — Ruta moguda | GET /v1/delivery_notes/{delivery_note} | GET /v1/companies/{company}/delivery-notes/{delivery_note} | — |
public-api.v1.delivery_notes.sign — Ruta moguda | POST /v1/delivery_notes/{delivery_note}/sign | POST /v1/companies/{company}/delivery-notes/{delivery_note}/sign | — |
public-api.v1.delivery_notes.signature_audits.forget — Ruta moguda | POST /v1/delivery_notes/signature-audits/{auditId}/forget | POST /v1/companies/{company}/delivery-notes/signature-audits/{auditId}/forget | — |
public-api.v1.delivery_notes.stats — Ruta moguda | GET /v1/delivery_notes/stats | GET /v1/companies/{company}/delivery-notes/stats | — |
public-api.v1.delivery_notes.statuses — Ruta moguda | GET /v1/delivery_notes/statuses | GET /v1/companies/{company}/delivery-notes/statuses | — |
public-api.v1.delivery_notes.update — Canviada | PUT /v1/delivery_notes/{delivery_note} | PATCH /v1/companies/{company}/delivery-notes/{delivery_note} | verb PUT → PATCH; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
Registres de peticions
Operacions: 2 — 0 noves, 2 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.developers.request_logs.list — Ruta moguda | GET /v1/developers/request-logs | GET /v1/companies/{company}/request-logs | — |
public-api.v1.developers.request_logs.show — Ruta moguda | GET /v1/developers/request-logs/{request_id} | GET /v1/companies/{company}/request-logs/{request_id} | — |
Lliuraments de correu
Operacions: 3 — 0 noves, 3 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.emails.indicators — Ruta moguda | GET /v1/emails/indicators | GET /v1/companies/{company}/emails/indicators | — |
public-api.v1.emails.list — Ruta moguda | GET /v1/emails | GET /v1/companies/{company}/emails | — |
public-api.v1.emails.show — Ruta moguda | GET /v1/emails/{email} | GET /v1/companies/{company}/emails/{email} | — |
Empleats
Operacions: 17 — 0 noves, 8 mogudes a l'eix, 9 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.employee-invitations.cancel — Canviada | DELETE /v1/employee-invitations/{invitation} | DELETE /v1/companies/{company}/employee-invitations/{invitation} | respostes afegides: 422 |
public-api.v1.employee-invitations.list — Ruta moguda | GET /v1/employee-invitations | GET /v1/companies/{company}/employee-invitations | — |
public-api.v1.employee-invitations.resend — Ruta moguda | POST /v1/employee-invitations/{invitation}/resend | POST /v1/companies/{company}/employee-invitations/{invitation}/resend | — |
public-api.v1.employee-invitations.send — Canviada | POST /v1/employee-invitations | POST /v1/companies/{company}/employee-invitations | capçalera Location declarada a 201 |
public-api.v1.employee-seats.cancel — Canviada | POST /v1/employee-seats/cancel | POST /v1/accounts/{account}/employee-seats/cancel | codis d'error documentats: 404 account_not_found |
public-api.v1.employee-seats.change-quantity — Canviada | POST /v1/employee-seats/change-quantity | POST /v1/accounts/{account}/employee-seats/change-quantity | codis d'error documentats: 404 account_not_found |
public-api.v1.employee-seats.preview — Canviada | GET /v1/employee-seats/preview | GET /v1/accounts/{account}/employee-seats/preview | codis d'error documentats: 404 account_not_found |
public-api.v1.employee-seats.status — Canviada | GET /v1/employee-seats | GET /v1/accounts/{account}/employee-seats | codis d'error documentats: 404 account_not_found |
public-api.v1.employee-seats.subscribe — Canviada | POST /v1/employee-seats/subscribe | POST /v1/accounts/{account}/employee-seats/subscribe | codis d'error documentats: 404 account_not_found |
public-api.v1.employees.create — Canviada | POST /v1/employees | POST /v1/companies/{company}/employees | capçalera Location declarada a 201; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
public-api.v1.employees.deactivate — Ruta moguda | POST /v1/employees/{employee}/deactivate | POST /v1/companies/{company}/employees/{employee}/deactivate | — |
public-api.v1.employees.find_by_external_id — Ruta moguda | POST /v1/employees/find-by-external-id | POST /v1/companies/{company}/employees/find-by-external-id | — |
public-api.v1.employees.list — Ruta moguda | GET /v1/employees | GET /v1/companies/{company}/employees | — |
public-api.v1.employees.reactivate — Ruta moguda | POST /v1/employees/{employee}/reactivate | POST /v1/companies/{company}/employees/{employee}/reactivate | — |
public-api.v1.employees.show — Ruta moguda | GET /v1/employees/{employee} | GET /v1/companies/{company}/employees/{employee} | — |
public-api.v1.employees.stats — Ruta moguda | GET /v1/employees/stats | GET /v1/companies/{company}/employees/stats | — |
public-api.v1.employees.update — Canviada | PUT /v1/employees/{employee} | PATCH /v1/companies/{company}/employees/{employee} | verb PUT → PATCH; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
Esdeveniments
Operacions: 3 — 0 noves, 0 mogudes a l'eix, 2 mogudes amb altres canvis, 0 retirades, 1 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.event_catalog.list — Sense canvis | GET /v1/event-catalog | GET /v1/event-catalog | Sense canvis |
public-api.v1.events.list — Canviada | GET /v1/events | GET /v1/companies/{company}/events | camps nous de la resposta: data[].data.object.paid_date, data[].data.object.paid_recorded_at; camps retirats de la resposta: data[].data.object.paid_at, data[].data.object.paid_on |
public-api.v1.events.show — Canviada | GET /v1/events/{event} | GET /v1/companies/{company}/events/{event} | camps nous de la resposta: data.data.object.paid_date, data.data.object.paid_recorded_at; camps retirats de la resposta: data.data.object.paid_at, data.data.object.paid_on |
FacturaE / FACe
Operacions: 5 — 0 noves, 4 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.face_submissions.cancel — Ruta moguda | POST /v1/face-submissions/{faceSubmission}/cancel | POST /v1/companies/{company}/face-submissions/{faceSubmission}/cancel | — |
public-api.v1.face_submissions.show — Ruta moguda | GET /v1/face-submissions/{faceSubmission} | GET /v1/companies/{company}/face-submissions/{faceSubmission} | — |
public-api.v1.invoices.face_submissions.list — Ruta moguda | GET /v1/invoices/{invoice}/face-submissions | GET /v1/companies/{company}/invoices/{invoice}/face-submissions | — |
public-api.v1.invoices.face_submissions.submit — Canviada | POST /v1/invoices/{invoice}/face-submissions | POST /v1/companies/{company}/invoices/{invoice}/face-submissions | codis d'error documentats: 409 resource_already_exists/face_submission_already_exists |
public-api.v1.invoices.facturae — Ruta moguda | GET /v1/invoices/{invoice}/facturae | GET /v1/companies/{company}/invoices/{invoice}/facturae | — |
Festius
Operacions: 3 — 0 noves, 3 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.holidays.list — Ruta moguda | GET /v1/holidays | GET /v1/companies/{company}/holidays | — |
public-api.v1.holidays.resolve — Ruta moguda | GET /v1/holidays/resolve | GET /v1/companies/{company}/holidays/resolve | — |
public-api.v1.holidays.show — Ruta moguda | GET /v1/holidays/{holiday} | GET /v1/companies/{company}/holidays/{holiday} | — |
Esdeveniments d'integració
Operacions: 3 — 0 noves, 3 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.integrations.events.list — Ruta moguda | GET /v1/integrations/events | GET /v1/companies/{company}/integrations/events | — |
public-api.v1.integrations.events.replay — Ruta moguda | POST /v1/integrations/events/{event}/replay | POST /v1/companies/{company}/integrations/events/{event}/replay | — |
public-api.v1.integrations.events.show — Ruta moguda | GET /v1/integrations/events/{event} | GET /v1/companies/{company}/integrations/events/{event} | — |
Factures
Operacions: 48 — 0 noves, 25 mogudes a l'eix, 22 mogudes amb altres canvis, 0 retirades, 1 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.invoices.activities — Ruta moguda | GET /v1/invoices/{invoice}/activities | GET /v1/companies/{company}/invoices/{invoice}/activities | — |
public-api.v1.invoices.annul — Canviada | POST /v1/invoices/{invoice}/annul | POST /v1/companies/{company}/invoices/{invoice}/annul | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.assign_real_number — Canviada | POST /v1/invoices/{invoice}/assign-real-number | POST /v1/companies/{company}/invoices/{invoice}/assign-real-number | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.bulk_create — Canviada | POST /v1/invoices/bulk-create | POST /v1/companies/{company}/invoices/bulk-create | camps nous del cos: invoices[].client_id, invoices[].custom_fields, invoices[].due_on, invoices[].external_id, invoices[].issued_on, invoices[].lines, invoices[].metadata, invoices[].metadata{} (+6 més); camps retirats del cos: invoices[][] |
public-api.v1.invoices.bulk_delete — Ruta moguda | POST /v1/invoices/bulk-delete | POST /v1/companies/{company}/invoices/bulk-delete | — |
public-api.v1.invoices.bulk_pdf — Ruta moguda | POST /v1/invoices/bulk-pdf | POST /v1/companies/{company}/invoices/bulk-pdf | — |
public-api.v1.invoices.bulk_send — Ruta moguda | POST /v1/invoices/bulk-send | POST /v1/companies/{company}/invoices/bulk-send | — |
public-api.v1.invoices.bulk_status — Ruta moguda | POST /v1/invoices/bulk-status | POST /v1/companies/{company}/invoices/bulk-status | — |
public-api.v1.invoices.can_annul — Ruta moguda | GET /v1/invoices/{invoice}/can-annul | GET /v1/companies/{company}/invoices/{invoice}/can-annul | — |
public-api.v1.invoices.corrective — Canviada | POST /v1/invoices/{invoice}/corrective | POST /v1/companies/{company}/invoices/{invoice}/corrective | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.correctives — Canviada | GET /v1/invoices/{invoice}/correctives | GET /v1/companies/{company}/invoices/{invoice}/correctives | camps nous de la resposta: data[].paid_date, data[].paid_recorded_at; camps retirats de la resposta: data[].paid_at, data[].paid_on |
public-api.v1.invoices.create — Canviada | POST /v1/invoices | POST /v1/companies/{company}/invoices | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.create_recurring — Canviada | POST /v1/invoices/{invoice}/create-recurring | POST /v1/companies/{company}/invoices/{invoice}/create-recurring | capçalera Location declarada a 201 |
public-api.v1.invoices.delete — Ruta moguda | DELETE /v1/invoices/{invoice} | DELETE /v1/companies/{company}/invoices/{invoice} | — |
public-api.v1.invoices.duplicate — Canviada | POST /v1/invoices/{invoice}/duplicate | POST /v1/companies/{company}/invoices/{invoice}/duplicate | respostes afegides: 422; camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.export_excel — Ruta moguda | POST /v1/invoices/export/excel | POST /v1/companies/{company}/invoices/export/excel | — |
public-api.v1.invoices.find_by_external_id — Canviada | POST /v1/invoices/find-by-external-id | POST /v1/companies/{company}/invoices/find-by-external-id | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.find_by_number — Canviada | POST /v1/invoices/find-by-number | POST /v1/companies/{company}/invoices/find-by-number | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.list — Canviada | GET /v1/invoices | GET /v1/companies/{company}/invoices | paràmetres nous: paid_on[gt], paid_on[gte], paid_on[lt], paid_on[lte]; camps nous de la resposta: data[].paid_date, data[].paid_recorded_at; camps retirats de la resposta: data[].paid_at, data[].paid_on |
public-api.v1.invoices.mark_paid — Canviada | POST /v1/invoices/{invoice}/mark-paid | POST /v1/companies/{company}/invoices/{invoice}/mark-paid | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.mark_sent — Canviada | POST /v1/invoices/{invoice}/mark-sent | POST /v1/companies/{company}/invoices/{invoice}/mark-sent | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.payment_receipt — Ruta moguda | GET /v1/invoices/{invoice}/payment-receipt | GET /v1/companies/{company}/invoices/{invoice}/payment-receipt | — |
public-api.v1.invoices.payments_create — Ruta moguda | POST /v1/invoices/{invoice}/payments | POST /v1/companies/{company}/invoices/{invoice}/payments | — |
public-api.v1.invoices.payments_list — Ruta moguda | GET /v1/invoices/{invoice}/payments | GET /v1/companies/{company}/invoices/{invoice}/payments | — |
public-api.v1.invoices.payments_revert — Ruta moguda | POST /v1/invoices/{invoice}/payments/{payment}/reversal | POST /v1/companies/{company}/invoices/{invoice}/payments/{payment}/reversal | — |
public-api.v1.invoices.pdf — Ruta moguda | GET /v1/invoices/{invoice}/pdf | GET /v1/companies/{company}/invoices/{invoice}/pdf | — |
public-api.v1.invoices.pdf_link — Ruta moguda | GET /v1/invoices/{invoice}/pdf-link | GET /v1/companies/{company}/invoices/{invoice}/pdf-link | — |
public-api.v1.invoices.pdf_preview — Ruta moguda | GET /v1/invoices/{invoice}/pdf/preview | GET /v1/companies/{company}/invoices/{invoice}/pdf/preview | — |
public-api.v1.invoices.public_link_get — Ruta moguda | GET /v1/invoices/{invoice}/public-link | GET /v1/companies/{company}/invoices/{invoice}/public-link | — |
public-api.v1.invoices.public_link_update — Ruta moguda | PUT /v1/invoices/{invoice}/public-link | PATCH /v1/companies/{company}/invoices/{invoice}/public-link | verb PUT → PATCH |
public-api.v1.invoices.quarterly.available — Ruta moguda | GET /v1/invoices/quarterly/available-quarters | GET /v1/companies/{company}/invoices/quarterly/available-quarters | — |
public-api.v1.invoices.quarterly.download_zip — Ruta moguda | POST /v1/invoices/quarterly/download-zip | POST /v1/companies/{company}/invoices/quarterly/download-zip | — |
public-api.v1.invoices.quarterly.send_email — Ruta moguda | POST /v1/invoices/quarterly/send-email | POST /v1/companies/{company}/invoices/quarterly/send-email | — |
public-api.v1.invoices.reminder_preview — Ruta moguda | POST /v1/invoices/{invoice}/reminder-preview | POST /v1/companies/{company}/invoices/{invoice}/reminder-preview | — |
public-api.v1.invoices.reschedule — Canviada | PATCH /v1/invoices/{invoice}/reschedule | PATCH /v1/companies/{company}/invoices/{invoice}/reschedule | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.schedule — Canviada | POST /v1/invoices/{invoice}/schedule | POST /v1/companies/{company}/invoices/{invoice}/schedule | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.send — Canviada | POST /v1/invoices/{invoice}/send | POST /v1/companies/{company}/invoices/{invoice}/send | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.send_reminder — Ruta moguda | POST /v1/invoices/{invoice}/send-reminder | POST /v1/companies/{company}/invoices/{invoice}/send-reminder | — |
public-api.v1.invoices.show — Canviada | GET /v1/invoices/{invoice} | GET /v1/companies/{company}/invoices/{invoice} | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.simplified_eligibility — Ruta moguda | POST /v1/invoices/simplified-eligibility | POST /v1/companies/{company}/invoices/simplified-eligibility | — |
public-api.v1.invoices.stats — Ruta moguda | GET /v1/invoices/stats | GET /v1/companies/{company}/invoices/stats | — |
public-api.v1.invoices.statuses — Ruta moguda | GET /v1/invoices/statuses | GET /v1/companies/{company}/invoices/statuses | — |
public-api.v1.invoices.substitute_simplified — Canviada | POST /v1/invoices/substitute-simplified | POST /v1/companies/{company}/invoices/substitute-simplified | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.unschedule — Canviada | POST /v1/invoices/{invoice}/unschedule | POST /v1/companies/{company}/invoices/{invoice}/unschedule | respostes afegides: 422; camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.unsend — Canviada | POST /v1/invoices/{invoice}/unsend | POST /v1/companies/{company}/invoices/{invoice}/unsend | respostes afegides: 422; camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.invoices.update — Canviada | PUT /v1/invoices/{invoice} | PATCH /v1/companies/{company}/invoices/{invoice} | verb PUT → PATCH; camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
public-api.v1.invoices.void — Canviada | POST /v1/invoices/{invoice}/void | POST /v1/companies/{company}/invoices/{invoice}/void | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.payment_methods.list — Sense canvis | GET /v1/payment-methods | GET /v1/payment-methods | Sense canvis |
VeriFactu
Operacions: 27 — 0 noves, 24 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.invoices.verifactu_create — Ruta moguda | POST /v1/invoices/{invoice}/verifactu | POST /v1/companies/{company}/invoices/{invoice}/verifactu | — |
public-api.v1.invoices.verifactu_get — Ruta moguda | GET /v1/invoices/{invoice}/verifactu | GET /v1/companies/{company}/invoices/{invoice}/verifactu | — |
public-api.v1.verifactu.aeat_access.list — Ruta moguda | GET /v1/verifactu/aeat-access/records | GET /v1/companies/{company}/verifactu/aeat-access/records | — |
public-api.v1.verifactu.aeat_access.show — Ruta moguda | GET /v1/verifactu/aeat-access/records/{record} | GET /v1/companies/{company}/verifactu/aeat-access/records/{record} | — |
public-api.v1.verifactu.certificates.activate — Ruta moguda | POST /v1/verifactu/certificates/{certificate}/activate | POST /v1/companies/{company}/verifactu/certificates/{certificate}/activate | — |
public-api.v1.verifactu.certificates.active — Ruta moguda | GET /v1/verifactu/certificates/active | GET /v1/companies/{company}/verifactu/certificates/active | — |
public-api.v1.verifactu.certificates.list — Ruta moguda | GET /v1/verifactu/certificates | GET /v1/companies/{company}/verifactu/certificates | — |
public-api.v1.verifactu.certificates.revoke — Ruta moguda | DELETE /v1/verifactu/certificates/{certificate} | DELETE /v1/companies/{company}/verifactu/certificates/{certificate} | — |
public-api.v1.verifactu.certificates.upload — Canviada | POST /v1/verifactu/certificates | POST /v1/companies/{company}/verifactu/certificates | codis d'error documentats: 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 moguda | GET /v1/verifactu/chain/validate | GET /v1/companies/{company}/verifactu/chain/validate | — |
public-api.v1.verifactu.config — Ruta moguda | GET /v1/verifactu/config | GET /v1/companies/{company}/verifactu/config | — |
public-api.v1.verifactu.declaracion.current — Ruta moguda | GET /v1/verifactu/declaracion-responsable | GET /v1/companies/{company}/verifactu/declaracion-responsable | — |
public-api.v1.verifactu.declaracion.history — Ruta moguda | GET /v1/verifactu/declaracion-responsable/history | GET /v1/companies/{company}/verifactu/declaracion-responsable/history | — |
public-api.v1.verifactu.events.list — Ruta moguda | GET /v1/verifactu/events | GET /v1/companies/{company}/verifactu/events | — |
public-api.v1.verifactu.events.retry — Ruta moguda | POST /v1/verifactu/events/{event}/retry | POST /v1/companies/{company}/verifactu/events/{event}/retry | — |
public-api.v1.verifactu.events.show — Ruta moguda | GET /v1/verifactu/events/{event} | GET /v1/companies/{company}/verifactu/events/{event} | — |
public-api.v1.verifactu.events.summary — Ruta moguda | GET /v1/verifactu/events/summary | GET /v1/companies/{company}/verifactu/events/summary | — |
public-api.v1.verifactu.records.activities — Ruta moguda | GET /v1/verifactu/records/{record}/activities | GET /v1/companies/{company}/verifactu/records/{record}/activities | — |
public-api.v1.verifactu.records.find_by_csv — Canviada | POST /v1/verifactu/records/find-by-csv | POST /v1/companies/{company}/verifactu/records/find-by-csv | respostes afegides: 422 |
public-api.v1.verifactu.records.find_by_huella — Ruta moguda | POST /v1/verifactu/records/find-by-huella | POST /v1/companies/{company}/verifactu/records/find-by-huella | — |
public-api.v1.verifactu.records.find_by_invoice_number — Canviada | POST /v1/verifactu/records/find-by-invoice-number | POST /v1/companies/{company}/verifactu/records/find-by-invoice-number | respostes afegides: 422 |
public-api.v1.verifactu.records.list — Ruta moguda | GET /v1/verifactu/records | GET /v1/companies/{company}/verifactu/records | — |
public-api.v1.verifactu.records.retry — Ruta moguda | POST /v1/verifactu/records/{record}/retry | POST /v1/companies/{company}/verifactu/records/{record}/retry | — |
public-api.v1.verifactu.records.show — Ruta moguda | GET /v1/verifactu/records/{record} | GET /v1/companies/{company}/verifactu/records/{record} | — |
public-api.v1.verifactu.records.subsanar — Ruta moguda | POST /v1/verifactu/records/{record}/subsanar | POST /v1/companies/{company}/verifactu/records/{record}/subsanar | — |
public-api.v1.verifactu.settings.update — Ruta moguda | PUT /v1/verifactu/settings | PATCH /v1/companies/{company}/verifactu/settings | verb PUT → PATCH |
public-api.v1.verifactu.stats — Ruta moguda | GET /v1/verifactu/stats | GET /v1/companies/{company}/verifactu/stats | — |
Tancaments mensuals
Operacions: 8 — 0 noves, 5 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.monthly_time_record_closes.create — Canviada | POST /v1/monthly-time-record-closes | POST /v1/companies/{company}/monthly-time-record-closes | capçalera Location declarada a 201; codis d'error documentats: 409 resource_already_exists/monthly_register_already_closed |
public-api.v1.monthly_time_record_closes.export — Ruta moguda | GET /v1/monthly-time-record-closes/{monthly_time_record_close}/export | GET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/export | — |
public-api.v1.monthly_time_record_closes.list — Ruta moguda | GET /v1/monthly-time-record-closes | GET /v1/companies/{company}/monthly-time-record-closes | — |
public-api.v1.monthly_time_record_closes.reopen — Canviada | POST /v1/monthly-time-record-closes/{monthly_time_record_close}/reopen | POST /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/reopen | respostes afegides: 422 |
public-api.v1.monthly_time_record_closes.report — Ruta moguda | GET /v1/monthly-time-record-closes/{monthly_time_record_close}/report | GET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/report | — |
public-api.v1.monthly_time_record_closes.seal — Canviada | POST /v1/monthly-time-record-closes/{monthly_time_record_close}/seal | POST /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/seal | capçalera Location declarada a 201; codis d'error documentats: 409 resource_already_exists/monthly_register_already_sealed |
public-api.v1.monthly_time_record_closes.seal_show — Ruta moguda | GET /v1/monthly-time-record-closes/{monthly_time_record_close}/seal | GET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/seal | — |
public-api.v1.monthly_time_record_closes.show — Ruta moguda | GET /v1/monthly-time-record-closes/{monthly_time_record_close} | GET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close} | — |
Exportacions de nòmina
Operacions: 2 — 0 noves, 1 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 1 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.monthly_time_record_closes.payroll_export — Ruta moguda | GET /v1/monthly-time-record-closes/{monthly_time_record_close}/payroll-export | GET /v1/companies/{company}/monthly-time-record-closes/{monthly_time_record_close}/payroll-export | — |
public-api.v1.payroll_export_formats.list — Sense canvis | GET /v1/payroll-export-formats | GET /v1/payroll-export-formats | Sense canvis |
Stripe
Operacions: 10 — 0 noves, 9 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.payouts.list — Ruta moguda | GET /v1/payouts | GET /v1/companies/{company}/payouts | — |
public-api.v1.payouts.show — Ruta moguda | GET /v1/payouts/{payout} | GET /v1/companies/{company}/payouts/{payout} | — |
public-api.v1.stripe_autoinvoicing.accounts.disconnect — Ruta moguda | DELETE /v1/connected-accounts/{account} | DELETE /v1/companies/{company}/connected-accounts/{account} | — |
public-api.v1.stripe_autoinvoicing.accounts.list — Ruta moguda | GET /v1/connected-accounts | GET /v1/companies/{company}/connected-accounts | — |
public-api.v1.stripe_autoinvoicing.accounts.show — Ruta moguda | GET /v1/connected-accounts/{account} | GET /v1/companies/{company}/connected-accounts/{account} | — |
public-api.v1.stripe_autoinvoicing.accounts.update — Ruta moguda | PUT /v1/connected-accounts/{account} | PATCH /v1/companies/{company}/connected-accounts/{account} | verb PUT → PATCH |
public-api.v1.stripe_autoinvoicing.config.show — Ruta moguda | GET /v1/stripe-autoinvoicing/config | GET /v1/companies/{company}/stripe-autoinvoicing/config | — |
public-api.v1.stripe_autoinvoicing.config.update — Canviada | PUT /v1/stripe-autoinvoicing/config | PATCH /v1/companies/{company}/stripe-autoinvoicing/config | verb PUT → PATCH; el cos de la petició passa a opcional; enabled passa a opcional |
public-api.v1.stripe_autoinvoicing.correctives.list — Ruta moguda | GET /v1/stripe-autoinvoicing/correctives | GET /v1/companies/{company}/stripe-autoinvoicing/correctives | — |
public-api.v1.stripe_autoinvoicing.payments.list — Ruta moguda | GET /v1/stripe-autoinvoicing/payments | GET /v1/companies/{company}/stripe-autoinvoicing/payments | — |
Presència
Operacions: 3 — 0 noves, 3 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.presence.daily — Ruta moguda | GET /v1/presence/daily | GET /v1/companies/{company}/presence/daily | — |
public-api.v1.presence.live — Ruta moguda | GET /v1/presence | GET /v1/companies/{company}/presence | — |
public-api.v1.presence.show — Ruta moguda | GET /v1/presence/{employee} | GET /v1/companies/{company}/presence/{employee} | — |
Tarifes
Operacions: 13 — 0 noves, 12 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.price-lists.create — Canviada | POST /v1/price-lists | POST /v1/companies/{company}/price-lists | capçalera Location declarada a 201 |
public-api.v1.price-lists.delete — Ruta moguda | DELETE /v1/price-lists/{priceList} | DELETE /v1/companies/{company}/price-lists/{priceList} | — |
public-api.v1.price-lists.items.delete — Ruta moguda | DELETE /v1/price-lists/{priceList}/items/{item} | DELETE /v1/companies/{company}/price-lists/{priceList}/items/{item} | — |
public-api.v1.price-lists.items.list — Ruta moguda | GET /v1/price-lists/{priceList}/items | GET /v1/companies/{company}/price-lists/{priceList}/items | — |
public-api.v1.price-lists.items.purge_retired — Ruta moguda | POST /v1/price-lists/{priceList}/items/{item}/purge | POST /v1/companies/{company}/price-lists/{priceList}/items/{item}/purge | — |
public-api.v1.price-lists.items.reassign_retired — Ruta moguda | POST /v1/price-lists/{priceList}/items/{item}/reassign | POST /v1/companies/{company}/price-lists/{priceList}/items/{item}/reassign | — |
public-api.v1.price-lists.items.upsert — Ruta moguda | POST /v1/price-lists/{priceList}/items | POST /v1/companies/{company}/price-lists/{priceList}/items | — |
public-api.v1.price-lists.list — Ruta moguda | GET /v1/price-lists | GET /v1/companies/{company}/price-lists | — |
public-api.v1.price-lists.options — Ruta moguda | GET /v1/price-lists/options | GET /v1/companies/{company}/price-lists/options | — |
public-api.v1.price-lists.resolve — Ruta moguda | POST /v1/price-lists/resolve | POST /v1/companies/{company}/price-lists/resolve | — |
public-api.v1.price-lists.resolve_many — Ruta moguda | POST /v1/price-lists/resolve-many | POST /v1/companies/{company}/price-lists/resolve-many | — |
public-api.v1.price-lists.show — Ruta moguda | GET /v1/price-lists/{priceList} | GET /v1/companies/{company}/price-lists/{priceList} | — |
public-api.v1.price-lists.update — Ruta moguda | PUT /v1/price-lists/{priceList} | PATCH /v1/companies/{company}/price-lists/{priceList} | verb PUT → PATCH |
Productes
Operacions: 41 — 0 noves, 37 mogudes a l'eix, 4 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.products.activities — Ruta moguda | GET /v1/products/{product}/activities | GET /v1/companies/{company}/products/{product}/activities | — |
public-api.v1.products.bulk_delete — Ruta moguda | POST /v1/products/bulk-delete | POST /v1/companies/{company}/products/bulk-delete | — |
public-api.v1.products.bulk_status — Ruta moguda | POST /v1/products/bulk-status | POST /v1/companies/{company}/products/bulk-status | — |
public-api.v1.products.bulk_update_stock — Ruta moguda | POST /v1/products/bulk-update-stock | POST /v1/companies/{company}/products/bulk-update-stock | — |
public-api.v1.products.configurations.impact_preview — Ruta moguda | POST /v1/products/{product}/configurations/impact-preview | POST /v1/companies/{company}/products/{product}/configurations/impact-preview | — |
public-api.v1.products.configurations.list — Ruta moguda | GET /v1/products/{product}/configurations | GET /v1/companies/{company}/products/{product}/configurations | — |
public-api.v1.products.create — Canviada | POST /v1/products | POST /v1/companies/{company}/products | codis d'error documentats: 409 resource_already_exists/external_id_already_exists, 409 resource_already_exists/sku_already_exists |
public-api.v1.products.delete — Ruta moguda | DELETE /v1/products/{product} | DELETE /v1/companies/{company}/products/{product} | — |
public-api.v1.products.find_by_external_id — Ruta moguda | POST /v1/products/find-by-external-id | POST /v1/companies/{company}/products/find-by-external-id | — |
public-api.v1.products.find_by_sku — Ruta moguda | POST /v1/products/find-by-sku | POST /v1/companies/{company}/products/find-by-sku | — |
public-api.v1.products.gallery.delete — Ruta moguda | DELETE /v1/products/{product}/gallery/{index} | DELETE /v1/companies/{company}/products/{product}/gallery/{index} | — |
public-api.v1.products.gallery.download — Ruta moguda | GET /v1/products/{product}/gallery/{index}/download | GET /v1/companies/{company}/products/{product}/gallery/{index}/download | — |
public-api.v1.products.gallery.upload — Ruta moguda | POST /v1/products/{product}/gallery | POST /v1/companies/{company}/products/{product}/gallery | — |
public-api.v1.products.list — Ruta moguda | GET /v1/products | GET /v1/companies/{company}/products | — |
public-api.v1.products.low_stock_report — Ruta moguda | GET /v1/products/low-stock-report | GET /v1/companies/{company}/products/low-stock-report | — |
public-api.v1.products.options.list — Ruta moguda | GET /v1/products/{product}/options | GET /v1/companies/{company}/products/{product}/options | — |
public-api.v1.products.presentations.create — Ruta moguda | POST /v1/products/{product}/presentations | POST /v1/companies/{company}/products/{product}/presentations | — |
public-api.v1.products.presentations.delete — Ruta moguda | DELETE /v1/products/{product}/presentations/{presentation} | DELETE /v1/companies/{company}/products/{product}/presentations/{presentation} | — |
public-api.v1.products.presentations.list — Ruta moguda | GET /v1/products/{product}/presentations | GET /v1/companies/{company}/products/{product}/presentations | — |
public-api.v1.products.presentations.update — Ruta moguda | PUT /v1/products/{product}/presentations/{presentation} | PATCH /v1/companies/{company}/products/{product}/presentations/{presentation} | verb PUT → PATCH |
public-api.v1.products.resolve_selection — Ruta moguda | POST /v1/products/{product}/resolve-selection | POST /v1/companies/{company}/products/{product}/resolve-selection | — |
public-api.v1.products.sales_analytics — Ruta moguda | GET /v1/products/{product}/sales-analytics | GET /v1/companies/{company}/products/{product}/sales-analytics | — |
public-api.v1.products.search — Ruta moguda | GET /v1/products/search | GET /v1/companies/{company}/products/search | — |
public-api.v1.products.show — Ruta moguda | GET /v1/products/{product} | GET /v1/companies/{company}/products/{product} | — |
public-api.v1.products.stats — Ruta moguda | GET /v1/products/stats | GET /v1/companies/{company}/products/stats | — |
public-api.v1.products.stock_movements.list — Ruta moguda | GET /v1/products/{product}/stock-movements | GET /v1/companies/{company}/products/{product}/stock-movements | — |
public-api.v1.products.supplier-offers.create — Ruta moguda | POST /v1/products/{product}/supplier-offers | POST /v1/companies/{company}/products/{product}/supplier-offers | — |
public-api.v1.products.supplier-offers.delete — Ruta moguda | DELETE /v1/products/{product}/supplier-offers/{offer} | DELETE /v1/companies/{company}/products/{product}/supplier-offers/{offer} | — |
public-api.v1.products.supplier-offers.list — Ruta moguda | GET /v1/products/{product}/supplier-offers | GET /v1/companies/{company}/products/{product}/supplier-offers | — |
public-api.v1.products.supplier-offers.preferred — Ruta moguda | POST /v1/products/{product}/supplier-offers/{offer}/preferred | POST /v1/companies/{company}/products/{product}/supplier-offers/{offer}/preferred | — |
public-api.v1.products.supplier-offers.update — Ruta moguda | PUT /v1/products/{product}/supplier-offers/{offer} | PATCH /v1/companies/{company}/products/{product}/supplier-offers/{offer} | verb PUT → PATCH |
public-api.v1.products.toggle_active — Canviada | POST /v1/products/{product}/toggle-active | POST /v1/companies/{company}/products/{product}/toggle-active | respostes afegides: 422 |
public-api.v1.products.update — Canviada | PUT /v1/products/{product} | PATCH /v1/companies/{company}/products/{product} | verb PUT → PATCH; codis d'error documentats: 409 resource_already_exists/external_id_already_exists, 409 resource_already_exists/sku_already_exists |
public-api.v1.products.update_stock — Ruta moguda | PUT /v1/products/{product}/stock | PATCH /v1/companies/{company}/products/{product}/stock | verb PUT → PATCH |
public-api.v1.products.variants.create — Ruta moguda | POST /v1/products/{product}/variants | POST /v1/companies/{company}/products/{product}/variants | — |
public-api.v1.products.variants.delete — Ruta moguda | DELETE /v1/products/{product}/variants/{variant} | DELETE /v1/companies/{company}/products/{product}/variants/{variant} | — |
public-api.v1.products.variants.list — Ruta moguda | GET /v1/products/{product}/variants | GET /v1/companies/{company}/products/{product}/variants | — |
public-api.v1.products.variants.update — Ruta moguda | PUT /v1/products/{product}/variants/{variant} | PATCH /v1/companies/{company}/products/{product}/variants/{variant} | verb PUT → PATCH |
public-api.v1.products.video.delete — Canviada | DELETE /v1/products/{product}/video | DELETE /v1/companies/{company}/products/{product}/video | respostes afegides: 422 |
public-api.v1.products.video.download — Ruta moguda | GET /v1/products/{product}/video/download | GET /v1/companies/{company}/products/{product}/video/download | — |
public-api.v1.products.video.upload — Ruta moguda | POST /v1/products/{product}/video | POST /v1/companies/{company}/products/{product}/video | — |
Factures proforma
Operacions: 20 — 0 noves, 17 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.proformas.accept — Ruta moguda | POST /v1/proformas/{proforma}/accept | POST /v1/companies/{company}/proformas/{proforma}/accept | — |
public-api.v1.proformas.bulk_delete — Ruta moguda | POST /v1/proformas/bulk-delete | POST /v1/companies/{company}/proformas/bulk-delete | — |
public-api.v1.proformas.bulk_pdf — Ruta moguda | POST /v1/proformas/bulk-pdf | POST /v1/companies/{company}/proformas/bulk-pdf | — |
public-api.v1.proformas.bulk_send — Ruta moguda | POST /v1/proformas/bulk-send | POST /v1/companies/{company}/proformas/bulk-send | — |
public-api.v1.proformas.bulk_status — Ruta moguda | POST /v1/proformas/bulk-status | POST /v1/companies/{company}/proformas/bulk-status | — |
public-api.v1.proformas.convert — Canviada | POST /v1/proformas/{proforma}/convert | POST /v1/companies/{company}/proformas/{proforma}/convert | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.proformas.create — Ruta moguda | POST /v1/proformas | POST /v1/companies/{company}/proformas | — |
public-api.v1.proformas.delete — Ruta moguda | DELETE /v1/proformas/{proforma} | DELETE /v1/companies/{company}/proformas/{proforma} | — |
public-api.v1.proformas.duplicate — Canviada | POST /v1/proformas/{proforma}/duplicate | POST /v1/companies/{company}/proformas/{proforma}/duplicate | respostes afegides: 422 |
public-api.v1.proformas.find_by_external_id — Ruta moguda | POST /v1/proformas/find-by-external-id | POST /v1/companies/{company}/proformas/find-by-external-id | — |
public-api.v1.proformas.list — Ruta moguda | GET /v1/proformas | GET /v1/companies/{company}/proformas | — |
public-api.v1.proformas.pdf — Ruta moguda | GET /v1/proformas/{proforma}/pdf | GET /v1/companies/{company}/proformas/{proforma}/pdf | — |
public-api.v1.proformas.public_link_get — Ruta moguda | GET /v1/proformas/{proforma}/public-link | GET /v1/companies/{company}/proformas/{proforma}/public-link | — |
public-api.v1.proformas.public_link_update — Ruta moguda | PUT /v1/proformas/{proforma}/public-link | PATCH /v1/companies/{company}/proformas/{proforma}/public-link | verb PUT → PATCH |
public-api.v1.proformas.reject — Ruta moguda | POST /v1/proformas/{proforma}/reject | POST /v1/companies/{company}/proformas/{proforma}/reject | — |
public-api.v1.proformas.send — Ruta moguda | POST /v1/proformas/{proforma}/send | POST /v1/companies/{company}/proformas/{proforma}/send | — |
public-api.v1.proformas.show — Ruta moguda | GET /v1/proformas/{proforma} | GET /v1/companies/{company}/proformas/{proforma} | — |
public-api.v1.proformas.stats — Ruta moguda | GET /v1/proformas/stats | GET /v1/companies/{company}/proformas/stats | — |
public-api.v1.proformas.statuses — Ruta moguda | GET /v1/proformas/statuses | GET /v1/companies/{company}/proformas/statuses | — |
public-api.v1.proformas.update — Canviada | PUT /v1/proformas/{proforma} | PATCH /v1/companies/{company}/proformas/{proforma} | verb PUT → PATCH; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
Factures de compra
Operacions: 18 — 0 noves, 6 mogudes a l'eix, 12 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.purchase_invoices.attach_file — Canviada | POST /v1/purchase_invoices/{purchase_invoice}/attach-file | POST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/attach-file | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at; data.lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.bulk_delete — Ruta moguda | POST /v1/purchase_invoices/bulk-delete | POST /v1/companies/{company}/purchase-invoices/bulk-delete | — |
public-api.v1.purchase_invoices.bulk_status — Ruta moguda | POST /v1/purchase_invoices/bulk-status | POST /v1/companies/{company}/purchase-invoices/bulk-status | — |
public-api.v1.purchase_invoices.create — Canviada | POST /v1/purchase_invoices | POST /v1/companies/{company}/purchase-invoices | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at; data.lines[].unit_price canvia de tipus (number|string → string); codis d'error documentats: 409 resource_already_exists/purchase_invoice_already_exists |
public-api.v1.purchase_invoices.delete — Ruta moguda | DELETE /v1/purchase_invoices/{purchase_invoice} | DELETE /v1/companies/{company}/purchase-invoices/{purchase_invoice} | — |
public-api.v1.purchase_invoices.delete_file — Canviada | DELETE /v1/purchase_invoices/{purchase_invoice}/file | DELETE /v1/companies/{company}/purchase-invoices/{purchase_invoice}/file | respostes afegides: 422 |
public-api.v1.purchase_invoices.file — Ruta moguda | GET /v1/purchase_invoices/{purchase_invoice}/file | GET /v1/companies/{company}/purchase-invoices/{purchase_invoice}/file | — |
public-api.v1.purchase_invoices.find_by_external_id — Canviada | POST /v1/purchase_invoices/find-by-external-id | POST /v1/companies/{company}/purchase-invoices/find-by-external-id | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at; data.lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.list — Canviada | GET /v1/purchase_invoices | GET /v1/companies/{company}/purchase-invoices | camps nous de la resposta: data[].paid_date, data[].paid_recorded_at; camps retirats de la resposta: data[].paid_at; data[].lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.list_payments — Canviada | GET /v1/purchase_invoices/{purchase_invoice}/payments | GET /v1/companies/{company}/purchase-invoices/{purchase_invoice}/payments | camps nous de la resposta: data[].paid_date; camps retirats de la resposta: data[].paid_on |
public-api.v1.purchase_invoices.mark_paid — Canviada | POST /v1/purchase_invoices/{purchase_invoice}/mark_paid | POST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/mark-paid | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at; data.lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.overdue — Canviada | GET /v1/purchase_invoices/overdue | GET /v1/companies/{company}/purchase-invoices/overdue | camps nous de la resposta: data[].paid_date, data[].paid_recorded_at; camps retirats de la resposta: data[].paid_at; data[].lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.payment_receipt — Ruta moguda | GET /v1/purchase_invoices/{purchase_invoice}/payment-receipt | GET /v1/companies/{company}/purchase-invoices/{purchase_invoice}/payment-receipt | — |
public-api.v1.purchase_invoices.pending — Canviada | GET /v1/purchase_invoices/pending | GET /v1/companies/{company}/purchase-invoices/pending | camps nous de la resposta: data[].paid_date, data[].paid_recorded_at; camps retirats de la resposta: data[].paid_at; data[].lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.register_payment — Canviada | POST /v1/purchase_invoices/{purchase_invoice}/payments | POST /v1/companies/{company}/purchase-invoices/{purchase_invoice}/payments | camps nous de la resposta: data.paid_date; camps retirats de la resposta: data.paid_on; capçalera Location declarada a 201 |
public-api.v1.purchase_invoices.show — Canviada | GET /v1/purchase_invoices/{purchase_invoice} | GET /v1/companies/{company}/purchase-invoices/{purchase_invoice} | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at; data.lines[].unit_price canvia de tipus (number|string → string) |
public-api.v1.purchase_invoices.stats — Ruta moguda | GET /v1/purchase_invoices/stats | GET /v1/companies/{company}/purchase-invoices/stats | — |
public-api.v1.purchase_invoices.update — Canviada | PUT /v1/purchase_invoices/{purchase_invoice} | PATCH /v1/companies/{company}/purchase-invoices/{purchase_invoice} | verb PUT → PATCH; camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at; data.lines[].unit_price canvia de tipus (number|string → string); codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
Pressupostos
Operacions: 20 — 0 noves, 17 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.quotes.accept — Ruta moguda | POST /v1/quotes/{quote}/accept | POST /v1/companies/{company}/quotes/{quote}/accept | — |
public-api.v1.quotes.bulk_delete — Ruta moguda | POST /v1/quotes/bulk-delete | POST /v1/companies/{company}/quotes/bulk-delete | — |
public-api.v1.quotes.bulk_pdf — Ruta moguda | POST /v1/quotes/bulk-pdf | POST /v1/companies/{company}/quotes/bulk-pdf | — |
public-api.v1.quotes.bulk_send — Ruta moguda | POST /v1/quotes/bulk-send | POST /v1/companies/{company}/quotes/bulk-send | — |
public-api.v1.quotes.bulk_status — Ruta moguda | POST /v1/quotes/bulk-status | POST /v1/companies/{company}/quotes/bulk-status | — |
public-api.v1.quotes.convert — Canviada | POST /v1/quotes/{quote}/convert | POST /v1/companies/{company}/quotes/{quote}/convert | camps nous de la resposta: data.paid_date, data.paid_recorded_at; camps retirats de la resposta: data.paid_at, data.paid_on |
public-api.v1.quotes.create — Ruta moguda | POST /v1/quotes | POST /v1/companies/{company}/quotes | — |
public-api.v1.quotes.delete — Ruta moguda | DELETE /v1/quotes/{quote} | DELETE /v1/companies/{company}/quotes/{quote} | — |
public-api.v1.quotes.duplicate — Canviada | POST /v1/quotes/{quote}/duplicate | POST /v1/companies/{company}/quotes/{quote}/duplicate | respostes afegides: 422 |
public-api.v1.quotes.find_by_external_id — Ruta moguda | POST /v1/quotes/find-by-external-id | POST /v1/companies/{company}/quotes/find-by-external-id | — |
public-api.v1.quotes.list — Ruta moguda | GET /v1/quotes | GET /v1/companies/{company}/quotes | — |
public-api.v1.quotes.pdf — Ruta moguda | GET /v1/quotes/{quote}/pdf | GET /v1/companies/{company}/quotes/{quote}/pdf | — |
public-api.v1.quotes.public_link_get — Ruta moguda | GET /v1/quotes/{quote}/public-link | GET /v1/companies/{company}/quotes/{quote}/public-link | — |
public-api.v1.quotes.public_link_update — Ruta moguda | PUT /v1/quotes/{quote}/public-link | PATCH /v1/companies/{company}/quotes/{quote}/public-link | verb PUT → PATCH |
public-api.v1.quotes.reject — Ruta moguda | POST /v1/quotes/{quote}/reject | POST /v1/companies/{company}/quotes/{quote}/reject | — |
public-api.v1.quotes.send — Ruta moguda | POST /v1/quotes/{quote}/send | POST /v1/companies/{company}/quotes/{quote}/send | — |
public-api.v1.quotes.show — Ruta moguda | GET /v1/quotes/{quote} | GET /v1/companies/{company}/quotes/{quote} | — |
public-api.v1.quotes.stats — Ruta moguda | GET /v1/quotes/stats | GET /v1/companies/{company}/quotes/stats | — |
public-api.v1.quotes.statuses — Ruta moguda | GET /v1/quotes/statuses | GET /v1/companies/{company}/quotes/statuses | — |
public-api.v1.quotes.update — Canviada | PUT /v1/quotes/{quote} | PATCH /v1/companies/{company}/quotes/{quote} | verb PUT → PATCH; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
Factures recurrents
Operacions: 18 — 0 noves, 15 mogudes a l'eix, 3 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.recurring_invoices.activate — Ruta moguda | POST /v1/recurring_invoices/{recurring_invoice}/activate | POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/activate | — |
public-api.v1.recurring_invoices.activities — Ruta moguda | GET /v1/recurring_invoices/{recurring_invoice}/activities | GET /v1/companies/{company}/recurring-invoices/{recurring_invoice}/activities | — |
public-api.v1.recurring_invoices.bulk-delete — Ruta moguda | POST /v1/recurring_invoices/bulk-delete | POST /v1/companies/{company}/recurring-invoices/bulk-delete | — |
public-api.v1.recurring_invoices.bulk_status — Ruta moguda | POST /v1/recurring_invoices/bulk-status | POST /v1/companies/{company}/recurring-invoices/bulk-status | — |
public-api.v1.recurring_invoices.cancel — Ruta moguda | POST /v1/recurring_invoices/{recurring_invoice}/cancel | POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/cancel | — |
public-api.v1.recurring_invoices.create — Ruta moguda | POST /v1/recurring_invoices | POST /v1/companies/{company}/recurring-invoices | — |
public-api.v1.recurring_invoices.delete — Ruta moguda | DELETE /v1/recurring_invoices/{recurring_invoice} | DELETE /v1/companies/{company}/recurring-invoices/{recurring_invoice} | — |
public-api.v1.recurring_invoices.find_by_external_id — Ruta moguda | POST /v1/recurring_invoices/find-by-external-id | POST /v1/companies/{company}/recurring-invoices/find-by-external-id | — |
public-api.v1.recurring_invoices.generate — Ruta moguda | POST /v1/recurring_invoices/{recurring_invoice}/generate | POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/generate | — |
public-api.v1.recurring_invoices.list — Ruta moguda | GET /v1/recurring_invoices | GET /v1/companies/{company}/recurring-invoices | — |
public-api.v1.recurring_invoices.logs — Ruta moguda | GET /v1/recurring_invoices/{recurring_invoice}/logs | GET /v1/companies/{company}/recurring-invoices/{recurring_invoice}/logs | — |
public-api.v1.recurring_invoices.pause — Canviada | POST /v1/recurring_invoices/{recurring_invoice}/pause | POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/pause | respostes afegides: 422 |
public-api.v1.recurring_invoices.preview — Ruta moguda | GET /v1/recurring_invoices/{recurring_invoice}/preview | GET /v1/companies/{company}/recurring-invoices/{recurring_invoice}/preview | — |
public-api.v1.recurring_invoices.resume — Ruta moguda | POST /v1/recurring_invoices/{recurring_invoice}/resume | POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/resume | — |
public-api.v1.recurring_invoices.show — Ruta moguda | GET /v1/recurring_invoices/{recurring_invoice} | GET /v1/companies/{company}/recurring-invoices/{recurring_invoice} | — |
public-api.v1.recurring_invoices.skip — Canviada | POST /v1/recurring_invoices/{recurring_invoice}/skip | POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/skip | respostes afegides: 422 |
public-api.v1.recurring_invoices.stats — Ruta moguda | GET /v1/recurring_invoices/stats | GET /v1/companies/{company}/recurring-invoices/stats | — |
public-api.v1.recurring_invoices.update — Canviada | PUT /v1/recurring_invoices/{recurring_invoice} | PATCH /v1/companies/{company}/recurring-invoices/{recurring_invoice} | verb PUT → PATCH; codis d'error documentats: 409 resource_already_exists/external_id_already_exists |
Sèries
Operacions: 12 — 0 noves, 8 mogudes a l'eix, 4 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.series.active — Ruta moguda | GET /v1/series/active | GET /v1/companies/{company}/series/active | — |
public-api.v1.series.activities — Ruta moguda | GET /v1/series/{series}/activities | GET /v1/companies/{company}/series/{series}/activities | — |
public-api.v1.series.archive — Canviada | POST /v1/series/{series}/archive | POST /v1/companies/{company}/series/{series}/archive | respostes afegides: 422 |
public-api.v1.series.bootstrap — Canviada | POST /v1/series/bootstrap | POST /v1/companies/{company}/series/bootstrap | respostes afegides: 422 |
public-api.v1.series.create — Ruta moguda | POST /v1/series | POST /v1/companies/{company}/series | — |
public-api.v1.series.default — Ruta moguda | GET /v1/series/default | GET /v1/companies/{company}/series/default | — |
public-api.v1.series.find_by_code — Ruta moguda | POST /v1/series/find-by-code | POST /v1/companies/{company}/series/find-by-code | — |
public-api.v1.series.list — Ruta moguda | GET /v1/series | GET /v1/companies/{company}/series | — |
public-api.v1.series.set_default — Canviada | POST /v1/series/{series}/default | POST /v1/companies/{company}/series/{series}/default | respostes afegides: 422 |
public-api.v1.series.show — Ruta moguda | GET /v1/series/{series} | GET /v1/companies/{company}/series/{series} | — |
public-api.v1.series.stats — Ruta moguda | GET /v1/series/stats | GET /v1/companies/{company}/series/stats | — |
public-api.v1.series.unarchive — Canviada | POST /v1/series/{series}/unarchive | POST /v1/companies/{company}/series/{series}/unarchive | respostes afegides: 422 |
Botiga Shopify
Operacions: 1 — 0 noves, 1 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.shopify.stores.connection_test — Ruta moguda | POST /v1/shopify/stores/{store}/connection-test | POST /v1/companies/{company}/shopify/stores/{store}/connection-test | — |
Botigues
Operacions: 5 — 0 noves, 4 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.stores.create — Canviada | POST /v1/stores | POST /v1/companies/{company}/stores | capçalera Location declarada a 201 |
public-api.v1.stores.disconnect — Ruta moguda | DELETE /v1/stores/{store} | DELETE /v1/companies/{company}/stores/{store} | — |
public-api.v1.stores.index — Ruta moguda | GET /v1/stores | GET /v1/companies/{company}/stores | — |
public-api.v1.stores.show — Ruta moguda | GET /v1/stores/{store} | GET /v1/companies/{company}/stores/{store} | — |
public-api.v1.stores.update — Ruta moguda | PUT /v1/stores/{store} | PATCH /v1/companies/{company}/stores/{store} | verb PUT → PATCH |
Impostos
Operacions: 18 — 0 noves, 11 mogudes a l'eix, 0 mogudes amb altres canvis, 6 retirades, 1 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.tax-catalog.show — Sense canvis | GET /v1/tax-catalog | GET /v1/tax-catalog | Sense canvis |
public-api.v1.taxes.active — Ruta moguda | GET /v1/taxes/active | GET /v1/companies/{company}/taxes/active | — |
public-api.v1.taxes.by_type — Ruta moguda | GET /v1/taxes/by-type | GET /v1/companies/{company}/taxes/by-type | — |
public-api.v1.taxes.calculate — Ruta moguda | POST /v1/taxes/calculate | POST /v1/companies/{company}/taxes/calculate | — |
public-api.v1.taxes.calculate_totals — Ruta moguda | POST /v1/taxes/calculate-totals | POST /v1/companies/{company}/taxes/calculate-totals | — |
public-api.v1.taxes.create — Retirada | POST /v1/taxes | — | Retirada |
public-api.v1.taxes.defaults — Ruta moguda | GET /v1/taxes/defaults/{docType} | GET /v1/companies/{company}/taxes/defaults/{docType} | — |
public-api.v1.taxes.delete — Retirada | DELETE /v1/taxes/{tax} | — | Retirada |
public-api.v1.taxes.for_purchases — Ruta moguda | GET /v1/taxes/for-purchases | GET /v1/companies/{company}/taxes/for-purchases | — |
public-api.v1.taxes.for_sales — Ruta moguda | GET /v1/taxes/for-sales | GET /v1/companies/{company}/taxes/for-sales | — |
public-api.v1.taxes.is_in_use — Ruta moguda | GET /v1/taxes/{tax}/is-in-use | GET /v1/companies/{company}/taxes/{tax}/is-in-use | — |
public-api.v1.taxes.list — Ruta moguda | GET /v1/taxes | GET /v1/companies/{company}/taxes | — |
public-api.v1.taxes.set_default — Retirada | POST /v1/taxes/{tax}/set-default | — | Retirada |
public-api.v1.taxes.set_default_for_document — Retirada | PUT /v1/taxes/{tax}/set-default/{docType} | — | Retirada |
public-api.v1.taxes.show — Ruta moguda | GET /v1/taxes/{tax} | GET /v1/companies/{company}/taxes/{tax} | — |
public-api.v1.taxes.stats — Ruta moguda | GET /v1/taxes/stats | GET /v1/companies/{company}/taxes/stats | — |
public-api.v1.taxes.toggle — Retirada | POST /v1/taxes/{tax}/toggle | — | Retirada |
public-api.v1.taxes.update — Retirada | PUT /v1/taxes/{tax} | — | Retirada |
Informes fiscals
Operacions: 9 — 0 noves, 8 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.tax_reports.activities — Ruta moguda | GET /v1/tax_reports/{tax_report}/activities | GET /v1/companies/{company}/tax-reports/{tax_report}/activities | — |
public-api.v1.tax_reports.download — Ruta moguda | GET /v1/tax_reports/{tax_report}/download | GET /v1/companies/{company}/tax-reports/{tax_report}/download | — |
public-api.v1.tax_reports.find_by_period — Ruta moguda | POST /v1/tax_reports/find-by-period | POST /v1/companies/{company}/tax-reports/find-by-period | — |
public-api.v1.tax_reports.generate_130 — Canviada | POST /v1/tax_reports/130 | POST /v1/companies/{company}/tax-reports/130 | capçalera Location declarada a 201 |
public-api.v1.tax_reports.generate_303 — Ruta moguda | POST /v1/tax_reports/303 | POST /v1/companies/{company}/tax-reports/303 | — |
public-api.v1.tax_reports.generate_347 — Ruta moguda | POST /v1/tax_reports/347 | POST /v1/companies/{company}/tax-reports/347 | — |
public-api.v1.tax_reports.history — Ruta moguda | GET /v1/tax_reports/history | GET /v1/companies/{company}/tax-reports/history | — |
public-api.v1.tax_reports.preview — Ruta moguda | POST /v1/tax_reports/preview | POST /v1/companies/{company}/tax-reports/preview | — |
public-api.v1.tax_reports.stats — Ruta moguda | GET /v1/tax_reports/stats | GET /v1/companies/{company}/tax-reports/stats | — |
Balanços de jornada
Operacions: 3 — 0 noves, 3 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.time_balances.employee — Ruta moguda | GET /v1/time-balances/employee/{employee} | GET /v1/companies/{company}/time-balances/employee/{employee} | — |
public-api.v1.time_balances.monthly_sheet — Ruta moguda | GET /v1/time-balances/monthly-sheet | GET /v1/companies/{company}/time-balances/monthly-sheet | — |
public-api.v1.time_balances.team_summary — Ruta moguda | GET /v1/time-balances/team-summary | GET /v1/companies/{company}/time-balances/team-summary | — |
Correccions de fitxatges
Operacions: 5 — 0 noves, 4 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.time_corrections.approve — Ruta moguda | POST /v1/time-corrections/{time_correction}/approve | POST /v1/companies/{company}/time-corrections/{time_correction}/approve | — |
public-api.v1.time_corrections.create — Canviada | POST /v1/time-corrections | POST /v1/companies/{company}/time-corrections | capçalera Location declarada a 201 |
public-api.v1.time_corrections.list — Ruta moguda | GET /v1/time-corrections | GET /v1/companies/{company}/time-corrections | — |
public-api.v1.time_corrections.reject — Ruta moguda | POST /v1/time-corrections/{time_correction}/reject | POST /v1/companies/{company}/time-corrections/{time_correction}/reject | — |
public-api.v1.time_corrections.show — Ruta moguda | GET /v1/time-corrections/{time_correction} | GET /v1/companies/{company}/time-corrections/{time_correction} | — |
Fitxatges
Operacions: 9 — 0 noves, 4 mogudes a l'eix, 5 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.time_entries.chain.validate — Ruta moguda | GET /v1/time-entries/chain/validate | GET /v1/companies/{company}/time-entries/chain/validate | — |
public-api.v1.time_entries.clock_in — Canviada | POST /v1/time-entries/clock-in | POST /v1/companies/{company}/time-entries/clock-in | capçalera Location declarada a 201 |
public-api.v1.time_entries.clock_out — Canviada | POST /v1/time-entries/clock-out | POST /v1/companies/{company}/time-entries/clock-out | capçalera Location declarada a 201 |
public-api.v1.time_entries.current — Ruta moguda | GET /v1/time-entries/current | GET /v1/companies/{company}/time-entries/current | — |
public-api.v1.time_entries.list — Ruta moguda | GET /v1/time-entries | GET /v1/companies/{company}/time-entries | — |
public-api.v1.time_entries.manual — Canviada | POST /v1/time-entries/manual | POST /v1/companies/{company}/time-entries/manual | capçalera Location declarada a 201 |
public-api.v1.time_entries.pause — Canviada | POST /v1/time-entries/pause | POST /v1/companies/{company}/time-entries/pause | capçalera Location declarada a 201 |
public-api.v1.time_entries.resume — Canviada | POST /v1/time-entries/resume | POST /v1/companies/{company}/time-entries/resume | capçalera Location declarada a 201 |
public-api.v1.time_entries.show — Ruta moguda | GET /v1/time-entries/{time_entry} | GET /v1/companies/{company}/time-entries/{time_entry} | — |
Configuració del registre
Operacions: 2 — 0 noves, 1 mogudes a l'eix, 1 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.time_tracking_settings.show — Ruta moguda | GET /v1/time-tracking-settings | GET /v1/companies/{company}/time-tracking-settings | — |
public-api.v1.time_tracking_settings.update — Canviada | PUT /v1/time-tracking-settings | PATCH /v1/companies/{company}/time-tracking-settings | verb PUT → PATCH; el cos de la petició passa a opcional; clock_in_reminder_enabled passa a opcional; clock_in_reminder_grace_minutes passa a opcional; overtime_basis passa a opcional; overtime_tolerance_minutes passa a opcional |
Webhooks
Operacions: 11 — 0 noves, 6 mogudes a l'eix, 5 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.webhook_endpoints.create — Canviada | POST /v1/webhook_endpoints | POST /v1/companies/{company}/webhook-endpoints | data.secret pot ser null |
public-api.v1.webhook_endpoints.delete — Ruta moguda | DELETE /v1/webhook_endpoints/{webhook_endpoint} | DELETE /v1/companies/{company}/webhook-endpoints/{webhook_endpoint} | — |
public-api.v1.webhook_endpoints.deliveries.list — Canviada | GET /v1/webhook_endpoints/{webhook_endpoint}/deliveries | GET /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries | camps nous de la resposta: data[].payload.data.object.paid_date, data[].payload.data.object.paid_recorded_at; camps retirats de la resposta: data[].payload.data.object.paid_at, data[].payload.data.object.paid_on |
public-api.v1.webhook_endpoints.deliveries.replay — Ruta moguda | POST /v1/webhook_endpoints/{webhook_endpoint}/deliveries/{delivery}/replay | POST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries/{delivery}/replay | — |
public-api.v1.webhook_endpoints.deliveries.show — Canviada | GET /v1/webhook_endpoints/{webhook_endpoint}/deliveries/{delivery} | GET /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/deliveries/{delivery} | camps nous de la resposta: data.payload.data.object.paid_date, data.payload.data.object.paid_recorded_at; camps retirats de la resposta: data.payload.data.object.paid_at, data.payload.data.object.paid_on |
public-api.v1.webhook_endpoints.list — Ruta moguda | GET /v1/webhook_endpoints | GET /v1/companies/{company}/webhook-endpoints | — |
public-api.v1.webhook_endpoints.ping — Ruta moguda | POST /v1/webhook_endpoints/{webhook_endpoint}/ping | POST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/ping | — |
public-api.v1.webhook_endpoints.rotate_secret — Canviada | POST /v1/webhook_endpoints/{webhook_endpoint}/rotate_secret | POST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/rotate-secret | data.secret pot ser null; codis d'error documentats: 422 business_rule_violation/webhook_secret_recently_rotated |
public-api.v1.webhook_endpoints.show — Ruta moguda | GET /v1/webhook_endpoints/{webhook_endpoint} | GET /v1/companies/{company}/webhook-endpoints/{webhook_endpoint} | — |
public-api.v1.webhook_endpoints.test_event — Ruta moguda | POST /v1/webhook_endpoints/{webhook_endpoint}/test_event | POST /v1/companies/{company}/webhook-endpoints/{webhook_endpoint}/test-event | — |
public-api.v1.webhook_endpoints.update — Canviada | PUT /v1/webhook_endpoints/{webhook_endpoint} | PATCH /v1/companies/{company}/webhook-endpoints/{webhook_endpoint} | verb PUT → PATCH; camps nous del cos: status |
Botiga WooCommerce
Operacions: 1 — 0 noves, 1 mogudes a l'eix, 0 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.woocommerce.stores.connection_test — Ruta moguda | POST /v1/woocommerce/stores/{store}/connection-test | POST /v1/companies/{company}/woocommerce/stores/{store}/connection-test | — |
Horaris
Operacions: 11 — 0 noves, 7 mogudes a l'eix, 4 mogudes amb altres canvis, 0 retirades, 0 sense canvis.
| Operació | Abans | Ara | Què canvia |
|---|---|---|---|
public-api.v1.work_schedules.archive — Canviada | POST /v1/work-schedules/{schedule}/archive | POST /v1/companies/{company}/work-schedules/{schedule}/archive | respostes afegides: 422 |
public-api.v1.work_schedules.assign — Ruta moguda | POST /v1/work-schedules/{schedule}/assign | POST /v1/companies/{company}/work-schedules/{schedule}/assign | — |
public-api.v1.work_schedules.assignments — Ruta moguda | GET /v1/work-schedules/{schedule}/assignments | GET /v1/companies/{company}/work-schedules/{schedule}/assignments | — |
public-api.v1.work_schedules.create — Canviada | POST /v1/work-schedules | POST /v1/companies/{company}/work-schedules | capçalera Location declarada a 201 |
public-api.v1.work_schedules.employee_schedule — Ruta moguda | GET /v1/work-schedules/employee/{employee} | GET /v1/companies/{company}/work-schedules/employee/{employee} | — |
public-api.v1.work_schedules.list — Ruta moguda | GET /v1/work-schedules | GET /v1/companies/{company}/work-schedules | — |
public-api.v1.work_schedules.show — Ruta moguda | GET /v1/work-schedules/{schedule} | GET /v1/companies/{company}/work-schedules/{schedule} | — |
public-api.v1.work_schedules.stats — Ruta moguda | GET /v1/work-schedules/stats | GET /v1/companies/{company}/work-schedules/stats | — |
public-api.v1.work_schedules.unarchive — Canviada | POST /v1/work-schedules/{schedule}/unarchive | POST /v1/companies/{company}/work-schedules/{schedule}/unarchive | respostes afegides: 422 |
public-api.v1.work_schedules.unassign — Ruta moguda | POST /v1/work-schedules/{schedule}/unassign | POST /v1/companies/{company}/work-schedules/{schedule}/unassign | — |
public-api.v1.work_schedules.update — Canviada | PUT /v1/work-schedules/{schedule} | PATCH /v1/companies/{company}/work-schedules/{schedule} | verb PUT → PATCH; el cos de la petició passa a opcional; mode passa a opcional; name passa a opcional; week_pattern passa a opcional |