{"id":538,"date":"2026-08-03T15:33:20","date_gmt":"2026-08-03T15:33:20","guid":{"rendered":"https:\/\/rightstrack.online\/?page_id=538"},"modified":"2026-08-03T20:19:03","modified_gmt":"2026-08-03T20:19:03","slug":"guia-de-usuario","status":"publish","type":"page","link":"https:\/\/rightstrack.online\/en\/guia-de-usuario\/","title":{"rendered":"Guia de usuario"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"538\" class=\"elementor elementor-538\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0b37183 hero e-flex e-con-boxed e-con e-parent\" data-id=\"0b37183\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-74033b4 e-con-full e-flex e-con e-child\" data-id=\"74033b4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f03fea5 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-heading\" data-id=\"f03fea5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Developers API<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f3c9f8 elementor-widget elementor-widget-html\" data-id=\"7f3c9f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ESTILOS CSS PARA LA COLUMNA IZQUIERDA (ELEMENTOR) -->\r\n<style>\r\n  \/* Importaci\u00f3n expl\u00edcita de tipograf\u00edas e iconos *\/\r\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');\r\n  @import url('https:\/\/fonts.googleapis.com\/icon?family=Material+Icons');\r\n\r\n  \/* Contenedor principal de la barra lateral *\/\r\n  .rt-sidebar-wrapper {\r\n    --blue: #0446F2;\r\n    --blue-d: #0337C9;\r\n    --ink: #0A0E1A;\r\n    --ink-2: #121829;\r\n    --line: rgba(255, 255, 255, 0.08);\r\n    --line-2: rgba(255, 255, 255, 0.14);\r\n    --get: #22C55E;\r\n    --get-bg: rgba(34, 197, 94, 0.12);\r\n    --grad: linear-gradient(120deg, #0446F2 0%, #5B7CFF 50%, #9D6BFF 100%);\r\n    --mono: 'JetBrains Mono', monospace;\r\n\r\n    font-family: 'Montserrat', sans-serif;\r\n    color: #ffffff;\r\n    padding: 20px 16px;\r\n    border-radius: 12px;\r\n    border-right: 1px solid var(--line);\r\n    -webkit-font-smoothing: antialiased;\r\n    position: sticky;\r\n    top: 20px;\r\n  }\r\n\r\n  \/* Forzado de renderizado de Material Icons *\/\r\n  .rt-sidebar-wrapper .material-icons {\r\n    font-family: 'Material Icons' !important;\r\n    font-weight: normal;\r\n    font-style: normal;\r\n    font-size: 16px;\r\n    line-height: 1;\r\n    letter-spacing: normal;\r\n    text-transform: none;\r\n    display: inline-block;\r\n    white-space: nowrap;\r\n    word-wrap: normal;\r\n    direction: ltr;\r\n    -webkit-font-smoothing: antialiased;\r\n    text-rendering: optimizeLegibility;\r\n    -moz-osx-font-smoothing: grayscale;\r\n    font-feature-settings: 'liga';\r\n    vertical-align: middle;\r\n    color: rgba(255, 255, 255, 0.4);\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  \/* Header \/ Logo dentro del Sidebar *\/\r\n  .rt-sidebar-wrapper .sidebar-head {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 12px;\r\n    margin-bottom: 20px;\r\n    padding-bottom: 16px;\r\n    border-bottom: 1px solid var(--line);\r\n  }\r\n  .rt-sidebar-wrapper .logo-brand {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    font-weight: 800;\r\n    font-size: 16px;\r\n    color: #fff;\r\n  }\r\n  .rt-sidebar-wrapper .logo-mark {\r\n    width: 30px;\r\n    height: 30px;\r\n    border-radius: 8px;\r\n    background: var(--grad);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    flex-shrink: 0;\r\n  }\r\n  .rt-sidebar-wrapper .logo-mark .material-icons {\r\n    font-size: 17px;\r\n    color: #fff;\r\n  }\r\n  .rt-sidebar-wrapper .ver-pill {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    padding: 5px 10px;\r\n    border-radius: 100px;\r\n    border: 1px solid var(--line-2);\r\n    background: rgba(255, 255, 255, 0.04);\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    color: #8AA0FF;\r\n    letter-spacing: 0.03em;\r\n    width: fit-content;\r\n  }\r\n  .rt-sidebar-wrapper .ver-pill .dot {\r\n    width: 6px;\r\n    height: 6px;\r\n    border-radius: 50%;\r\n    background: var(--get);\r\n  }\r\n\r\n  \/* Buscador *\/\r\n  .rt-sidebar-wrapper .search-box {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    padding: 9px 12px;\r\n    border-radius: 10px;\r\n    border: 1px solid var(--line-2);\r\n    background: rgba(255, 255, 255, 0.03);\r\n    margin-bottom: 22px;\r\n    transition: border-color .2s;\r\n  }\r\n  .rt-sidebar-wrapper .search-box:focus-within {\r\n    border-color: rgba(4, 70, 242, 0.6);\r\n  }\r\n  .rt-sidebar-wrapper .search-box input {\r\n    background: none;\r\n    border: none;\r\n    outline: none;\r\n    color: #fff;\r\n    font-family: 'Montserrat', sans-serif;\r\n    font-size: 13px;\r\n    width: 100%;\r\n  }\r\n  .rt-sidebar-wrapper .search-box input::placeholder {\r\n    color: rgba(255, 255, 255, 0.35);\r\n  }\r\n\r\n  \/* Grupos de Navegaci\u00f3n *\/\r\n  .rt-sidebar-wrapper .nav-group {\r\n    margin-bottom: 22px;\r\n  }\r\n  .rt-sidebar-wrapper .nav-group h6 {\r\n    font-size: 10.5px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.1em;\r\n    text-transform: uppercase;\r\n    color: rgba(255, 255, 255, 0.35);\r\n    padding: 0 10px;\r\n    margin-bottom: 8px;\r\n  }\r\n  .rt-sidebar-wrapper .nav-item {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 9px;\r\n    padding: 8px 10px;\r\n    border-radius: 8px;\r\n    font-size: 13.5px;\r\n    font-weight: 600;\r\n    color: rgba(255, 255, 255, 0.62);\r\n    transition: background .15s, color .15s;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n  }\r\n  .rt-sidebar-wrapper .nav-item:hover {\r\n    background: rgba(255, 255, 255, 0.04);\r\n    color: #fff;\r\n  }\r\n  .rt-sidebar-wrapper .nav-item.active {\r\n    background: rgba(4, 70, 242, 0.16);\r\n    color: #fff;\r\n  }\r\n  .rt-sidebar-wrapper .nav-item.active .material-icons {\r\n    color: #8AA0FF;\r\n  }\r\n  .rt-sidebar-wrapper .nav-item .m-get {\r\n    margin-left: auto;\r\n    font-size: 8.5px;\r\n    font-weight: 800;\r\n    font-family: var(--mono);\r\n    color: var(--get);\r\n    background: var(--get-bg);\r\n    padding: 2px 6px;\r\n    border-radius: 4px;\r\n    letter-spacing: 0.03em;\r\n  }\r\n\r\n  \/* Footer del Sidebar *\/\r\n  .rt-sidebar-wrapper .sidebar-foot {\r\n    padding-top: 16px;\r\n    border-top: 1px solid var(--line);\r\n  }\r\n  .rt-sidebar-wrapper .back-link {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    color: rgba(255, 255, 255, 0.6);\r\n    text-decoration: none;\r\n    transition: color .2s;\r\n  }\r\n  .rt-sidebar-wrapper .back-link:hover {\r\n    color: #fff;\r\n  }\r\n<\/style>\r\n\r\n<!-- CARGA DE EMERGENCIA DE ICONOS -->\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/icon?family=Material+Icons\">\r\n\r\n<!-- CONTENIDO HTML -->\r\n<div class=\"rt-sidebar-wrapper\">\r\n\r\n  <!-- Cajas de B\u00fasqueda -->\r\n  <div class=\"search-box\">\r\n    <span class=\"material-icons\">search<\/span>\r\n    <input id=\"rtNavSearch\" placeholder=\"Buscar en la documentaci\u00f3n\u2026\">\r\n  <\/div>\r\n\r\n  <!-- Men\u00fa Navegaci\u00f3n -->\r\n  <nav id=\"rtSidebarNav\">\r\n    <div class=\"nav-group\">\r\n      <h6>Primeros pasos<\/h6>\r\n      <a class=\"nav-item active\" data-nav href=\"#intro\"><span class=\"material-icons\">info<\/span>Introducci\u00f3n<\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#quickstart\"><span class=\"material-icons\">rocket_launch<\/span>Prueba r\u00e1pida<\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#auth\"><span class=\"material-icons\">lock<\/span>Autenticaci\u00f3n<\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#rate-limit\"><span class=\"material-icons\">speed<\/span>Rate limiting<\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#pagination\"><span class=\"material-icons\">view_list<\/span>Paginaci\u00f3n<\/a>\r\n    <\/div>\r\n\r\n    <div class=\"nav-group\">\r\n      <h6>Endpoints<\/h6>\r\n      <a class=\"nav-item\" data-nav href=\"#endpoint-partners\"><span class=\"material-icons\">group<\/span>Partners<span class=\"m-get\">GET<\/span><\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#endpoint-works\"><span class=\"material-icons\">library_music<\/span>Works<span class=\"m-get\">GET<\/span><\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#endpoint-files\"><span class=\"material-icons\">description<\/span>Works Files<span class=\"m-get\">GET<\/span><\/a>\r\n      <a class=\"nav-item\" data-nav href=\"#endpoint-distribution\"><span class=\"material-icons\">account_tree<\/span>Distribution<span class=\"m-get\">GET<\/span><\/a>\r\n    <\/div>\r\n\r\n    <div class=\"nav-group\">\r\n      <h6>Administraci\u00f3n<\/h6>\r\n      <a class=\"nav-item\" data-nav href=\"#managing-keys\"><span class=\"material-icons\">vpn_key<\/span>Gesti\u00f3n de API Keys<\/a>\r\n    <\/div>\r\n  <\/nav>\r\n\r\n\r\n\r\n<\/div>\r\n\r\n<!-- L\u00d3GICA JAVASCRIPT -->\r\n<script>\r\n  document.addEventListener('DOMContentLoaded', function() {\r\n    const navItems = Array.from(document.querySelectorAll('.rt-sidebar-wrapper .nav-item[data-nav]'));\r\n    const searchInput = document.getElementById('rtNavSearch');\r\n\r\n    \/\/ 1. Buscador din\u00e1mico de secciones en el sidebar\r\n    if (searchInput) {\r\n      searchInput.addEventListener('input', function(e) {\r\n        const query = e.target.value.toLowerCase();\r\n        navItems.forEach(item => {\r\n          const text = item.textContent.toLowerCase();\r\n          item.style.display = text.includes(query) ? 'flex' : 'none';\r\n        });\r\n      });\r\n    }\r\n\r\n    \/\/ 2. Smooth Scroll al hacer clic en cualquier \u00edtem\r\n    navItems.forEach(item => {\r\n      item.addEventListener('click', function(e) {\r\n        const targetId = this.getAttribute('href');\r\n        const targetElem = document.querySelector(targetId);\r\n        \r\n        if (targetElem) {\r\n          e.preventDefault();\r\n          targetElem.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n          \r\n          \/\/ Actualizar \u00edtem activo al hacer clic\r\n          navItems.forEach(n => n.classList.remove('active'));\r\n          this.classList.add('active');\r\n        }\r\n      });\r\n    });\r\n\r\n    \/\/ 3. ScrollSpy (Detecta qu\u00e9 secci\u00f3n se lee en la columna derecha para activarla a la izquierda)\r\n    const sectionIds = navItems.map(n => n.getAttribute('href')).filter(id => id.startsWith('#'));\r\n    const sections = sectionIds.map(id => document.querySelector(id)).filter(Boolean);\r\n\r\n    if (sections.length > 0 && 'IntersectionObserver' in window) {\r\n      const observer = new IntersectionObserver((entries) => {\r\n        entries.forEach(entry => {\r\n          if (entry.isIntersecting) {\r\n            const activeId = '#' + entry.target.id;\r\n            navItems.forEach(n => {\r\n              if (n.getAttribute('href') === activeId) {\r\n                n.classList.add('active');\r\n              } else {\r\n                n.classList.remove('active');\r\n              }\r\n            });\r\n          }\r\n        });\r\n      }, { rootMargin: '-20% 0px -70% 0px', threshold: 0 });\r\n\r\n      sections.forEach(sec => observer.observe(sec));\r\n    }\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e35bc47 e-con-full e-flex e-con e-child\" data-id=\"e35bc47\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-aae7137 e-con-full e-flex e-con e-child\" data-id=\"aae7137\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ff4f62c elementor-widget elementor-widget-html\" data-id=\"ff4f62c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ESTILOS CSS PARA ELEMENTOR -->\r\n<style>\r\n  \/* Importaci\u00f3n expl\u00edcita de tipograf\u00eda e iconos *\/\r\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');\r\n  @import url('https:\/\/fonts.googleapis.com\/icon?family=Material+Icons');\r\n\r\n  \/* Variables de Color y Temas *\/\r\n  .rt-doc-wrapper {\r\n    --blue: #0446F2;\r\n    --blue-d: #0337C9;\r\n    --ink: #0A0E1A;\r\n    --ink-2: #121829;\r\n    --ink-3: #171F35;\r\n    --line: rgba(255, 255, 255, 0.08);\r\n    --line-2: rgba(255, 255, 255, 0.14);\r\n    --grad: linear-gradient(120deg, #0446F2 0%, #5B7CFF 50%, #9D6BFF 100%);\r\n    --get: #22C55E;\r\n    --get-bg: rgba(34, 197, 94, 0.12);\r\n    --c200: #22C55E;\r\n    --c200-bg: rgba(34, 197, 94, 0.12);\r\n    --c401: #F87171;\r\n    --c401-bg: rgba(220, 38, 38, 0.14);\r\n    --c403: #FB923C;\r\n    --c403-bg: rgba(217, 119, 6, 0.14);\r\n    --c422: #F472B6;\r\n    --c422-bg: rgba(219, 39, 119, 0.14);\r\n    --c429: #A78BFA;\r\n    --c429-bg: rgba(124, 58, 237, 0.16);\r\n    --mono: 'JetBrains Mono', monospace;\r\n    \r\n    font-family: 'Montserrat', sans-serif;\r\n    color: #ffffff;\r\n    padding: 20px;\r\n    border-radius: 12px;\r\n    -webkit-font-smoothing: antialiased;\r\n  }\r\n\r\n  \/* Forzado de renderizado de Material Icons *\/\r\n  .rt-doc-wrapper .material-icons {\r\n    font-family: 'Material Icons' !important;\r\n    font-weight: normal;\r\n    font-style: normal;\r\n    font-size: 24px;\r\n    line-height: 1;\r\n    letter-spacing: normal;\r\n    text-transform: none;\r\n    display: inline-block;\r\n    white-space: nowrap;\r\n    word-wrap: normal;\r\n    direction: ltr;\r\n    -webkit-font-smoothing: antialiased;\r\n    text-rendering: optimizeLegibility;\r\n    -moz-osx-font-smoothing: grayscale;\r\n    font-feature-settings: 'liga';\r\n    vertical-align: middle;\r\n  }\r\n\r\n  .rt-doc-wrapper code, \r\n  .rt-doc-wrapper .mono {\r\n    font-family: var(--mono);\r\n  }\r\n\r\n  \/* Document Hero *\/\r\n  .rt-doc-wrapper .doc-hero {\r\n    padding-bottom: 36px;\r\n    border-bottom: 1px solid var(--line);\r\n    margin-bottom: 40px;\r\n  }\r\n  .rt-doc-wrapper .doc-eyebrow {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    font-size: 11.5px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.16em;\r\n    text-transform: uppercase;\r\n    color: #8AA0FF;\r\n    margin-bottom: 16px;\r\n  }\r\n  .rt-doc-wrapper .doc-hero h1 {\r\n    font-size: clamp(30px, 4vw, 42px);\r\n    font-weight: 700;\r\n    line-height: 1.08;\r\n    margin-bottom: 14px;\r\n    color: #fff;\r\n  }\r\n  .rt-doc-wrapper .doc-hero .lead {\r\n    font-size: 16px;\r\n    color: rgba(255, 255, 255, 0.62);\r\n    line-height: 1.65;\r\n    max-width: 680px;\r\n    font-weight: 500;\r\n  }\r\n\r\n  \/* Grid Meta Cards *\/\r\n  .rt-doc-wrapper .meta-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 12px;\r\n    margin-top: 26px;\r\n  }\r\n  .rt-doc-wrapper .meta-card {\r\n    padding: 14px 16px;\r\n    border-radius: 12px;\r\n    border: 1px solid var(--line);\r\n    background: rgba(255, 255, 255, 0.025);\r\n  }\r\n  .rt-doc-wrapper .meta-card .k {\r\n    font-size: 10px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    color: rgba(255, 255, 255, 0.4);\r\n    margin-bottom: 6px;\r\n  }\r\n  .rt-doc-wrapper .meta-card .v {\r\n    font-family: var(--mono);\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    color: #fff;\r\n    word-break: break-all;\r\n  }\r\n\r\n  \/* Callouts *\/\r\n  .rt-doc-wrapper .callout {\r\n    display: flex;\r\n    gap: 12px;\r\n    padding: 14px 16px;\r\n    border-radius: 12px;\r\n    margin: 16px 0;\r\n    border: 1px solid var(--line-2);\r\n  }\r\n  .rt-doc-wrapper .callout .material-icons {\r\n    font-size: 19px;\r\n    flex-shrink: 0;\r\n    margin-top: 1px;\r\n  }\r\n  .rt-doc-wrapper .callout p {\r\n    margin: 0;\r\n    font-size: 13.5px;\r\n    line-height: 1.6;\r\n    color: rgba(255, 255, 255, 0.75);\r\n  }\r\n  .rt-doc-wrapper .callout p + p {\r\n    margin-top: 8px;\r\n  }\r\n  .rt-doc-wrapper .callout.info {\r\n    background: rgba(4, 70, 242, 0.08);\r\n    border-color: rgba(4, 70, 242, 0.28);\r\n  }\r\n  .rt-doc-wrapper .callout.info .material-icons { color: #8AA0FF; }\r\n  .rt-doc-wrapper .callout.warn {\r\n    background: rgba(217, 119, 6, 0.08);\r\n    border-color: rgba(217, 119, 6, 0.28);\r\n  }\r\n  .rt-doc-wrapper .callout.warn .material-icons { color: #FB923C; }\r\n  .rt-doc-wrapper .callout.danger {\r\n    background: rgba(220, 38, 38, 0.08);\r\n    border-color: rgba(220, 38, 38, 0.28);\r\n  }\r\n  .rt-doc-wrapper .callout.danger .material-icons { color: #F87171; }\r\n\r\n  \/* Sections & Typography *\/\r\n  .rt-doc-wrapper section.doc-sec {\r\n    margin-bottom: 56px;\r\n    scroll-margin-top: 84px;\r\n  }\r\n  .rt-doc-wrapper section.doc-sec h2 {\r\n    font-size: 24px;\r\n    font-weight: 700;\r\n    margin-bottom: 12px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 11px;\r\n    color: #fff;\r\n  }\r\n  .rt-doc-wrapper section.doc-sec h2 .material-icons {\r\n    font-size: 21px;\r\n    color: #8AA0FF;\r\n  }\r\n  .rt-doc-wrapper section.doc-sec h3 {\r\n    font-size: 16.5px;\r\n    font-weight: 700;\r\n    margin: 26px 0 10px;\r\n    color: #fff;\r\n  }\r\n  .rt-doc-wrapper section.doc-sec p {\r\n    font-size: 14.5px;\r\n    color: rgba(255, 255, 255, 0.66);\r\n    line-height: 1.7;\r\n    margin-bottom: 12px;\r\n  }\r\n  .rt-doc-wrapper section.doc-sec p code, \r\n  .rt-doc-wrapper li code {\r\n    font-size: 12.5px;\r\n    background: rgba(255, 255, 255, 0.07);\r\n    padding: 2px 6px;\r\n    border-radius: 5px;\r\n    color: #B9C6FF;\r\n    border: 1px solid var(--line);\r\n  }\r\n\r\n  \/* Jump Cards *\/\r\n  .rt-doc-wrapper .jump-cards {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 12px;\r\n    margin: 20px 0;\r\n  }\r\n  .rt-doc-wrapper .jump-card {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    padding: 14px 16px;\r\n    border-radius: 12px;\r\n    border: 1px solid var(--line);\r\n    background: rgba(255, 255, 255, 0.025);\r\n    transition: border-color .2s, background .2s, transform .2s;\r\n    cursor: pointer;\r\n  }\r\n  .rt-doc-wrapper .jump-card:hover {\r\n    border-color: rgba(4, 70, 242, 0.4);\r\n    background: rgba(4, 70, 242, 0.06);\r\n    transform: translateY(-2px);\r\n  }\r\n  .rt-doc-wrapper .jump-card .jic {\r\n    width: 36px;\r\n    height: 36px;\r\n    border-radius: 10px;\r\n    background: rgba(4, 70, 242, 0.14);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    flex-shrink: 0;\r\n  }\r\n  .rt-doc-wrapper .jump-card .jic .material-icons { font-size: 18px; color: #8AA0FF; }\r\n  .rt-doc-wrapper .jump-card .jt { font-size: 13.5px; font-weight: 700; color: #fff; }\r\n  .rt-doc-wrapper .jump-card .jd { font-size: 11.5px; color: rgba(255, 255, 255, 0.45); font-family: var(--mono); }\r\n\r\n  \/* Endpoint Head *\/\r\n  .rt-doc-wrapper .endpoint-head {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    flex-wrap: wrap;\r\n    margin-bottom: 8px;\r\n  }\r\n  .rt-doc-wrapper .method-get {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    font-family: var(--mono);\r\n    font-size: 12.5px;\r\n    font-weight: 700;\r\n    color: var(--get);\r\n    background: var(--get-bg);\r\n    border: 1px solid rgba(34, 197, 94, 0.3);\r\n    padding: 5px 10px;\r\n    border-radius: 7px;\r\n  }\r\n  .rt-doc-wrapper .endpoint-path {\r\n    font-family: var(--mono);\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    color: #fff;\r\n  }\r\n\r\n  \/* Step List *\/\r\n  .rt-doc-wrapper .steps { counter-reset: step; margin: 18px 0; }\r\n  .rt-doc-wrapper .step { display: flex; gap: 14px; margin-bottom: 16px; }\r\n  .rt-doc-wrapper .step .sn {\r\n    counter-increment: step;\r\n    width: 26px;\r\n    height: 26px;\r\n    border-radius: 8px;\r\n    background: var(--grad);\r\n    flex-shrink: 0;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    font-family: var(--mono);\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    color: #fff;\r\n  }\r\n  .rt-doc-wrapper .step .sn::before { content: counter(step); }\r\n  .rt-doc-wrapper .step .sc { padding-top: 2px; }\r\n  .rt-doc-wrapper .step .sc p { margin-bottom: 0; }\r\n\r\n  \/* Code Blocks *\/\r\n  .rt-doc-wrapper .code {\r\n    border-radius: 12px;\r\n    overflow: hidden;\r\n    border: 1px solid var(--line-2);\r\n    background: #0D1220;\r\n    margin: 16px 0;\r\n  }\r\n  .rt-doc-wrapper .code-bar {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    padding: 9px 14px;\r\n    background: #10162A;\r\n    border-bottom: 1px solid var(--line);\r\n  }\r\n  .rt-doc-wrapper .code-bar .lang {\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.06em;\r\n    text-transform: uppercase;\r\n    color: rgba(255, 255, 255, 0.4);\r\n  }\r\n  .rt-doc-wrapper .copy-btn {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    font-size: 11.5px;\r\n    font-weight: 600;\r\n    color: rgba(255, 255, 255, 0.55);\r\n    background: rgba(255, 255, 255, 0.05);\r\n    border: 1px solid var(--line-2);\r\n    padding: 5px 10px;\r\n    border-radius: 7px;\r\n    cursor: pointer;\r\n    transition: background .15s, color .15s;\r\n  }\r\n  .rt-doc-wrapper .copy-btn:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }\r\n  .rt-doc-wrapper .copy-btn .material-icons { font-size: 14px; }\r\n  .rt-doc-wrapper .code pre {\r\n    margin: 0;\r\n    padding: 16px 18px;\r\n    overflow-x: auto;\r\n    font-family: var(--mono);\r\n    font-size: 12.8px;\r\n    line-height: 1.65;\r\n    color: #D6DCF0;\r\n  }\r\n\r\n  \/* Code Tokens Syntax Highlighting *\/\r\n  .rt-doc-wrapper .tok-key { color: #8AA0FF; }\r\n  .rt-doc-wrapper .tok-str { color: #7EE3B5; }\r\n  .rt-doc-wrapper .tok-num { color: #F4B461; }\r\n  .rt-doc-wrapper .tok-bool { color: #F472B6; }\r\n  .rt-doc-wrapper .tok-null { color: rgba(255, 255, 255, 0.35); }\r\n  .rt-doc-wrapper .tok-flag { color: #F4B461; }\r\n  .rt-doc-wrapper .tok-cmd { color: #F472B6; font-weight: 600; }\r\n  .rt-doc-wrapper .tok-url { color: #7EE3B5; }\r\n\r\n  \/* Tables *\/\r\n  .rt-doc-wrapper .table-wrap {\r\n    border-radius: 12px;\r\n    overflow-x: auto;\r\n    border: 1px solid var(--line);\r\n    margin: 16px 0;\r\n  }\r\n  .rt-doc-wrapper table.doc-table { width: 100%; border-collapse: collapse; }\r\n  .rt-doc-wrapper table.doc-table th {\r\n    text-align: left;\r\n    font-size: 10.5px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.05em;\r\n    text-transform: uppercase;\r\n    color: rgba(255, 255, 255, 0.45);\r\n    background: rgba(255, 255, 255, 0.03);\r\n    padding: 11px 16px;\r\n    border-bottom: 1px solid var(--line);\r\n  }\r\n  .rt-doc-wrapper table.doc-table td {\r\n    padding: 11px 16px;\r\n    font-size: 13px;\r\n    color: rgba(255, 255, 255, 0.78);\r\n    border-bottom: 1px solid var(--line);\r\n    vertical-align: top;\r\n    line-height: 1.55;\r\n  }\r\n  .rt-doc-wrapper table.doc-table tr:last-child td { border-bottom: none; }\r\n  .rt-doc-wrapper table.doc-table td code {\r\n    font-size: 12px;\r\n    background: rgba(255, 255, 255, 0.06);\r\n    padding: 2px 6px;\r\n    border-radius: 5px;\r\n    color: #B9C6FF;\r\n  }\r\n  .rt-doc-wrapper table.doc-table td.muted { color: rgba(255, 255, 255, 0.4); }\r\n\r\n  \/* Status Chips *\/\r\n  .rt-doc-wrapper .status-chip {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 5px;\r\n    font-family: var(--mono);\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    padding: 3px 9px;\r\n    border-radius: 6px;\r\n  }\r\n  .rt-doc-wrapper .s200 { color: var(--c200); background: var(--c200-bg); }\r\n  .rt-doc-wrapper .s401 { color: var(--c401); background: var(--c401-bg); }\r\n  .rt-doc-wrapper .s403 { color: var(--c403); background: var(--c403-bg); }\r\n  .rt-doc-wrapper .s422 { color: var(--c422); background: var(--c422-bg); }\r\n  .rt-doc-wrapper .s429 { color: var(--c429); background: var(--c429-bg); }\r\n\r\n  \/* Field Pills *\/\r\n  .rt-doc-wrapper .field-pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }\r\n  .rt-doc-wrapper .field-pill {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 2px;\r\n    padding: 10px 14px;\r\n    border-radius: 10px;\r\n    border: 1px solid var(--line);\r\n    background: rgba(255, 255, 255, 0.025);\r\n    min-width: 130px;\r\n  }\r\n  .rt-doc-wrapper .field-pill .fk { font-family: var(--mono); font-size: 12.5px; font-weight: 700; color: #8AA0FF; }\r\n  .rt-doc-wrapper .field-pill .fd { font-size: 11px; color: rgba(255, 255, 255, 0.5); }\r\n\r\n  .rt-doc-wrapper .divider { height: 1px; background: var(--line); margin: 44px 0; }\r\n\r\n  @media(max-width:760px) {\r\n    .rt-doc-wrapper .meta-grid { grid-template-columns: 1fr 1fr; }\r\n    .rt-doc-wrapper .jump-cards { grid-template-columns: 1fr; }\r\n  }\r\n<\/style>\r\n\r\n<!-- CARGA DE EMERGENCIA POR LINK EXTERNO PARA ICONOS -->\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/icon?family=Material+Icons\">\r\n\r\n<!-- CONTENIDO HTML -->\r\n<div class=\"rt-doc-wrapper\">\r\n  <main class=\"content\">\r\n\r\n    <!-- INTRO -->\r\n    <div class=\"doc-hero\">\r\n      <span class=\"doc-eyebrow\"><span class=\"material-icons\" style=\"font-size:14px\">api<\/span> Documentaci\u00f3n oficial<\/span>\r\n      <h1 id=\"intro\" class=\"doc-sec\">Rights Track Public API<\/h1>\r\n      <p class=\"lead\">API REST de solo lectura para integraciones externas. Cada endpoint es una solicitud <code>GET<\/code> \u2014 no existe forma de crear, actualizar o eliminar datos a trav\u00e9s de esta API.<\/p>\r\n      <div class=\"meta-grid\">\r\n        <div class=\"meta-card\"><div class=\"k\">Base URL<\/div><div class=\"v\">https:\/\/&lt;tu-dominio&gt;\/api\/v1<\/div><\/div>\r\n        <div class=\"meta-card\"><div class=\"k\">Autenticaci\u00f3n<\/div><div class=\"v\">Bearer &lt;token&gt;<\/div><\/div>\r\n        <div class=\"meta-card\"><div class=\"k\">Formato<\/div><div class=\"v\">JSON<\/div><\/div>\r\n        <div class=\"meta-card\"><div class=\"k\">Rate limit<\/div><div class=\"v\">60 req\/min \u00b7 key<\/div><\/div>\r\n      <\/div>\r\n      <div class=\"callout info\" style=\"margin-top:22px\">\r\n        <span class=\"material-icons\">vpn_key<\/span>\r\n        <p>Gener\u00e1 tus llaves desde la app: <b>Herramientas de desarrollador \u2192 API Keys<\/b> (solo superadmin). El token completo se muestra <b>una sola vez<\/b>, justo despu\u00e9s de crearla \u2014 copialo de inmediato, no puede recuperarse despu\u00e9s (solo revocarse y reemplazarse por una nueva).<\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <section class=\"doc-sec\">\r\n      <h2><span class=\"material-icons\">hub<\/span>Explor\u00e1 los endpoints<\/h2>\r\n      <p>Cuatro recursos de solo lectura, cada uno acotado por rango de fechas o por un identificador espec\u00edfico.<\/p>\r\n      <div class=\"jump-cards\">\r\n        <div class=\"jump-card\" onclick=\"location.hash='#endpoint-partners'\"><div class=\"jic\"><span class=\"material-icons\">group<\/span><\/div><div><div class=\"jt\">Partners<\/div><div class=\"jd\">GET \/api\/v1\/partners<\/div><\/div><\/div>\r\n        <div class=\"jump-card\" onclick=\"location.hash='#endpoint-works'\"><div class=\"jic\"><span class=\"material-icons\">library_music<\/span><\/div><div><div class=\"jt\">Works<\/div><div class=\"jd\">GET \/api\/v1\/works<\/div><\/div><\/div>\r\n        <div class=\"jump-card\" onclick=\"location.hash='#endpoint-files'\"><div class=\"jic\"><span class=\"material-icons\">description<\/span><\/div><div><div class=\"jt\">Works Files<\/div><div class=\"jd\">GET \/api\/v1\/works_files<\/div><\/div><\/div>\r\n        <div class=\"jump-card\" onclick=\"location.hash='#endpoint-distribution'\"><div class=\"jic\"><span class=\"material-icons\">account_tree<\/span><\/div><div><div class=\"jt\">Distribution<\/div><div class=\"jd\">GET \/api\/v1\/distribution<\/div><\/div><\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- QUICKSTART -->\r\n    <section class=\"doc-sec\" id=\"quickstart\">\r\n      <h2><span class=\"material-icons\">rocket_launch<\/span>Prueba r\u00e1pida (Postman \/ curl)<\/h2>\r\n      <p>Pasos para hacer tu primera llamada autenticada, de cero a respuesta.<\/p>\r\n      <div class=\"steps\">\r\n        <div class=\"step\"><div class=\"sn\"><\/div><div class=\"sc\"><p>And\u00e1 a <b>Herramientas de desarrollador \u2192 API Keys \u2192 Nueva API Key<\/b>.<\/p><\/div><\/div>\r\n        <div class=\"step\"><div class=\"sn\"><\/div><div class=\"sc\"><p>Marc\u00e1 los endpoints a los que esta llave podr\u00e1 acceder (<code>Partners<\/code>, <code>Works<\/code>, \u2026) \u2014 una llave solo funciona para los endpoints marcados al crearla. Si dej\u00e1s <code>Works<\/code> sin marcar, toda solicitud a <code>\/works<\/code> con esa llave devuelve <code>403 endpoint_not_enabled<\/code>, aunque la llave en s\u00ed sea v\u00e1lida.<\/p><\/div><\/div>\r\n        <div class=\"step\"><div class=\"sn\"><\/div><div class=\"sc\"><p>Copi\u00e1 el token completo desde la pantalla \"API Key creada\" (empieza con <code>rt_live_<\/code>) \u2014 es la \u00fanica vez que se muestra.<\/p><\/div><\/div>\r\n        <div class=\"step\"><div class=\"sn\"><\/div><div class=\"sc\"><p>En Postman: pesta\u00f1a <b>Authorization<\/b> \u2192 tipo <b>Bearer Token<\/b> \u2192 peg\u00e1 el token. Con curl, agreg\u00e1 el header directo: <code>-H \"Authorization: Bearer rt_live_...\"<\/code>.<\/p><\/div><\/div>\r\n        <div class=\"step\"><div class=\"sn\"><\/div><div class=\"sc\"><p>Hac\u00e9 la llamada. Si obten\u00e9s <code>403<\/code>, la llave que us\u00e1s no tiene ese endpoint marcado \u2014 volv\u00e9 al paso 2 y cre\u00e1 una nueva llave con ese endpoint habilitado (no se puede editar los endpoints de una llave existente, solo su estado activa\/inactiva).<\/p><\/div><\/div>\r\n      <\/div>\r\n\r\n      <h3>Referencia r\u00e1pida de errores mientras prob\u00e1s<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:46%\">Hiciste esto<\/th><th>Obten\u00e9s<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>No enviaste header <code>Authorization<\/code>, o el token est\u00e1 revocado \/ inventado<\/td><td><span class=\"status-chip s401\">401 invalid_api_key<\/span><\/td><\/tr>\r\n            <tr><td>Token v\u00e1lido, pero ese endpoint no estaba marcado al crear la llave<\/td><td><span class=\"status-chip s403\">403 endpoint_not_enabled<\/span><\/td><\/tr>\r\n            <tr><td>Sin rango de fechas y sin filtro por registro espec\u00edfico (id\/code\/etc.)<\/td><td><span class=\"status-chip s422\">422<\/span> con un mensaje que indica cu\u00e1l falta<\/td><\/tr>\r\n            <tr><td>Rango de fechas mayor a 1 a\u00f1o<\/td><td><span class=\"status-chip s422\">422 date range cannot exceed 1 year<\/span><\/td><\/tr>\r\n            <tr><td>Todo lo anterior est\u00e1 bien<\/td><td><span class=\"status-chip s200\">200<\/span> con <code>data<\/code> + <code>meta<\/code><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- AUTH -->\r\n    <section class=\"doc-sec\" id=\"auth\">\r\n      <h2><span class=\"material-icons\">lock<\/span>Autenticaci\u00f3n<\/h2>\r\n      <p>Envi\u00e1 la llave en el header <code>Authorization<\/code> en cada solicitud:<\/p>\r\n\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/partners?created_from=2025-01-01&amp;created_to=2025-12-31\"<\/pre>\r\n      <\/div>\r\n\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:26%\">Respuesta<\/th><th>Significado<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><span class=\"status-chip s401\">401 invalid_api_key<\/span><\/td><td>Llave ausente, incorrecta o revocada<\/td><\/tr>\r\n            <tr><td><span class=\"status-chip s403\">403 endpoint_not_enabled<\/span><\/td><td>La llave es v\u00e1lida pero no tiene acceso otorgado a este endpoint<\/td><\/tr>\r\n            <tr><td><span class=\"status-chip s422\">422 &lt;message&gt;<\/span><\/td><td>Los par\u00e1metros de la solicitud fallaron la validaci\u00f3n (ver cada endpoint)<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <div class=\"callout warn\">\r\n        <span class=\"material-icons\">policy<\/span>\r\n        <p>Cada llave est\u00e1 acotada a endpoints espec\u00edficos (elegidos al crearla \u2014 <code>partners<\/code>, <code>works<\/code>, <code>works_files<\/code>, <code>distribution<\/code>). Una llave v\u00e1lida sin acceso a <code>partners<\/code> otorgado recibe <code>403<\/code> en <code>\/partners<\/code>, aunque la llave en s\u00ed funcione bien en otros endpoints.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- RATE LIMIT -->\r\n    <section class=\"doc-sec\" id=\"rate-limit\">\r\n      <h2><span class=\"material-icons\">speed<\/span>Rate limiting<\/h2>\r\n      <p><code>Rack::Attack<\/code> limita todo el namespace <code>\/api\/v1\/*<\/code> a <b>60 solicitudes por minuto por API key<\/b> (usa l\u00edmite por IP como respaldo si la solicitud no trae llave o trae una inv\u00e1lida, as\u00ed que forzar llaves por fuerza bruta tambi\u00e9n queda limitado). Superar el l\u00edmite devuelve:<\/p>\r\n      <div class=\"field-pill-row\">\r\n        <div class=\"field-pill\"><span class=\"fk\"><span class=\"status-chip s429\">429<\/span><\/span><span class=\"fd\">Too Many Requests<\/span><\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- PAGINATION -->\r\n    <section class=\"doc-sec\" id=\"pagination\">\r\n      <h2><span class=\"material-icons\">view_list<\/span>Paginaci\u00f3n<\/h2>\r\n      <p>Todo endpoint de listado devuelve la misma envoltura:<\/p>\r\n\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">json<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>{\r\n  <span class=\"tok-key\">\"data\"<\/span>: [ ... ],\r\n  <span class=\"tok-key\">\"meta\"<\/span>: {\r\n    <span class=\"tok-key\">\"page\"<\/span>: <span class=\"tok-num\">1<\/span>,\r\n    <span class=\"tok-key\">\"per_page\"<\/span>: <span class=\"tok-num\">100<\/span>,\r\n    <span class=\"tok-key\">\"total_entries\"<\/span>: <span class=\"tok-num\">532<\/span>,\r\n    <span class=\"tok-key\">\"total_pages\"<\/span>: <span class=\"tok-num\">6<\/span>,\r\n    <span class=\"tok-key\">\"remaining_entries\"<\/span>: <span class=\"tok-num\">432<\/span>\r\n  }\r\n}<\/pre>\r\n      <\/div>\r\n\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:22%\">Campo<\/th><th>Descripci\u00f3n<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>page<\/code><\/td><td>Empieza en <code>1<\/code><\/td><\/tr>\r\n            <tr><td><code>per_page<\/code><\/td><td>Por defecto y con tope en el m\u00e1ximo de cada endpoint (ver m\u00e1s abajo) \u2014 pasar un valor mayor lo recorta en silencio al m\u00e1ximo, nunca da error<\/td><\/tr>\r\n            <tr><td><code>total_pages<\/code><\/td><td><code>total_entries<\/code> dividido por <code>per_page<\/code>, redondeado hacia arriba<\/td><\/tr>\r\n            <tr><td><code>remaining_entries<\/code><\/td><td>Cu\u00e1ntos registros quedan despu\u00e9s de la p\u00e1gina actual (<code>0<\/code> cuando est\u00e1s en la \u00faltima) \u2014 us\u00e1 este o <code>total_pages<\/code> para saber cu\u00e1ndo dejar de paginar<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <div class=\"divider\"><\/div>\r\n\r\n    <!-- ENDPOINT: PARTNERS -->\r\n    <section class=\"doc-sec\" id=\"endpoint-partners\">\r\n      <div class=\"endpoint-head\"><span class=\"method-get\">GET<\/span><span class=\"endpoint-path\">\/api\/v1\/partners<\/span><\/div>\r\n      <p>Lista partners (usuarios con <code>user_type: partners<\/code> \u2014 es decir, afiliados\/socios). Nunca devuelve personal interno, aspirantes, ni ning\u00fan otro tipo de usuario, sin importar los filtros pasados.<\/p>\r\n\r\n      <h3>Par\u00e1metros requeridos (condicionalmente)<\/h3>\r\n      <p>No existe un modo \"traeme todo\", por dise\u00f1o \u2014 toda solicitud debe estar acotada por un rango de fechas o por un filtro de partner espec\u00edfico:<\/p>\r\n      <ul style=\"margin:0 0 14px 20px;font-size:14.5px;color:rgba(255,255,255,0.66);line-height:1.8\">\r\n        <li>\u00bfBusc\u00e1s un partner espec\u00edfico (<code>code<\/code>, <code>ipi_number<\/code> y\/o <code>ipi_name<\/code>)? El rango de fechas es opcional \u2014 el identificador ya acota la consulta.<\/li>\r\n        <li>\u00bfNo filtr\u00e1s por ninguno de esos? <code>created_from<\/code> \/ <code>created_to<\/code> pasan a ser obligatorios, as\u00ed una solicitud nunca puede recorrer toda la base de partners.<\/li>\r\n      <\/ul>\r\n\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:18%\">Par\u00e1metro<\/th><th style=\"width:18%\">Formato<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>created_from<\/code><\/td><td><code>YYYY-MM-DD<\/code><\/td><td>Inicio inclusivo del rango<\/td><\/tr>\r\n            <tr><td><code>created_to<\/code><\/td><td><code>YYYY-MM-DD<\/code><\/td><td>Fin inclusivo del rango<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <div class=\"callout warn\">\r\n        <span class=\"material-icons\">warning<\/span>\r\n        <p>Si pas\u00e1s un rango, no puede superar 1 a\u00f1o \u2014 esto aplica sea o no requerido para esa solicitud: <code>{\"error\": \"date range cannot exceed 1 year\"}<\/code><\/p>\r\n        <p>Omitir ambas fechas sin filtro de identificador devuelve: <code>{\"error\": \"created_from and created_to are both required unless searching by code, ipi_number, or ipi_name\"}<\/code><\/p>\r\n        <p>Pasar solo una de <code>created_from<\/code> \/ <code>created_to<\/code> siempre da error (<code>created_from and created_to must be provided together<\/code>), sin importar otros filtros.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Filtros opcionales<\/h3>\r\n      <p>Cualquiera de estos, por s\u00ed solo, alcanza para saltarse el requisito de rango de fechas:<\/p>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:20%\">Par\u00e1metro<\/th><th style=\"width:30%\">Coincide<\/th><th>Ejemplo<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>code<\/code><\/td><td>exacto<\/td><td><code>?code=12004<\/code><\/td><\/tr>\r\n            <tr><td><code>ipi_number<\/code><\/td><td>exacto<\/td><td><code>?ipi_number=I-004607478-4<\/code><\/td><\/tr>\r\n            <tr><td><code>ipi_name<\/code><\/td><td>parcial, sin distinguir may\u00fasculas<\/td><td><code>?ipi_name=garcia<\/code><\/td><\/tr>\r\n            <tr><td><code>page<\/code><\/td><td>\u2014<\/td><td><code>?page=2<\/code><\/td><\/tr>\r\n            <tr><td><code>per_page<\/code><\/td><td>m\u00e1x. 100, por defecto 100<\/td><td><code>?per_page=25<\/code><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Ejemplos de solicitud<\/h3>\r\n      <p>Por rango de fechas (sin filtro de identificador \u2192 rango requerido):<\/p>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/partners?created_from=2025-01-01&amp;created_to=2025-12-31&amp;per_page=2\"<\/pre>\r\n      <\/div>\r\n      <p>Por IP Name, sin rango de fechas:<\/p>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/partners?ipi_name=355662053\"<\/pre>\r\n      <\/div>\r\n      <p>Por c\u00f3digo exacto, sin rango de fechas:<\/p>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/partners?code=12004\"<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Ejemplo de respuesta \u2014 <span class=\"status-chip s200\">200 OK<\/span><\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">json<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>{\r\n  <span class=\"tok-key\">\"data\"<\/span>: [\r\n    {\r\n      <span class=\"tok-key\">\"id\"<\/span>: <span class=\"tok-num\">11<\/span>,\r\n      <span class=\"tok-key\">\"code\"<\/span>: <span class=\"tok-num\">12004<\/span>,\r\n      <span class=\"tok-key\">\"status\"<\/span>: <span class=\"tok-str\">\"partner\"<\/span>,\r\n      <span class=\"tok-key\">\"created_at\"<\/span>: <span class=\"tok-str\">\"2025-11-14T20:47:17Z\"<\/span>,\r\n      <span class=\"tok-key\">\"affiliation_date\"<\/span>: <span class=\"tok-str\">\"2025-11-27\"<\/span>,\r\n      <span class=\"tok-key\">\"first_name\"<\/span>: <span class=\"tok-str\">\"Luciano\"<\/span>,\r\n      <span class=\"tok-key\">\"last_name\"<\/span>: <span class=\"tok-str\">\"Pizarro\"<\/span>,\r\n      <span class=\"tok-key\">\"ipi_name\"<\/span>: <span class=\"tok-str\">\"844877098\"<\/span>,\r\n      <span class=\"tok-key\">\"ipi_number\"<\/span>: <span class=\"tok-str\">\"I-004607478-4\"<\/span>,\r\n      <span class=\"tok-key\">\"category\"<\/span>: <span class=\"tok-str\">\"Socio Administrado Leyenda\"<\/span>,\r\n      <span class=\"tok-key\">\"organization_type\"<\/span>: <span class=\"tok-str\">\"natural_person\"<\/span>,\r\n      <span class=\"tok-key\">\"id_type\"<\/span>: <span class=\"tok-str\">\"Comercio\"<\/span>,\r\n      <span class=\"tok-key\">\"number_id\"<\/span>: <span class=\"tok-str\">\"24332845754\"<\/span>,\r\n      <span class=\"tok-key\">\"email\"<\/span>: <span class=\"tok-str\">\"user.test@example.com\"<\/span>,\r\n      <span class=\"tok-key\">\"phone_number\"<\/span>: <span class=\"tok-str\">\"+54734374342342\"<\/span>,\r\n      <span class=\"tok-key\">\"country\"<\/span>: <span class=\"tok-str\">\"Aruba\"<\/span>,\r\n      <span class=\"tok-key\">\"state\"<\/span>: <span class=\"tok-str\">\"Oranjestad West\"<\/span>,\r\n      <span class=\"tok-key\">\"city\"<\/span>: <span class=\"tok-str\">\"test\"<\/span>,\r\n      <span class=\"tok-key\">\"address\"<\/span>: <span class=\"tok-str\">\"test\"<\/span>,\r\n      <span class=\"tok-key\">\"social_networks\"<\/span>: [{ <span class=\"tok-key\">\"id\"<\/span>: <span class=\"tok-str\">\"176583069017800\"<\/span>, <span class=\"tok-key\">\"link\"<\/span>: <span class=\"tok-str\">\"ts\"<\/span>, <span class=\"tok-key\">\"red_social\"<\/span>: <span class=\"tok-str\">\"Mastodon\"<\/span> }],\r\n      <span class=\"tok-key\">\"musical_profiles\"<\/span>: [{ <span class=\"tok-key\">\"id\"<\/span>: <span class=\"tok-str\">\"176583069017800\"<\/span>, <span class=\"tok-key\">\"link\"<\/span>: <span class=\"tok-str\">\"trs\"<\/span>, <span class=\"tok-key\">\"platform\"<\/span>: <span class=\"tok-str\">\"Kick\"<\/span> }]\r\n    }\r\n  ],\r\n  <span class=\"tok-key\">\"meta\"<\/span>: { <span class=\"tok-key\">\"page\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"per_page\"<\/span>: <span class=\"tok-num\">2<\/span>, <span class=\"tok-key\">\"total_entries\"<\/span>: <span class=\"tok-num\">7<\/span>, <span class=\"tok-key\">\"total_pages\"<\/span>: <span class=\"tok-num\">4<\/span>, <span class=\"tok-key\">\"remaining_entries\"<\/span>: <span class=\"tok-num\">5<\/span> }\r\n}<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Referencia de campos<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:20%\">Campo<\/th><th style=\"width:22%\">Origen<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ID interno en la base de datos<\/td><\/tr>\r\n            <tr><td><code>code<\/code><\/td><td class=\"muted\">partner code<\/td><td>Autonumerado, empieza en 12000<\/td><\/tr>\r\n            <tr><td><code>status<\/code><\/td><td class=\"muted\">account status<\/td><td><code>partner<\/code>, <code>approved<\/code>, <code>suspended<\/code>, <code>deleted<\/code>, etc.<\/td><\/tr>\r\n            <tr><td><code>created_at<\/code><\/td><td class=\"muted\">record creation<\/td><td>ISO 8601, UTC<\/td><\/tr>\r\n            <tr><td><code>affiliation_date<\/code><\/td><td class=\"muted\">resolution date<\/td><td>Fecha en que se resolvi\u00f3\/aprob\u00f3 la afiliaci\u00f3n<\/td><\/tr>\r\n            <tr><td><code>first_name<\/code> \/ <code>last_name<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>ipi_name<\/code> \/ <code>ipi_number<\/code><\/td><td class=\"muted\">IPI registry<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>category<\/code><\/td><td class=\"muted\">quality catalog<\/td><td>ej. \"Socio Administrado Leyenda\"<\/td><\/tr>\r\n            <tr><td><code>organization_type<\/code><\/td><td class=\"muted\">\u2014<\/td><td><code>natural_person<\/code> \/ <code>juridical_person<\/code><\/td><\/tr>\r\n            <tr><td><code>id_type<\/code> \/ <code>master_id_type<\/code><\/td><td class=\"muted\">catalog<\/td><td>ej. \"Comercio\"<\/td><\/tr>\r\n            <tr><td><code>number_id<\/code><\/td><td class=\"muted\">\u2014<\/td><td>N\u00famero de identificaci\u00f3n nacional \/ tributaria<\/td><\/tr>\r\n            <tr><td><code>email<\/code> \/ <code>phone_number<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>country<\/code> \/ <code>state<\/code> \/ <code>city<\/code> \/ <code>address<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>social_networks<\/code> \/ <code>musical_profiles<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Arrays jsonb con la forma ingresada por el partner, sin normalizar<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <div class=\"divider\"><\/div>\r\n\r\n    <!-- ENDPOINT: WORKS -->\r\n    <section class=\"doc-sec\" id=\"endpoint-works\">\r\n      <div class=\"endpoint-head\"><span class=\"method-get\">GET<\/span><span class=\"endpoint-path\">\/api\/v1\/works<\/span><\/div>\r\n      <p>Lista obras documentadas de tipo <code>local<\/code> o <code>external<\/code> (el cat\u00e1logo \"Obras locales\" \u2014 <code>\/local_documents<\/code> en la app). Nunca devuelve obras de tipo <code>file<\/code> (crudas, enviadas por CWR) o <code>avr<\/code>, sin importar los filtros pasados.<\/p>\r\n\r\n      <h3>Par\u00e1metros requeridos (condicionalmente)<\/h3>\r\n      <p>Misma regla que <code>\/partners<\/code>: acotado por rango de fechas o por un filtro de obra espec\u00edfico.<\/p>\r\n      <ul style=\"margin:0 0 14px 20px;font-size:14.5px;color:rgba(255,255,255,0.66);line-height:1.8\">\r\n        <li>\u00bfBusc\u00e1s una obra espec\u00edfica (<code>id<\/code>, <code>iswc<\/code> y\/o <code>title<\/code>)? El rango de fechas es opcional.<\/li>\r\n        <li>\u00bfNo filtr\u00e1s por ninguno de esos? <code>created_from<\/code> \/ <code>created_to<\/code> pasan a ser obligatorios.<\/li>\r\n      <\/ul>\r\n\r\n      <h3>Filtros opcionales<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:20%\">Par\u00e1metro<\/th><th style=\"width:30%\">Coincide<\/th><th>Ejemplo<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td>exacto<\/td><td><code>?id=54175<\/code><\/td><\/tr>\r\n            <tr><td><code>iswc<\/code><\/td><td>exacto<\/td><td><code>?iswc=T-123456789-0<\/code><\/td><\/tr>\r\n            <tr><td><code>title<\/code><\/td><td>parcial, sin distinguir may\u00fasculas<\/td><td><code>?title=baile<\/code><\/td><\/tr>\r\n            <tr><td><code>page<\/code><\/td><td>\u2014<\/td><td><code>?page=2<\/code><\/td><\/tr>\r\n            <tr><td><code>per_page<\/code><\/td><td>m\u00e1x. 100, por defecto 100<\/td><td><code>?per_page=25<\/code><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Ejemplos de solicitud<\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/works?title=baile\"<\/pre>\r\n      <\/div>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/works?id=54175\"<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Ejemplo de respuesta \u2014 <span class=\"status-chip s200\">200 OK<\/span><\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">json<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>{\r\n  <span class=\"tok-key\">\"data\"<\/span>: [\r\n    {\r\n      <span class=\"tok-key\">\"id\"<\/span>: <span class=\"tok-num\">54175<\/span>,\r\n      <span class=\"tok-key\">\"created_at\"<\/span>: <span class=\"tok-str\">\"2026-06-05T13:38:06Z\"<\/span>,\r\n      <span class=\"tok-key\">\"updated_at\"<\/span>: <span class=\"tok-str\">\"2026-06-05T13:54:11Z\"<\/span>,\r\n      <span class=\"tok-key\">\"title\"<\/span>: <span class=\"tok-str\">\"EL BAILE DEL BEEPER\"<\/span>,\r\n      <span class=\"tok-key\">\"iswc\"<\/span>: <span class=\"tok-str\">\"\"<\/span>,\r\n      <span class=\"tok-key\">\"isrc\"<\/span>: <span class=\"tok-null\">null<\/span>,\r\n      <span class=\"tok-key\">\"alternative_titles\"<\/span>: [],\r\n      <span class=\"tok-key\">\"interpreters\"<\/span>: [],\r\n      <span class=\"tok-key\">\"rhythm\"<\/span>: <span class=\"tok-str\">\"\"<\/span>,\r\n      <span class=\"tok-key\">\"duration\"<\/span>: <span class=\"tok-null\">null<\/span>,\r\n      <span class=\"tok-key\">\"language_code\"<\/span>: <span class=\"tok-str\">\"\"<\/span>,\r\n      <span class=\"tok-key\">\"category\"<\/span>: <span class=\"tok-str\">\"POP\"<\/span>,\r\n      <span class=\"tok-key\">\"code\"<\/span>: <span class=\"tok-str\">\"00000000078935\"<\/span>,\r\n      <span class=\"tok-key\">\"type_of_creation\"<\/span>: <span class=\"tok-str\">\"local\"<\/span>,\r\n      <span class=\"tok-key\">\"status\"<\/span>: <span class=\"tok-str\">\"signed\"<\/span>,\r\n      <span class=\"tok-key\">\"approval_status\"<\/span>: <span class=\"tok-str\">\"approved\"<\/span>,\r\n      <span class=\"tok-key\">\"total_writers\"<\/span>: <span class=\"tok-num\">1<\/span>,\r\n      <span class=\"tok-key\">\"total_publishers\"<\/span>: <span class=\"tok-num\">4<\/span>,\r\n      <span class=\"tok-key\">\"rights_split\"<\/span>: [\r\n        {\r\n          <span class=\"tok-key\">\"name\"<\/span>: <span class=\"tok-str\">\"PEDRO PEREZ\"<\/span>,\r\n          <span class=\"tok-key\">\"designation\"<\/span>: <span class=\"tok-str\">\"CA\"<\/span>,\r\n          <span class=\"tok-key\">\"ipi_name_number\"<\/span>: <span class=\"tok-str\">\"519611064\"<\/span>,\r\n          <span class=\"tok-key\">\"interested_party_num\"<\/span>: <span class=\"tok-str\">\"12009\"<\/span>,\r\n          <span class=\"tok-key\">\"publisher_sequence\"<\/span>: <span class=\"tok-str\">\"\"<\/span>,\r\n          <span class=\"tok-key\">\"ip_base_number\"<\/span>: <span class=\"tok-null\">null<\/span>,\r\n          <span class=\"tok-key\">\"legal_entity_type\"<\/span>: <span class=\"tok-null\">null<\/span>,\r\n          <span class=\"tok-key\">\"pr_society\"<\/span>: <span class=\"tok-str\">\"010\"<\/span>,\r\n          <span class=\"tok-key\">\"pr_ownership_share\"<\/span>: <span class=\"tok-num\">100.0<\/span>,\r\n          <span class=\"tok-key\">\"pr_collection_share\"<\/span>: <span class=\"tok-num\">100.0<\/span>,\r\n          <span class=\"tok-key\">\"mr_society\"<\/span>: <span class=\"tok-str\">\"084\"<\/span>,\r\n          <span class=\"tok-key\">\"mr_ownership_share\"<\/span>: <span class=\"tok-num\">100.0<\/span>,\r\n          <span class=\"tok-key\">\"mr_collection_share\"<\/span>: <span class=\"tok-num\">0.0<\/span>,\r\n          <span class=\"tok-key\">\"sr_society\"<\/span>: <span class=\"tok-str\">\"099\"<\/span>,\r\n          <span class=\"tok-key\">\"sr_ownership_share\"<\/span>: <span class=\"tok-num\">0.0<\/span>,\r\n          <span class=\"tok-key\">\"sr_collection_share\"<\/span>: <span class=\"tok-num\">0.0<\/span>,\r\n          <span class=\"tok-key\">\"territory_tis_code\"<\/span>: <span class=\"tok-str\">\"0170\"<\/span>,\r\n          <span class=\"tok-key\">\"territory_inclusion\"<\/span>: <span class=\"tok-str\">\"I\"<\/span>,\r\n          <span class=\"tok-key\">\"publishers\"<\/span>: []\r\n        }\r\n      ]\r\n    }\r\n  ],\r\n  <span class=\"tok-key\">\"meta\"<\/span>: { <span class=\"tok-key\">\"page\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"per_page\"<\/span>: <span class=\"tok-num\">100<\/span>, <span class=\"tok-key\">\"total_entries\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"total_pages\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"remaining_entries\"<\/span>: <span class=\"tok-num\">0<\/span> }\r\n}<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Referencia de campos<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:22%\">Campo<\/th><th style=\"width:22%\">Origen<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ID interno en la base de datos<\/td><\/tr>\r\n            <tr><td><code>created_at<\/code> \/ <code>updated_at<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ISO 8601, UTC<\/td><\/tr>\r\n            <tr><td><code>title<\/code> \/ <code>iswc<\/code> \/ <code>isrc<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>alternative_titles<\/code><\/td><td class=\"muted\">alternative_names<\/td><td>Array jsonb<\/td><\/tr>\r\n            <tr><td><code>interpreters<\/code><\/td><td class=\"muted\">related interpreters<\/td><td>Usa el campo legado como respaldo \u00b7 array de nombres a mostrar<\/td><\/tr>\r\n            <tr><td><code>rhythm<\/code> \/ <code>duration<\/code> \/ <code>language_code<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Duraci\u00f3n formateada MM:SS<\/td><\/tr>\r\n            <tr><td><code>category<\/code><\/td><td class=\"muted\">distribution_category<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>code<\/code><\/td><td class=\"muted\">submitter_work_num<\/td><td>Usa <code>id<\/code> como respaldo si viene vac\u00edo<\/td><\/tr>\r\n            <tr><td><code>type_of_creation<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Siempre <code>local<\/code> o <code>external<\/code> en este endpoint<\/td><\/tr>\r\n            <tr><td><code>status<\/code> \/ <code>approval_status<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ej. signed\/approved<\/td><\/tr>\r\n            <tr><td><code>total_writers<\/code> \/ <code>total_publishers<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>rights_split<\/code><\/td><td class=\"muted\">cwr_line_work_details<\/td><td>Cada fila (autores y editores) \u2014 esta es la \"clave de reparto\" completa: cuotas de titularidad\/recaudo por tipo de derecho (pr\/mr\/sr), c\u00f3digos de sociedad, territorio<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <div class=\"divider\"><\/div>\r\n\r\n    <!-- ENDPOINT: WORKS FILES -->\r\n    <section class=\"doc-sec\" id=\"endpoint-files\">\r\n      <div class=\"endpoint-head\"><span class=\"method-get\">GET<\/span><span class=\"endpoint-path\">\/api\/v1\/works_files<\/span><\/div>\r\n      <p>Lista los ficheros AVR\/CWR subidos (no las obras dentro de ellos) \u2014 una fila por carga, con sus contadores de procesamiento. Excluye ficheros internos de acuse ACK.<\/p>\r\n\r\n      <h3>Par\u00e1metros requeridos (condicionalmente)<\/h3>\r\n      <p>Misma regla que los dem\u00e1s endpoints: acotado por rango de fechas o por un filtro de fichero espec\u00edfico.<\/p>\r\n      <ul style=\"margin:0 0 14px 20px;font-size:14.5px;color:rgba(255,255,255,0.66);line-height:1.8\">\r\n        <li>\u00bfBusc\u00e1s un fichero espec\u00edfico (<code>id<\/code>)? El rango de fechas es opcional.<\/li>\r\n        <li>\u00bfNo filtr\u00e1s por <code>id<\/code>? <code>created_from<\/code> \/ <code>created_to<\/code> pasan a ser obligatorios.<\/li>\r\n      <\/ul>\r\n\r\n      <h3>Filtros opcionales<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:20%\">Par\u00e1metro<\/th><th style=\"width:30%\">Coincide<\/th><th>Ejemplo<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td>exacto<\/td><td><code>?id=162<\/code><\/td><\/tr>\r\n            <tr><td><code>file_type<\/code><\/td><td>exacto, <code>AVR<\/code> o <code>CWR<\/code><\/td><td><code>?file_type=AVR<\/code><\/td><\/tr>\r\n            <tr><td><code>page<\/code><\/td><td>\u2014<\/td><td><code>?page=2<\/code><\/td><\/tr>\r\n            <tr><td><code>per_page<\/code><\/td><td>m\u00e1x. 100, por defecto 100<\/td><td><code>?per_page=25<\/code><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Ejemplos de solicitud<\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/works_files?created_from=2026-01-01&amp;created_to=2026-06-30&amp;file_type=CWR\"<\/pre>\r\n      <\/div>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/works_files?id=162\"<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Ejemplo de respuesta \u2014 <span class=\"status-chip s200\">200 OK<\/span><\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">json<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>{\r\n  <span class=\"tok-key\">\"data\"<\/span>: [\r\n    {\r\n      <span class=\"tok-key\">\"id\"<\/span>: <span class=\"tok-num\">162<\/span>,\r\n      <span class=\"tok-key\">\"type\"<\/span>: <span class=\"tok-str\">\"CWR\"<\/span>,\r\n      <span class=\"tok-key\">\"uploaded_at\"<\/span>: <span class=\"tok-str\">\"2026-05-06T17:22:14Z\"<\/span>,\r\n      <span class=\"tok-key\">\"file_name\"<\/span>: <span class=\"tok-str\">\"CW2505OMS_084.V21\"<\/span>,\r\n      <span class=\"tok-key\">\"display_name\"<\/span>: <span class=\"tok-null\">null<\/span>,\r\n      <span class=\"tok-key\">\"transmitter\"<\/span>: <span class=\"tok-str\">\"ORGANIZACION MUSICAL SUDAMERIC\"<\/span>,\r\n      <span class=\"tok-key\">\"total_works_ok\"<\/span>: <span class=\"tok-num\">812<\/span>,\r\n      <span class=\"tok-key\">\"total_works_np\"<\/span>: <span class=\"tok-num\">40<\/span>,\r\n      <span class=\"tok-key\">\"total_works_rj\"<\/span>: <span class=\"tok-num\">12<\/span>,\r\n      <span class=\"tok-key\">\"total_works\"<\/span>: <span class=\"tok-num\">944<\/span>,\r\n      <span class=\"tok-key\">\"status\"<\/span>: <span class=\"tok-str\">\"finalized\"<\/span>\r\n    }\r\n  ],\r\n  <span class=\"tok-key\">\"meta\"<\/span>: { <span class=\"tok-key\">\"page\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"per_page\"<\/span>: <span class=\"tok-num\">100<\/span>, <span class=\"tok-key\">\"total_entries\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"total_pages\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"remaining_entries\"<\/span>: <span class=\"tok-num\">0<\/span> }\r\n}<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Referencia de campos<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:22%\">Campo<\/th><th style=\"width:26%\">Origen<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td class=\"muted\">file_editors.id<\/td><td>ID interno en la base de datos<\/td><\/tr>\r\n            <tr><td><code>type<\/code><\/td><td class=\"muted\">file_type<\/td><td>Siempre <code>AVR<\/code> o <code>CWR<\/code> en este endpoint<\/td><\/tr>\r\n            <tr><td><code>uploaded_at<\/code><\/td><td class=\"muted\">created_at<\/td><td>ISO 8601, UTC<\/td><\/tr>\r\n            <tr><td><code>file_name<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Nombre de archivo original tal como se subi\u00f3<\/td><\/tr>\r\n            <tr><td><code>display_name<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Nombre mostrado en la plataforma si fue renombrado; <code>null<\/code> en caso contrario<\/td><\/tr>\r\n            <tr><td><code>transmitter<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Emisor\/remitente del fichero (\"emisor\")<\/td><\/tr>\r\n            <tr><td><code>total_works_ok<\/code><\/td><td class=\"muted\">computado<\/td><td>Obras que hicieron match\/validaron correctamente<\/td><\/tr>\r\n            <tr><td><code>total_works_np<\/code><\/td><td class=\"muted\">computado<\/td><td>Obras con territorio fuera de 0170\/2136 (requieren revisi\u00f3n)<\/td><\/tr>\r\n            <tr><td><code>total_works_rj<\/code><\/td><td class=\"muted\">computado<\/td><td>Obras rechazadas (las cuotas no suman 100%, o el detalle AVR fue marcado inv\u00e1lido)<\/td><\/tr>\r\n            <tr><td><code>total_works<\/code><\/td><td class=\"muted\">total_files<\/td><td>Total de obras le\u00eddas del fichero; <code>null<\/code> hasta que termina el procesamiento<\/td><\/tr>\r\n            <tr><td><code>status<\/code><\/td><td class=\"muted\">\u2014<\/td><td><code>to_approve<\/code>, <code>finalized<\/code>, <code>pending<\/code>, <code>rejected<\/code>, <code>processing<\/code>, <code>deleted<\/code><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n      <div class=\"callout info\">\r\n        <span class=\"material-icons\">calculate<\/span>\r\n        <p><code>total_works_ok<\/code> \/ <code>np<\/code> \/ <code>rj<\/code> siempre se calculan en vivo a partir de las obras asociadas al fichero \u2014 los mismos n\u00fameros que se ven en la pantalla interna \"Archivos\", nunca un valor guardado desactualizado.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <div class=\"divider\"><\/div>\r\n\r\n    <!-- ENDPOINT: DISTRIBUTION -->\r\n    <section class=\"doc-sec\" id=\"endpoint-distribution\">\r\n      <div class=\"endpoint-head\"><span class=\"method-get\">GET<\/span><span class=\"endpoint-path\">\/api\/v1\/distribution<\/span><\/div>\r\n      <p>Lista distribuciones (\"repartos\"), cada una con sus segmentos y entradas de recaudo anidados dentro.<\/p>\r\n\r\n      <h3>Par\u00e1metros requeridos (condicionalmente)<\/h3>\r\n      <p>Misma regla que los dem\u00e1s endpoints: acotado por rango de fechas o por un filtro de distribuci\u00f3n espec\u00edfico.<\/p>\r\n      <ul style=\"margin:0 0 14px 20px;font-size:14.5px;color:rgba(255,255,255,0.66);line-height:1.8\">\r\n        <li>\u00bfBusc\u00e1s una distribuci\u00f3n espec\u00edfica (<code>id<\/code>)? El rango de fechas es opcional.<\/li>\r\n        <li>\u00bfNo filtr\u00e1s por <code>id<\/code>? <code>created_from<\/code> \/ <code>created_to<\/code> pasan a ser obligatorios.<\/li>\r\n      <\/ul>\r\n\r\n      <h3>Filtros opcionales<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:20%\">Par\u00e1metro<\/th><th style=\"width:30%\">Coincide<\/th><th>Ejemplo<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td>exacto<\/td><td><code>?id=13<\/code><\/td><\/tr>\r\n            <tr><td><code>page<\/code><\/td><td>\u2014<\/td><td><code>?page=2<\/code><\/td><\/tr>\r\n            <tr><td><code>per_page<\/code><\/td><td>m\u00e1x. 100, por defecto 100<\/td><td><code>?per_page=25<\/code><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Ejemplos de solicitud<\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/distribution?created_from=2026-01-01&amp;created_to=2026-06-30\"<\/pre>\r\n      <\/div>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">bash<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>curl -H \"Authorization: Bearer rt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" \\\r\n  \"https:\/\/&lt;your-domain&gt;\/api\/v1\/distribution?id=13\"<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Ejemplo de respuesta \u2014 <span class=\"status-chip s200\">200 OK<\/span><\/h3>\r\n      <div class=\"code\">\r\n        <div class=\"code-bar\"><span class=\"lang\">json<\/span><button class=\"copy-btn\" onclick=\"copyCode(this)\"><span class=\"material-icons\">content_copy<\/span>Copiar<\/button><\/div>\r\n        <pre>{\r\n  <span class=\"tok-key\">\"data\"<\/span>: [\r\n    {\r\n      <span class=\"tok-key\">\"id\"<\/span>: <span class=\"tok-num\">13<\/span>,\r\n      <span class=\"tok-key\">\"created_at\"<\/span>: <span class=\"tok-str\">\"2026-01-15T14:02:11Z\"<\/span>,\r\n      <span class=\"tok-key\">\"updated_at\"<\/span>: <span class=\"tok-str\">\"2026-02-01T09:40:03Z\"<\/span>,\r\n      <span class=\"tok-key\">\"type\"<\/span>: <span class=\"tok-str\">\"musical\"<\/span>,\r\n      <span class=\"tok-key\">\"code\"<\/span>: <span class=\"tok-str\">\"REP-2026-013\"<\/span>,\r\n      <span class=\"tok-key\">\"payment_date\"<\/span>: <span class=\"tok-str\">\"2026-02-15\"<\/span>,\r\n      <span class=\"tok-key\">\"description\"<\/span>: <span class=\"tok-str\">\"Reparto 1er trimestre 2026\"<\/span>,\r\n      <span class=\"tok-key\">\"total_segments\"<\/span>: <span class=\"tok-num\">1<\/span>,\r\n      <span class=\"tok-key\">\"segments\"<\/span>: [\r\n        {\r\n          <span class=\"tok-key\">\"code_segment\"<\/span>: <span class=\"tok-str\">\"SEG-001\"<\/span>,\r\n          <span class=\"tok-key\">\"society\"<\/span>: <span class=\"tok-str\">\"SAPIC\"<\/span>,\r\n          <span class=\"tok-key\">\"description\"<\/span>: <span class=\"tok-str\">\"Radio nacional\"<\/span>,\r\n          <span class=\"tok-key\">\"type_period\"<\/span>: <span class=\"tok-str\">\"trimestral\"<\/span>,\r\n          <span class=\"tok-key\">\"number_period\"<\/span>: <span class=\"tok-str\">\"1\"<\/span>,\r\n          <span class=\"tok-key\">\"year\"<\/span>: <span class=\"tok-num\">2026<\/span>,\r\n          <span class=\"tok-key\">\"date_start\"<\/span>: <span class=\"tok-str\">\"2026-01-01\"<\/span>,\r\n          <span class=\"tok-key\">\"date_end\"<\/span>: <span class=\"tok-str\">\"2026-03-31\"<\/span>,\r\n          <span class=\"tok-key\">\"revenue_entries\"<\/span>: [\r\n            {\r\n              <span class=\"tok-key\">\"code_segment\"<\/span>: <span class=\"tok-str\">\"SEG-001\"<\/span>,\r\n              <span class=\"tok-key\">\"concept\"<\/span>: <span class=\"tok-str\">\"Radiodifusi\u00f3n\"<\/span>,\r\n              <span class=\"tok-key\">\"description\"<\/span>: <span class=\"tok-str\">\"Ingresos por radio comercial\"<\/span>,\r\n              <span class=\"tok-key\">\"distribution_type\"<\/span>: <span class=\"tok-str\">\"general\"<\/span>,\r\n              <span class=\"tok-key\">\"method\"<\/span>: <span class=\"tok-str\">\"weight_by_use\"<\/span>,\r\n              <span class=\"tok-key\">\"right_type\"<\/span>: <span class=\"tok-str\">\"pr\"<\/span>,\r\n              <span class=\"tok-key\">\"unconverted_money\"<\/span>: <span class=\"tok-str\">\"1000000\"<\/span>,\r\n              <span class=\"tok-key\">\"converted_money\"<\/span>: <span class=\"tok-str\">\"980000\"<\/span>,\r\n              <span class=\"tok-key\">\"total_amount\"<\/span>: <span class=\"tok-str\">\"980000\"<\/span>,\r\n              <span class=\"tok-key\">\"currency\"<\/span>: <span class=\"tok-str\">\"COP\"<\/span>,\r\n              <span class=\"tok-key\">\"status\"<\/span>: <span class=\"tok-str\">\"distributed\"<\/span>\r\n            }\r\n          ]\r\n        }\r\n      ]\r\n    }\r\n  ],\r\n  <span class=\"tok-key\">\"meta\"<\/span>: { <span class=\"tok-key\">\"page\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"per_page\"<\/span>: <span class=\"tok-num\">100<\/span>, <span class=\"tok-key\">\"total_entries\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"total_pages\"<\/span>: <span class=\"tok-num\">1<\/span>, <span class=\"tok-key\">\"remaining_entries\"<\/span>: <span class=\"tok-num\">0<\/span> }\r\n}<\/pre>\r\n      <\/div>\r\n\r\n      <h3>Referencia de campos \u2014 Distribution<\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:22%\">Campo<\/th><th style=\"width:22%\">Origen<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>id<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ID interno en la base de datos<\/td><\/tr>\r\n            <tr><td><code>created_at<\/code> \/ <code>updated_at<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ISO 8601, UTC<\/td><\/tr>\r\n            <tr><td><code>type<\/code><\/td><td class=\"muted\">type_file<\/td><td><code>avr<\/code> \u2192 audiovisual, <code>cwr<\/code> \u2192 musical<\/td><\/tr>\r\n            <tr><td><code>code<\/code><\/td><td class=\"muted\">code_distribution<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>payment_date<\/code><\/td><td class=\"muted\">date_distribution<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>description<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>total_segments<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Conteo de <code>distribution_segments<\/code><\/td><\/tr>\r\n            <tr><td><code>segments<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Array, ver abajo<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Segmento \u2014 <code>segments[]<\/code><\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:22%\">Campo<\/th><th style=\"width:22%\">Origen<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>code_segment<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>society<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Sociedad de origen (\"sociedad de origen\")<\/td><\/tr>\r\n            <tr><td><code>description<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>type_period<\/code> \/ <code>number_period<\/code> \/ <code>year<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ej. trimestral \/ 1 \/ 2026<\/td><\/tr>\r\n            <tr><td><code>date_start<\/code> \/ <code>date_end<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>revenue_entries<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Array, ver abajo<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Entrada de recaudo \u2014 <code>revenue_entries[]<\/code><\/h3>\r\n      <div class=\"table-wrap\">\r\n        <table class=\"doc-table\">\r\n          <thead><tr><th style=\"width:22%\">Campo<\/th><th style=\"width:22%\">Origen<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td><code>code_segment<\/code><\/td><td class=\"muted\">segmento padre<\/td><td>Repetido ac\u00e1 para conveniencia<\/td><\/tr>\r\n            <tr><td><code>concept<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>description<\/code><\/td><td class=\"muted\">description_concept<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>distribution_type<\/code><\/td><td class=\"muted\">\u2014<\/td><td>\u2014<\/td><\/tr>\r\n            <tr><td><code>method<\/code><\/td><td class=\"muted\">\u2014<\/td><td>ej. <code>weight_by_use<\/code>, <code>weight_by_use_and_duration<\/code><\/td><\/tr>\r\n            <tr><td><code>right_type<\/code><\/td><td class=\"muted\">\u2014<\/td><td><code>pr<\/code> \/ <code>mr<\/code> \/ <code>sr<\/code><\/td><\/tr>\r\n            <tr><td><code>unconverted_money<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Monto en la moneda original, antes de la conversi\u00f3n<\/td><\/tr>\r\n            <tr><td><code>converted_money<\/code><\/td><td class=\"muted\">\u2014<\/td><td>Monto convertido a la moneda de la distribuci\u00f3n<\/td><\/tr>\r\n            <tr><td><code>total_amount<\/code><\/td><td class=\"muted\">= converted_money<\/td><td>El modelo de \"recaudo\" no tiene columna de total separada \u2014 este es el total ya convertido<\/td><\/tr>\r\n            <tr><td><code>currency<\/code><\/td><td class=\"muted\">distribuci\u00f3n padre<\/td><td>Las entradas de recaudo no llevan moneda propia<\/td><\/tr>\r\n            <tr><td><code>status<\/code><\/td><td class=\"muted\">distribuci\u00f3n padre<\/td><td><code>draft<\/code>\/<code>to_distribute<\/code>\/<code>distributed<\/code> \u2014 las entradas de recaudo no llevan estado propio<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <div class=\"divider\"><\/div>\r\n\r\n    <!-- MANAGING KEYS -->\r\n    <section class=\"doc-sec\" id=\"managing-keys\">\r\n      <h2><span class=\"material-icons\">vpn_key<\/span>Gesti\u00f3n de llaves<\/h2>\r\n      <p><b>Herramientas de desarrollador \u2192 API Keys<\/b> \u2014 solo superadmin.<\/p>\r\n      <div class=\"callout danger\">\r\n        <span class=\"material-icons\">delete_forever<\/span>\r\n        <p>Desactivar una llave la bloquea de inmediato sin borrar su historial; eliminarla la remueve por completo (no se puede deshacer).<\/p>\r\n      <\/div>\r\n      <div class=\"callout info\">\r\n        <span class=\"material-icons\">insights<\/span>\r\n        <p>El listado muestra las solicitudes de los \u00faltimos 30 d\u00edas por llave, para detectar integraciones sin uso o con uso excesivo de un vistazo.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n  <\/main>\r\n<\/div>\r\n\r\n<!-- L\u00d3GICA JAVASCRIPT -->\r\n<script>\r\n  function copyCode(btn) {\r\n    const pre = btn.closest('.code').querySelector('pre');\r\n    const text = pre.innerText;\r\n    navigator.clipboard.writeText(text).then(() => {\r\n      const orig = btn.innerHTML;\r\n      btn.innerHTML = '<span class=\"material-icons\">check<\/span>Copiado';\r\n      setTimeout(() => { btn.innerHTML = orig; }, 1600);\r\n    });\r\n  }\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Developers API search Primeros pasos infoIntroducci\u00f3n rocket_launchPrueba r\u00e1pida lockAutenticaci\u00f3n speedRate limiting view_listPaginaci\u00f3n Endpoints groupPartnersGET library_musicWorksGET descriptionWorks FilesGET account_treeDistributionGET Administraci\u00f3n vpn_keyGesti\u00f3n de API Keys api Documentaci\u00f3n oficial Rights Track Public API API REST de solo lectura para integraciones externas. Cada endpoint es una solicitud GET \u2014 no existe forma de crear, actualizar o eliminar datos a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-538","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/pages\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/comments?post=538"}],"version-history":[{"count":4,"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/pages\/538\/revisions"}],"predecessor-version":[{"id":542,"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/pages\/538\/revisions\/542"}],"wp:attachment":[{"href":"https:\/\/rightstrack.online\/en\/wp-json\/wp\/v2\/media?parent=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}