Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em calculation_strategy (DEFAULT ou ART76). A resposta traz as datas previstas de progressão (progressions), a linha do tempo do cumprimento (timeline) e os totais de dias (pena, detração, remição e suspensão).
Os campos nature_crime_id e condition_convict_id referenciam dados do backend e devem existir; caso contrário a resposta é 404.
Payload da progressão de regime. Informe as condenações (com as penas e os ids de natureza/condição), o regime inicial, a estratégia de cálculo e os eventos que alteram o prazo (remições, detrações, faltas graves e suspensões). A resposta traz os marcos de progressão previstos, a linha do tempo do cumprimento e os totais de dias.
Resultado da progressão, com marcos previstos, linha do tempo e totais.
The response is of type object.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Jusfy Developers","description":"Documentação da API de consultas e calculadoras jurídicas da Jusfy.","colors":{"primary":"#01AB7D","light":"#1FC493","dark":"#017A59"},"logo":{"light":"https://mintcdn.com/calculator-api/BHqn0nwD8L3HXPWA/logo/light.svg?fit=max\u0026auto=format\u0026n=BHqn0nwD8L3HXPWA\u0026q=85\u0026s=6db95d80c097e93e2fbe89c54f893933","dark":"https://mintcdn.com/calculator-api/BHqn0nwD8L3HXPWA/logo/dark.svg?fit=max\u0026auto=format\u0026n=BHqn0nwD8L3HXPWA\u0026q=85\u0026s=cef3d2825bbd39f49e5c7ccdd4347082"},"favicon":"https://mintcdn.com/calculator-api/BHqn0nwD8L3HXPWA/favicon.svg?fit=max\u0026auto=format\u0026n=BHqn0nwD8L3HXPWA\u0026q=85\u0026s=3561cb177eb97b555c599a0f1136d0d8","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript","php"],"prefill":true}},"appearance":{"default":"system"},"background":{"color":{"light":"#F4F5F9","dark":"#0D1012"}},"navbar":{"links":[{"href":"https://app.jusfy.com.br/","label":"Entrar"}],"primary":{"type":"button","label":"Criar chave","href":"https://app.jusfy.com.br/"}},"fonts":{"family":"Noto Sans"},"styling":{"codeblocks":"dark","latex":false},"navigation":{"languages":[{"language":"pt-BR","default":true,"href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"calculator-api","hasAudioNarration":false,"actualSubdomain":"calculator-api","customDomains":["docs.jusfy.com.br"],"gitSource":{"type":"github","owner":"jusfy","repo":"calculator-api","deployBranch":"feature/FT-1805-developer-portal","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":"","_id":"6af4664c9d25308df35479d0"},"entitlements":{},"buildId":"6af4774dc6574eb8dd27d503","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"pt-BR","tag":"Referência","count":91},{"language":"pt-BR","tag":"Documentação","count":56},{"language":"pt-BR","tag":"Consultas","count":46},{"language":"pt-BR","tag":"Calculadoras","count":35},{"language":"pt-BR","tag":"Fundamentos","count":4},{"language":"pt-BR","tag":"Health","count":4},{"language":"pt-BR","tag":"JusScore","count":4},{"language":"pt-BR","tag":"Comece aqui","count":3},{"language":"pt-BR","tag":"Produtos","count":2},{"language":"pt-BR","tag":"Changelog","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2d_Cj7dc.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2fvCj7dc.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2dvCj7dc.woff2) format('woff2');\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2efCj7dc.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2dfCj7dc.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2dPCj7dc.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 400;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2evCj.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2d_Cj7dc.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2fvCj7dc.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2dvCj7dc.woff2) format('woff2');\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2efCj7dc.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2dfCj7dc.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2dPCj7dc.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Noto Sans Mono';\n font-style: normal;\n font-weight: 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/notosansmono/v37/BngcUXNETWXI6LwhGYvaxZikqZqK6fBq6kPvUce2oAZ2evCj.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--jd-bg: #f4f5f9;--jd-surface: #ffffff;--jd-surface-2: #eceef4;--jd-fg: #131313;--jd-fg-2: #3d4250;--jd-fg-3: #636a78;--jd-border: #e1e4eb;--jd-brand: #01ab7d;--jd-brand-ink: #017a59;--jd-brand-soft: #e3f6f0;--jd-on-brand: #ffffff;--jd-code-bg: #0f1916;--jd-code-fg: #d6e4df;--jd-code-dim: #7f948d;--jd-code-border: #1f2c28;--jd-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.05), 0 1px 3px rgb(0 0 0 / 0.06);--jd-radius-sm: 5px;--jd-radius-md: 7px;--jd-radius-lg: 10px;--jd-mono: 'Noto Sans Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--jd-info: #0182ab;--jd-info-soft: #e4f4f9}html.dark{--jd-bg: #0d1012;--jd-surface: #15191b;--jd-surface-2: #1c2124;--jd-fg: #f1f3f4;--jd-fg-2: #c6cbd1;--jd-fg-3: #929aa3;--jd-border: #2a3034;--jd-brand: #1fc493;--jd-brand-ink: #45d6a8;--jd-brand-soft: #10261f;--jd-on-brand: #04231a;--jd-code-bg: #090c0d;--jd-code-border: #1e2628;--jd-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.4);--jd-info: #4fc1e3;--jd-info-soft: #0f2329}code,pre{font-family:var(--jd-mono)}.jd-landing{background:var(--jd-bg);color:var(--jd-fg-2);font-size:15px;line-height:1.55}.jd-landing h1,.jd-landing h2,.jd-landing h3{color:var(--jd-fg);line-height:1.15;margin:0;font-weight:700;text-wrap:balance}:where(.jd-landing) p{margin:0}.jd-landing a{color:var(--jd-brand-ink);text-decoration:none}.jd-landing a:hover{text-decoration:underline}.jd-wrap{max-width:1180px;margin:0 auto;padding-inline:16px}.jd-eyebrow{font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--jd-brand-ink)}.jd-landing :not(pre)>code{font-size:0.86em;background:var(--jd-surface-2);padding:1px 5px;border-radius:4px;color:var(--jd-fg)}.jd-landing pre code{background:none;padding:0;border:0;color:inherit;font-size:inherit}.jd-button{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--jd-radius-md);padding:9px 16px;font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap}.jd-landing .jd-button:hover{text-decoration:none;background-image:linear-gradient(rgb(0 0 0 / 0.08), rgb(0 0 0 / 0.08))}.jd-landing .jd-button-primary{background:var(--jd-brand);color:var(--jd-on-brand)}.jd-landing .jd-button-ghost{background:var(--jd-surface);color:var(--jd-fg);border-color:var(--jd-border)}.jd-hero{background:var(--jd-surface);border-bottom:1px solid var(--jd-border)}.jd-hero .jd-wrap{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr);gap:56px;align-items:center;padding-block:64px 72px}.jd-hero h1{font-size:clamp(32px, 4.4vw, 50px);letter-spacing:-0.025em;font-weight:800;margin-top:14px}.jd-hero h1 em{font-style:normal;color:var(--jd-brand-ink)}.jd-hero-lede{font-size:17.5px;margin-top:18px;max-width:34em}.jd-checklist{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:8px}.jd-checklist li{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:0}.jd-checklist li::before{content:'✓';color:var(--jd-brand-ink);font-weight:700}.jd-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.jd-fine{font-size:13px;color:var(--jd-fg-3);margin-top:12px}.jd-terminal-stack{display:grid;gap:12px;min-width:0}.jd-band{padding-block:72px}.jd-band-alt{background:var(--jd-surface);border-block:1px solid var(--jd-border)}.jd-section-head{max-width:640px;margin-bottom:36px}.jd-section-head h2{font-size:clamp(26px, 3vw, 34px);letter-spacing:-0.02em;margin-top:8px}.jd-section-head p{margin-top:12px;font-size:16.5px}.jd-paths{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px}.jd-way{background:var(--jd-surface);border:1px solid var(--jd-border);border-radius:var(--jd-radius-md);padding:24px;display:flex;flex-direction:column;gap:12px}.jd-way-icon,.jd-link-card-icon{width:40px;height:40px;border-radius:var(--jd-radius-md);display:grid;place-items:center;background:var(--jd-brand-soft);color:var(--jd-brand-ink);font-size:18px}.jd-way h3{font-size:18px}.jd-way p{font-size:14.5px;flex:1}.jd-way-go{font-weight:600;font-size:14px}.jd-steps{display:grid;grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);gap:40px;align-items:start}.jd-step{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--jd-border)}.jd-step:last-child{border-bottom:0}.jd-step-number{width:32px;height:32px;border-radius:999px;border:1.5px solid var(--jd-brand);color:var(--jd-brand-ink);display:grid;place-items:center;font-weight:700;font-size:14px}.jd-step h3{font-size:16.5px}.jd-step p{font-size:14.5px;margin-top:4px}.jd-catalog{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}.jd-catalog-card{background:var(--jd-surface);border:1px solid var(--jd-border);border-radius:var(--jd-radius-md);padding:24px}.jd-catalog-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.jd-catalog-card h3{font-size:20px}.jd-catalog-count{font-size:13px;color:var(--jd-fg-3)}.jd-catalog-card>p{margin-top:8px;font-size:14.5px}.jd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.jd-chip{font-size:13px;border:1px solid var(--jd-border);border-radius:999px;padding:4px 11px;color:var(--jd-fg-2);background:var(--jd-surface)}.jd-chip-highlight{border-color:var(--jd-brand);color:var(--jd-brand-ink);background:var(--jd-brand-soft);font-weight:600}.jd-catalog-more{display:inline-block;margin-top:18px;font-weight:600;font-size:14px}.jd-features{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));border:1px solid var(--jd-border);border-radius:var(--jd-radius-lg);overflow:hidden;background:var(--jd-surface)}.jd-feature{padding:22px 24px;border-right:1px solid var(--jd-border);border-bottom:1px solid var(--jd-border)}.jd-feature:nth-child(3n){border-right:0}.jd-feature:nth-last-child(-n+3){border-bottom:0}.jd-feature h3{font-size:15.5px;display:flex;gap:8px;align-items:center}.jd-feature h3 span{color:var(--jd-brand-ink)}.jd-feature p{font-size:14px;margin-top:6px}.jd-faq{max-width:820px}.jd-faq details{border-bottom:1px solid var(--jd-border);padding:16px 0}.jd-faq summary{cursor:pointer;font-weight:600;color:var(--jd-fg);font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:16px}.jd-faq summary::-webkit-details-marker{display:none}.jd-faq summary::after{content:'+';color:var(--jd-fg-3);font-weight:400;font-size:20px;line-height:1}.jd-faq details[open] summary::after{content:'\\2212'}.jd-faq details p{margin-top:8px;font-size:15px;max-width:62ch}.jd-final{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:32px;border-radius:var(--jd-radius-lg);background:var(--jd-surface);border:1px solid var(--jd-border)}.jd-final h2{font-size:24px}.jd-final p{margin-top:6px}.jd-code{background:var(--jd-code-bg);border:1px solid var(--jd-code-border);border-radius:var(--jd-radius-lg);overflow:hidden;min-width:0;color:var(--jd-code-fg)}.jd-code-head{display:flex;align-items:center;gap:4px;padding:6px 8px 0;border-bottom:1px solid var(--jd-code-border);overflow-x:auto}.jd-code-tab{font-family:var(--jd-mono);font-size:12px;color:var(--jd-code-dim);padding:6px 10px 8px;border:0;background:none;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}.jd-code-tab-active{color:var(--jd-code-fg);border-bottom-color:var(--jd-brand)}.jd-code-spacer{flex:1}.jd-code-copy{background:none;border:1px solid var(--jd-code-border);color:var(--jd-code-dim);font-size:12px;border-radius:var(--jd-radius-sm);padding:4px 8px;margin-bottom:6px;cursor:pointer}.jd-code-copy:hover{color:var(--jd-code-fg)}.jd-code-label{font-family:var(--jd-mono);font-size:11.5px;color:var(--jd-code-dim);padding:10px 18px 0;display:flex;gap:10px;align-items:center}.jd-status-ok{color:#04231a;background:#5fd9b0;border-radius:4px;padding:1px 6px;font-weight:600}.jd-code{margin:16px 0}.jd-landing .jd-code,.jd-product-detail .jd-code{margin:0}.jd-product-detail .jd-code+.jd-code{margin-top:10px}.jd-code pre{margin:0!important;border-radius:0!important;border:0!important;padding:16px 18px;overflow-x:auto;font-size:13px;line-height:1.65;color:var(--jd-code-fg);background:none!important;white-space:pre}.jd-code pre code{background:none!important;padding:0!important;border:0!important;color:inherit!important;font-size:inherit!important}#localization-select-trigger{display:none!important}.sidebar-title{text-transform:uppercase;font-size:11.5px!important;letter-spacing:0.08em;color:var(--jd-fg-3)!important;font-weight:600!important}.jd-link-card-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;margin-top:20px}.jd-link-card{display:flex;gap:14px;padding:18px;border:1px solid var(--jd-border);border-radius:var(--jd-radius-md);background:var(--jd-surface);color:var(--jd-fg-2);text-decoration:none!important;border-bottom-width:1px!important}.jd-link-card:hover{border-color:var(--jd-brand)}.jd-link-card-icon{width:36px;height:36px;border-radius:var(--jd-radius-md);background:var(--jd-brand-soft);color:var(--jd-brand-ink);display:grid;place-items:center;flex:none}.jd-link-card-title{display:block;font-size:15.5px;font-weight:700;color:var(--jd-fg)}.jd-link-card-text{display:block;font-size:14px;font-weight:400!important;color:var(--jd-fg-2)!important;margin-top:4px;line-height:1.5}.jd-callout{display:flex;gap:12px;border-radius:var(--jd-radius-md);padding:14px 16px;font-size:14px;line-height:1.5;background:var(--jd-brand-soft);color:var(--jd-fg-2);margin:18px 0}.jd-callout>svg{margin-top:3px;color:var(--jd-brand-ink);flex:none}.jd-callout p{margin:0}.jd-callout strong{color:var(--jd-fg)}@media (max-width: 640px){.jd-link-card-grid{grid-template-columns:1fr}}@media (max-width: 920px){.jd-hero .jd-wrap,.jd-steps{grid-template-columns:1fr;gap:36px}.jd-hero .jd-wrap{padding-block:40px 48px}}@media (max-width: 860px){.jd-paths,.jd-features{grid-template-columns:1fr}.jd-feature{border-right:0!important;border-bottom:1px solid var(--jd-border)!important}.jd-feature:last-child{border-bottom:0!important}}@media (max-width: 760px){.jd-catalog{grid-template-columns:1fr}}.jd-product-group{margin-top:32px}.jd-product-group h3{display:flex;gap:10px;align-items:baseline;margin:0 0 10px}.jd-product-count{font-weight:400;font-size:13px;color:var(--jd-fg-3)}.jd-product-list{border:1px solid var(--jd-border);border-radius:var(--jd-radius-md);background:var(--jd-surface);overflow:hidden;margin-top:12px}.jd-product{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:6px 16px;padding:14px 16px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--jd-border)!important;color:inherit;cursor:pointer;text-decoration:none!important}.jd-product:last-child{border-bottom:0!important}.jd-product:hover{background-image:linear-gradient(rgb(0 0 0 / 0.025), rgb(0 0 0 / 0.025))}.jd-product-selected{background:var(--jd-brand-soft)}.jd-product-name{font-weight:600;color:var(--jd-fg);font-size:15px}.jd-product-meta{display:flex;gap:6px;align-items:center;justify-content:flex-end;grid-row:span 2}.jd-product-path{font-family:var(--jd-mono);font-size:12.5px;font-weight:400!important;color:var(--jd-fg-3)!important;display:flex;gap:8px;align-items:center;min-width:0;overflow-wrap:anywhere}.jd-product-detail{padding:4px 16px 18px;border-bottom:1px solid var(--jd-border);background:var(--jd-surface)}.jd-product-detail p{font-size:14px;margin:8px 0 12px}.jd-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap;line-height:1.6}.jd-badge-gray{background:var(--jd-surface-2);color:var(--jd-fg-3)}.jd-badge-info{background:var(--jd-info-soft);color:var(--jd-info)}.jd-method{font-family:var(--jd-mono);font-size:11px;font-weight:600;border-radius:4px;padding:2px 6px;letter-spacing:0.02em}.jd-method-post{background:var(--jd-brand-soft);color:var(--jd-brand-ink)}.jd-method-get{background:var(--jd-info-soft);color:var(--jd-info)}.jd-calculator-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;margin-top:20px}.jd-calculator{padding:16px;border:1px solid var(--jd-border)!important;border-radius:var(--jd-radius-md);background:var(--jd-surface);display:flex;flex-direction:column;gap:6px;text-decoration:none!important}.jd-calculator:hover{border-color:var(--jd-brand)!important}.jd-calculator-name{font-size:15px;font-weight:700;color:var(--jd-fg)}.jd-calculator-description{font-size:13.5px;font-weight:400!important;color:var(--jd-fg-2)!important;flex:1}.jd-calculator code{font-size:11.5px;color:var(--jd-fg-3);overflow-wrap:anywhere;background:none!important;padding:0!important;border:0!important}@media (max-width: 860px){.jd-calculator-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 560px){.jd-calculator-grid{grid-template-columns:1fr}.jd-product{grid-template-columns:1fr}.jd-product-meta{grid-row:auto;justify-content:flex-start}}body:has(a[aria-current=\"page\"][href=\"/produtos/consultas\"]) .nav-tabs-item[data-active=\"true\"]>div,body:has(a[aria-current=\"page\"][href=\"/produtos/calculadoras\"]) .nav-tabs-item[data-active=\"true\"]>div{background:transparent!important}body:has(a[aria-current=\"page\"][href=\"/produtos/consultas\"]) .nav-tabs-item[data-active=\"true\"],body:has(a[aria-current=\"page\"][href=\"/produtos/calculadoras\"]) .nav-tabs-item[data-active=\"true\"]{text-shadow:none!important}body:has(a[aria-current=\"page\"][href=\"/produtos/consultas\"]) .nav-tabs-item[href=\"/produtos/consultas\"],body:has(a[aria-current=\"page\"][href=\"/produtos/calculadoras\"]) .nav-tabs-item[href=\"/produtos/calculadoras\"]{text-shadow:-0.2px 0 0 currentColor, 0.2px 0 0 currentColor}body:has(a[aria-current=\"page\"][href=\"/produtos/consultas\"]) .nav-tabs-item[href=\"/produtos/consultas\"]>div,body:has(a[aria-current=\"page\"][href=\"/produtos/calculadoras\"]) .nav-tabs-item[href=\"/produtos/calculadoras\"]>div{background:var(--jd-brand)!important}:root{--jd-warn: #8a6a00;--jd-warn-soft: #fff6d6;--jd-error: #c42a3b;--jd-error-soft: #fdecee}html.dark{--jd-warn: #f2cc4d;--jd-warn-soft: #2a2410;--jd-error: #f27585;--jd-error-soft: #2c1418}.jd-button-primary{background:var(--jd-brand)!important;color:var(--jd-on-brand)!important;border-bottom-width:1px!important;text-decoration:none!important;cursor:pointer}.jd-button-ghost{background:var(--jd-surface)!important;color:var(--jd-fg)!important;border:1px solid var(--jd-border)!important;text-decoration:none!important;cursor:pointer}.jd-button:hover{background-image:linear-gradient(rgb(0 0 0 / 0.08), rgb(0 0 0 / 0.08))}.jd-badge-brand{gap:5px;background:var(--jd-brand-soft);color:var(--jd-brand-ink)}.jd-badge-error{background:var(--jd-error-soft);color:var(--jd-error)}.jd-step{display:grid;grid-template-columns:32px 1fr;gap:16px;border-bottom:1px solid var(--jd-border)}.jd-step:last-child{border-bottom:0}.jd-step-number{width:32px;height:32px;border-radius:999px;border:1.5px solid var(--jd-brand);color:var(--jd-brand-ink);display:grid;place-items:center;font-weight:700;font-size:14px}a:has(>img.nav-logo){display:inline-flex!important;align-items:center;gap:8px}a:has(>img.nav-logo)::after{content:'Developers';font-size:13px;font-weight:600;line-height:1;color:var(--jd-fg-3);padding:3px 0 3px 8px;border-left:1px solid var(--jd-border);white-space:nowrap}#navbar div:has(>#search-bar-entry),#navbar #search-bar-entry,#navbar #search-bar-entry-mobile{display:none!important}@media (min-width: 1280px){#navbar div:has(>.nav-tabs){position:absolute;top:0;left:300px;height:56px!important;padding:0!important}#navbar div:has(>.nav-tabs) .nav-tabs{height:56px}#navbar .topbar-right-container{flex:0 0 auto!important;margin-left:auto}#navbar div:has(>a>img.nav-logo){flex:1 1 auto!important}}"}],"page":{"pagePath":"legado/referencia/calculadoras/calcula-a-progressão-de-regime","slug":"/legado/referencia/calculadoras/calcula-a-progressão-de-regime","pageMetadata":{"title":"Calcula a progressão de regime","description":"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em `calculation_strategy` (`DEFAULT` ou `ART76`). A resposta traz as datas previstas de progressão (`progressions`), a linha do tempo do cumprimento (`timeline`) e os totais de dias (pena, detração, remição e suspensão).\n\nOs campos `nature_crime_id` e `condition_convict_id` referenciam dados do backend e devem existir; caso contrário a resposta é `404`.","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/progressao-regime","href":"/legado/referencia/calculadoras/calcula-a-progressão-de-regime","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em \", _jsx(_components.code, {\n children: \"calculation_strategy\"\n }), \" (\", _jsx(_components.code, {\n children: \"DEFAULT\"\n }), \" ou \", _jsx(_components.code, {\n children: \"ART76\"\n }), \"). A resposta traz as datas previstas de progressão (\", _jsx(_components.code, {\n children: \"progressions\"\n }), \"), a linha do tempo do cumprimento (\", _jsx(_components.code, {\n children: \"timeline\"\n }), \") e os totais de dias (pena, detração, remição e suspensão).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Os campos \", _jsx(_components.code, {\n children: \"nature_crime_id\"\n }), \" e \", _jsx(_components.code, {\n children: \"condition_convict_id\"\n }), \" referenciam dados do backend e devem existir; caso contrário a resposta é \", _jsx(_components.code, {\n children: \"404\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Calcula a progressão de regime","description":"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em `calculation_strategy` (`DEFAULT` ou `ART76`). A resposta traz as datas previstas de progressão (`progressions`), a linha do tempo do cumprimento (`timeline`) e os totais de dias (pena, detração, remição e suspensão).\n\nOs campos `nature_crime_id` e `condition_convict_id` referenciam dados do backend e devem existir; caso contrário a resposta é `404`.","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/progressao-regime","href":"/legado/referencia/calculadoras/calcula-a-progressão-de-regime","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em `calculation_strategy` (`DEFAULT` ou `ART76`). A resposta traz as datas previstas de progressão (`progressions`), a linha do tempo do cumprimento (`timeline`) e os totais de dias (pena, detração, remição e suspensão).\n\nOs campos `nature_crime_id` e `condition_convict_id` referenciam dados do backend e devem existir; caso contrário a resposta é `404`.","operationId":"CalculatorsController_progressaoRegime[0]","parameters":[],"requestBody":"fad77a5d-9c66-4a89-9c05-cd077d46f314","responses":{"200":"0061e166-bbdf-40de-b46c-64f5d5e10278","401":"f73a958d-2ca0-4a80-9552-3fd529f4289d","403":"a4b93ccc-c4e1-429e-8571-11bdecdb5b5d","422":"c3b424f6-fa97-446a-b039-739bcd4b759a","429":"124fda95-9ab8-443b-9f27-7a8f30d38f05","502":"e227a97d-c74f-45e9-90cd-229b6c8cbce2","504":"107a7171-9069-4cca-b2e7-5c9c9eea0a31"},"security":["da78e033-2b60-431a-819a-a49bebe46188"],"summary":"Calcula a progressão de regime","tags":["Calculadoras"],"method":"post","type":"path","servers":["6cfcc75d-7610-485e-8cd1-df46c82f3e0e"],"path":"/api/calculadoras/progressao-regime","baseUrlOptions":["https://api.jusfy.dev/calculators"],"title":"Calcula a progressão de regime","codeSamples":[],"requestExampleLanguages":["bash","python","javascript","php"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.name":"Progressão de regime - exemplo","body.convict_info.customer.id":1,"body.convict_info.customer.name":"Fulano de Tal","body.convict_info.number_lawsuit":"0001234-56.2024.8.26.0100","body.type_initial_regime":"FECHADO","body.calculation_strategy":"DEFAULT","body.condemnations.items.0.criminal_sentences.items.0.type_description":"Roubo (art. 157, CP)","body.condemnations.items.0.criminal_sentences.items.0.crime_date":"2021-01-10","body.condemnations.items.0.criminal_sentences.items.0.nature_crime_id":1,"body.condemnations.items.0.criminal_sentences.items.0.condition_convict_id":1,"body.condemnations.items.0.criminal_sentences.items.0.penalty_time.years":5,"body.condemnations.items.0.criminal_sentences.items.0.penalty_time.months":0,"body.condemnations.items.0.criminal_sentences.items.0.penalty_time.days":0,"body.condemnations.items.0.start_date":"2021-01-10","body.condemnations.items.0.is_considered_serious_fault":false}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"description":"Payload da calculadora de progressão de regime.","content":{"application/json":{"schema":{"type":"object","description":"Payload da progressão de regime. Informe as condenações (com as penas e os ids de natureza/condição), o regime inicial, a estratégia de cálculo e os eventos que alteram o prazo (remições, detrações, faltas graves e suspensões). A resposta traz os marcos de progressão previstos, a linha do tempo do cumprimento e os totais de dias.","required":["name","convict_info","redemptions","detractions","serious_fault","suspensions","type_initial_regime","calculation_strategy","condemnations"],"properties":{"name":{"type":"string","description":"Nome do cálculo. Não afeta o resultado.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"convict_info":{"type":"object","description":"Dados do réu/processo. Exigidos pelo schema, mas não afetam o resultado.","required":["customer"],"properties":{"customer":{"type":"object","required":["id","name"],"properties":{"id":{"type":"number","description":"Identificador do cliente/réu (positivo).","isRequired":true,"uniqueKey":"convict_info.customer.id","typeLabel":"number"},"name":{"type":"string","description":"Nome do réu (mínimo 3 caracteres).","isRequired":true,"uniqueKey":"convict_info.customer.name","typeLabel":"string"},"document":{"oneOf":[{"type":"string","description":"Documento do réu. Opcional.","uniqueKey":"convict_info.customer.document.oneOf.0","typeLabel":"string"},{"type":"null","description":"Documento do réu. Opcional.","uniqueKey":"convict_info.customer.document.oneOf.1","typeLabel":"null"}],"uniqueKey":"convict_info.customer.document","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"convict_info.customer","typeLabel":"object"},"number_lawsuit":{"type":"string","description":"Número do processo (máx. 30 caracteres). Opcional.","uniqueKey":"convict_info.number_lawsuit","typeLabel":"string"}},"isRequired":true,"uniqueKey":"convict_info","typeLabel":"object"},"redemptions":{"type":"array","description":"Remições (dias remidos por trabalho/estudo).","items":{"type":"object","required":["total_days","homologation_date"],"properties":{"total_days":{"type":"number","description":"Dias remidos (positivo).","isRequired":true,"uniqueKey":"redemptions.items.[INDEX].total_days","typeLabel":"number"},"homologation_date":{"type":"string","format":"date","description":"Data de homologação (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"redemptions.items.[INDEX].homologation_date","typeLabel":"string\u003cdate>"},"description":{"type":"string","description":"Descrição. Opcional.","uniqueKey":"redemptions.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"redemptions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"redemptions","typeLabel":"object[]"},"detractions":{"type":"array","description":"Detrações (períodos de prisão a descontar).","items":{"type":"object","required":["start_date","end_date"],"properties":{"start_date":{"type":"string","format":"date","description":"Data inicial (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"detractions.items.[INDEX].start_date","typeLabel":"string\u003cdate>"},"end_date":{"type":"string","format":"date","description":"Data final (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"detractions.items.[INDEX].end_date","typeLabel":"string\u003cdate>"},"description":{"type":"string","description":"Descrição. Opcional.","uniqueKey":"detractions.items.[INDEX].description","typeLabel":"string"},"total_days":{"type":"number","description":"Total de dias (positivo). Opcional — derivado do período quando ausente.","uniqueKey":"detractions.items.[INDEX].total_days","typeLabel":"number"}},"uniqueKey":"detractions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"detractions","typeLabel":"object[]"},"serious_fault":{"type":"array","description":"Faltas graves ocorridas ao longo do cumprimento.","items":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date","description":"Data da falta (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"serious_fault.items.[INDEX].date","typeLabel":"string\u003cdate>"},"description":{"type":"string","description":"Descrição. Opcional.","uniqueKey":"serious_fault.items.[INDEX].description","typeLabel":"string"},"regime_to_go":{"type":"string","enum":["FECHADO","SEMIABERTO","ABERTO"],"description":"Regime de regressão, se houver. Opcional.","uniqueKey":"serious_fault.items.[INDEX].regime_to_go","typeLabel":"enum\u003cstring>"}},"uniqueKey":"serious_fault.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"serious_fault","typeLabel":"object[]"},"suspensions":{"type":"array","description":"Suspensões da contagem do prazo.","items":{"type":"object","required":["start_date","end_date"],"properties":{"start_date":{"type":"string","format":"date","description":"Data inicial (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"suspensions.items.[INDEX].start_date","typeLabel":"string\u003cdate>"},"end_date":{"type":"string","format":"date","description":"Data final (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"suspensions.items.[INDEX].end_date","typeLabel":"string\u003cdate>"},"description":{"type":"string","description":"Descrição. Opcional.","uniqueKey":"suspensions.items.[INDEX].description","typeLabel":"string"},"total_days":{"type":"number","description":"Total de dias (positivo). Opcional — derivado do período quando ausente.","uniqueKey":"suspensions.items.[INDEX].total_days","typeLabel":"number"}},"uniqueKey":"suspensions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"suspensions","typeLabel":"object[]"},"type_initial_regime":{"type":"string","enum":["FECHADO","SEMIABERTO","ABERTO"],"description":"Regime inicial de cumprimento.","isRequired":true,"uniqueKey":"type_initial_regime","typeLabel":"enum\u003cstring>"},"calculation_strategy":{"type":"string","enum":["DEFAULT","ART76"],"description":"Estratégia de cálculo da progressão.","isRequired":true,"uniqueKey":"calculation_strategy","typeLabel":"enum\u003cstring>"},"condemnations":{"type":"array","description":"Condenações. Deve conter **pelo menos uma**.","items":{"type":"object","required":["criminal_sentences","start_date","is_considered_serious_fault"],"properties":{"criminal_sentences":{"type":"array","description":"Penas da condenação.","items":{"type":"object","required":["type_description","crime_date","nature_crime_id","condition_convict_id","penalty_time"],"properties":{"type_description":{"type":"string","description":"Tipificação/descrição do crime.","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].type_description","typeLabel":"string"},"crime_date":{"type":"string","format":"date","description":"Data do crime (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].crime_date","typeLabel":"string\u003cdate>"},"nature_crime_id":{"type":"number","description":"Id da natureza do crime (referência do backend; positivo).","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].nature_crime_id","typeLabel":"number"},"condition_convict_id":{"type":"number","description":"Id da condição do apenado (referência do backend; positivo).","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].condition_convict_id","typeLabel":"number"},"penalty_time":{"type":"object","description":"Tempo de pena cominado (`>= 0`).","required":["years","months","days"],"properties":{"years":{"type":"number","description":"Anos.","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].penalty_time.years","typeLabel":"number"},"months":{"type":"number","description":"Meses.","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].penalty_time.months","typeLabel":"number"},"days":{"type":"number","description":"Dias.","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].penalty_time.days","typeLabel":"number"}},"isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX].penalty_time","typeLabel":"object"}},"uniqueKey":"condemnations.items.[INDEX].criminal_sentences.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"condemnations.items.[INDEX].criminal_sentences","typeLabel":"object[]"},"start_date":{"type":"string","format":"date","description":"Data de início do cumprimento (`YYYY-MM-DD`).","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].start_date","typeLabel":"string\u003cdate>"},"is_considered_serious_fault":{"type":"boolean","description":"Se a nova condenação é considerada falta grave.","isRequired":true,"uniqueKey":"condemnations.items.[INDEX].is_considered_serious_fault","typeLabel":"boolean"},"regime_to_go":{"type":"string","enum":["FECHADO","SEMIABERTO","ABERTO"],"description":"Regime de regressão a aplicar, se houver. Opcional.","uniqueKey":"condemnations.items.[INDEX].regime_to_go","typeLabel":"enum\u003cstring>"}},"uniqueKey":"condemnations.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"condemnations","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"progressao-regime":{"title":"progressao-regime","value":{"name":"Progressão de regime - exemplo","convict_info":{"customer":{"id":1,"name":"Fulano de Tal","document":null},"number_lawsuit":"0001234-56.2024.8.26.0100"},"redemptions":[],"detractions":[],"serious_fault":[],"suspensions":[],"type_initial_regime":"FECHADO","calculation_strategy":"DEFAULT","condemnations":[{"criminal_sentences":[{"type_description":"Roubo (art. 157, CP)","crime_date":"2021-01-10","nature_crime_id":1,"condition_convict_id":1,"penalty_time":{"years":5,"months":0,"days":0}}],"start_date":"2021-01-10","is_considered_serious_fault":false}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"0061e166-bbdf-40de-b46c-64f5d5e10278":{"description":"Resultado da progressão, com marcos previstos, linha do tempo e totais.","content":{"application/json":{"schema":{"type":"object","example":{"statusCode":200,"message":"Cálculo concluído com sucesso","timestamp":"2026-06-22T18:00:00.000Z","path":"/api/calculadoras/progressao-regime","result":{"detraction_days":0,"redemption_days":0,"suspensions_days":0,"total_sentence_days":1825,"reports":{"summary":null,"complete":null,"expert":null},"progressions":[{"date_to_progression":"2022-04-11T00:00:00.000Z","progression_title":"Progressão para o regime semiaberto"}],"timeline":[{"date":"2021-01-10T00:00:00.000Z","event_title":"Início do cumprimento","progression":"Fechado","event_type":""},{"date":"2022-04-11T00:00:00.000Z","event_title":"Progressão de regime","progression":"Semi-aberto","event_type":"progressão","base_date":"2021-01-10T00:00:00.000Z","base_date_reference":"início do cumprimento"}]}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":200,"message":"Cálculo concluído com sucesso","timestamp":"2026-06-22T18:00:00.000Z","path":"/api/calculadoras/progressao-regime","result":{"detraction_days":0,"redemption_days":0,"suspensions_days":0,"total_sentence_days":1825,"reports":{"summary":null,"complete":null,"expert":null},"progressions":[{"date_to_progression":"2022-04-11T00:00:00.000Z","progression_title":"Progressão para o regime semiaberto"}],"timeline":[{"date":"2021-01-10T00:00:00.000Z","event_title":"Início do cumprimento","progression":"Fechado","event_type":""},{"date":"2022-04-11T00:00:00.000Z","event_title":"Progressão de regime","progression":"Semi-aberto","event_type":"progressão","base_date":"2021-01-10T00:00:00.000Z","base_date_reference":"início do cumprimento"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"f73a958d-2ca0-4a80-9552-3fd529f4289d":{"description":"API key ausente ou que não pertence a nenhum cliente (`code: invalid_api_key`). A `message` diz qual dos dois.","content":{"application/json":{"examples":{"missing":{"title":"missing","value":{"statusCode":401,"message":"Missing API key","code":"invalid_api_key","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-10-14T18:00:00.000Z","path":"/api/calculadoras/trabalhista"}},"invalid":{"title":"invalid","value":{"statusCode":401,"message":"Invalid API key","code":"invalid_api_key","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-10-14T18:00:00.000Z","path":"/api/calculadoras/trabalhista"}}},"exampleType":"examples"}},"exampleType":"examples"},"a4b93ccc-c4e1-429e-8571-11bdecdb5b5d":{"description":"Acesso negado. Dois motivos, distinguidos pelo `code`: o cliente não está ativo (`inactive_client`), ou a API key não tem o escopo deste produto (`insufficient_scope`, com o escopo na `message`). A liberação de produtos é feita pela equipe Jusfy.","content":{"application/json":{"examples":{"inactive_client":{"title":"inactive_client","value":{"statusCode":403,"message":"Client is not active","code":"inactive_client","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-10-14T18:00:00.000Z","path":"/api/calculadoras/trabalhista"}},"insufficient_scope":{"title":"insufficient_scope","value":{"statusCode":403,"message":"Missing scope: \u003cescopo>","code":"insufficient_scope","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-10-14T18:00:00.000Z","path":"/api/calculadoras/trabalhista"}}},"exampleType":"examples"}},"exampleType":"examples"},"c3b424f6-fa97-446a-b039-739bcd4b759a":{"description":"Payload inválido. `message` indica o campo e o motivo.","content":{"application/json":{"schema":{"example":{"statusCode":422,"code":"payload_rejected","message":"Expected number, received null (property: fine)","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-06-22T18:00:00.000Z","path":"/api/calculadoras/progressao-regime"}}}},"exampleType":"generated"},"124fda95-9ab8-443b-9f27-7a8f30d38f05":{"description":"Limite de requisições por minuto do cliente neste produto excedido. `Retry-After` diz em quantos segundos a janela vira. Toda resposta traz `X-RateLimit-Limit`, `X-RateLimit-Remaining` e `X-RateLimit-Reset`.","content":{"application/json":{"schema":{"example":{"statusCode":429,"code":"rate_limit_exceeded","message":"Rate limit exceeded for calculadoras.trabalhista:execute: 60 requests per minute. Retry in 42s.","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-06-22T18:00:00.000Z","path":"/api/calculadoras/trabalhista"}}}},"exampleType":"generated"},"e227a97d-c74f-45e9-90cd-229b6c8cbce2":{"description":"Erro no motor de cálculo da Jusfy.","content":{"application/json":{"schema":{"example":{"statusCode":502,"code":"upstream_error","message":"Calculation backend error","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-06-22T18:00:00.000Z","path":"/api/calculadoras/progressao-regime"}}}},"exampleType":"generated"},"107a7171-9069-4cca-b2e7-5c9c9eea0a31":{"description":"Tempo limite ao falar com o motor de cálculo.","content":{"application/json":{"schema":{"example":{"statusCode":504,"code":"upstream_timeout","message":"Calculation backend timed out","requestId":"9f1c2b7e-4d3a-4f8b-a6e2-1c0d9e8f7a65","timestamp":"2026-06-22T18:00:00.000Z","path":"/api/calculadoras/progressao-regime"}}}},"exampleType":"generated"}},"security":{"da78e033-2b60-431a-819a-a49bebe46188":{"api-key":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api-key"}}},"servers":{"6cfcc75d-7610-485e-8cd1-df46c82f3e0e":{"url":"https://api.jusfy.dev/calculators"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api-key"},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api-key","name":"x-api-key"}],"title":"api-key"}]},"originalFileLocation":"openapi/legado.json"},"subdomain":"calculator-api","siteName":"Jusfy Developers","title":"Calcula a progressão de regime - Jusfy Developers","navMaps":{"firstHrefInVersion":{"v1":{"href":"/referencia/calculadoras/calcula-a-progressão-de-regime","matchLevel":1},"Legado":{"href":"/legado/referencia/calculadoras/calcula-a-progressão-de-regime","matchLevel":0}},"firstHrefInLanguage":{"pt-BR":{"href":"/legado/referencia/calculadoras/calcula-a-progressão-de-regime","matchLevel":0}}},"lastModified":"2026-11-11T14:10:33.740Z","originalFileLocation":"legado/referencia/calculadoras/calcula-a-progressão-de-regime.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em calculation_strategy (DEFAULT ou ART76). A resposta traz as datas previstas de progressão (progressions), a linha do tempo do cumprimento (timeline) e os totais de dias (pena, detração, remição e suspensão). Os campos nature_crime_id e condition_convict_id referenciam dados do backend e devem existir; caso contrário a resposta é 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Jusfy Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Calcula a progressão de regime - Jusfy Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em calculation_strategy (DEFAULT ou ART76). A resposta traz as datas previstas de progressão (progressions), a linha do tempo do cumprimento (timeline) e os totais de dias (pena, detração, remição e suspensão). Os campos nature_crime_id e condition_convict_id referenciam dados do backend e devem existir; caso contrário a resposta é 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Jusfy Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progressão-de-regime\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://calculator-api.mintlify.site/_mintlify/api/og/v2?division=Calculadoras\u0026amp;title=Calcula+a+progress%C3%A3o+de+regime\u0026amp;description=Calcula+os+marcos+de+progress%C3%A3o+de+regime+a+partir+das+condena%C3%A7%C3%B5es%2C+do+regime+inicial+e+dos+eventos+que+alteram+o+prazo+%28remi%C3%A7%C3%B5es%2C+detra%C3%A7%C3%B5es%2C+faltas+graves+e+su\u0026amp;theme=fd26e52ed8f0ab9dd01f1b97\u0026amp;signature=27556578d994ebd0fd9089d85808d941df166133df0ccde80589420429d2e506\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Calcula a progressão de regime - Jusfy Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em calculation_strategy (DEFAULT ou ART76). A resposta traz as datas previstas de progressão (progressions), a linha do tempo do cumprimento (timeline) e os totais de dias (pena, detração, remição e suspensão). Os campos nature_crime_id e condition_convict_id referenciam dados do backend e devem existir; caso contrário a resposta é 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://calculator-api.mintlify.site/_mintlify/api/og/v2?division=Calculadoras\u0026amp;title=Calcula+a+progress%C3%A3o+de+regime\u0026amp;description=Calcula+os+marcos+de+progress%C3%A3o+de+regime+a+partir+das+condena%C3%A7%C3%B5es%2C+do+regime+inicial+e+dos+eventos+que+alteram+o+prazo+%28remi%C3%A7%C3%B5es%2C+detra%C3%A7%C3%B5es%2C+faltas+graves+e+su\u0026amp;theme=fd26e52ed8f0ab9dd01f1b97\u0026amp;signature=27556578d994ebd0fd9089d85808d941df166133df0ccde80589420429d2e506\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/calculator-api/YVjfD0ZSqW9p3M3B/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Jusfy Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#01AB7D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progressão-de-regime\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.jusfy.com.br/#organization\",\"name\":\"Jusfy Developers\",\"url\":\"https://docs.jusfy.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/calculator-api/BHqn0nwD8L3HXPWA/logo/light.svg?fit=max\u0026auto=format\u0026n=BHqn0nwD8L3HXPWA\u0026q=85\u0026s=6db95d80c097e93e2fbe89c54f893933\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.jusfy.com.br#website\",\"name\":\"Jusfy Developers\",\"url\":\"https://docs.jusfy.com.br\",\"publisher\":{\"@id\":\"https://docs.jusfy.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime#webpage\",\"url\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime\",\"name\":\"Calcula a progressão de regime\",\"description\":\"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em calculation_strategy (DEFAULT ou ART76). A resposta traz as datas previstas de progressão (progressions), a linha do tempo do cumprimento (timeline) e os totais de dias (pena, detração, remição e suspensão). Os campos nature_crime_id e condition_convict_id referenciam dados do backend e devem existir; caso contrário a resposta é 404.\",\"dateModified\":\"2026-11-11T14:10:33.740Z\",\"isPartOf\":{\"@id\":\"https://docs.jusfy.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Calculadoras\",\"item\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-verbas-trabalhistas\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calcula a progressão de regime\",\"item\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime#apireference\",\"headline\":\"Calcula a progressão de regime\",\"name\":\"Calcula a progressão de regime\",\"description\":\"Calcula os marcos de progressão de regime a partir das condenações, do regime inicial e dos eventos que alteram o prazo (remições, detrações, faltas graves e suspensões), aplicando a estratégia escolhida em calculation_strategy (DEFAULT ou ART76). A resposta traz as datas previstas de progressão (progressions), a linha do tempo do cumprimento (timeline) e os totais de dias (pena, detração, remição e suspensão). Os campos nature_crime_id e condition_convict_id referenciam dados do backend e devem existir; caso contrário a resposta é 404.\",\"url\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime\",\"mainEntityOfPage\":{\"@id\":\"https://docs.jusfy.com.br/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime#webpage\"},\"dateModified\":\"2026-11-11T14:10:33.740Z\",\"publisher\":{\"@id\":\"https://docs.jusfy.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.jusfy.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Jusfy Developers\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Jusfy Developers\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/legado/referencia/calculadoras/calcula-a-progress%C3%A3o-de-regime.md","siteName":"Jusfy Developers","nav":{"global":null,"languages":[{"language":"pt-BR","default":true,"versions":[{"version":"v1","default":true,"pages":[{"title":"v1","href":"/referencia/calculadoras/calcula-a-progressão-de-regime"}]},{"version":"Legado","tabs":[{"tab":"Referência","groups":[{"group":"Legado","pages":[{"title":"Referência do legado","href":"/legado/visao-geral"}]},{"group":"Calculadoras","pages":[{"title":"Calcula verbas trabalhistas","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/trabalhista","href":"/legado/referencia/calculadoras/calcula-verbas-trabalhistas"},{"title":"Calcula correção de valores (completa)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/completa","href":"/legado/referencia/calculadoras/calcula-correção-de-valores-completa"},{"title":"Calcula correção de valores (simples)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/correction_simple","href":"/legado/referencia/calculadoras/calcula-correção-de-valores-simples"},{"title":"Calcula a partilha de bens no divórcio","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/divorcio","href":"/legado/referencia/calculadoras/calcula-a-partilha-de-bens-no-divórcio"},{"title":"Calcula a restituição de INSS","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/inss","href":"/legado/referencia/calculadoras/calcula-a-restituição-de-inss"},{"title":"Calcula o plano de pagamento no superendividamento","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/superendividamento","href":"/legado/referencia/calculadoras/calcula-o-plano-de-pagamento-no-superendividamento"},{"title":"Calcula a restituição de PASEP","description":"Calcula a restituição do PASEP corrigindo o valor da conta ano a ano por índice (TJLP, RAC, juros) a partir do valor inicial e dos lançamentos de crédito/débito. Informe o valor inicial (`initial_amount`), a moeda/posição desse valor (`initial_amount_date`: `1989` Cruzados ou `1999` Reais) e os lançamentos (`debit_credit_values`). A resposta traz o breakdown por período em `calculations` e o total a restituir em `amountRefund`.\n\nLançamentos **sem** `type` são aceitos, mas ignorados no cálculo.","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/pasep","href":"/legado/referencia/calculadoras/calcula-a-restituição-de-pasep"},{"title":"Calcula a progressão de regime","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/progressao-regime","href":"/legado/referencia/calculadoras/calcula-a-progressão-de-regime"},{"title":"Calcula a correção de aluguel em atraso","description":"Corrige as parcelas em atraso de um contrato de locação: aplica índices de correção monetária e juros por período (incluindo a Taxa Legal da Lei 14.905/2024 via `name: \"Taxa legal\"` e juros de poupança via `apply_index: true`), soma multa e honorários e devolve o cronograma detalhado por parcela.\n\n`installments` precisa de **pelo menos um** item. Pagamentos são marcados via `paid: true` (parcela quitada) ou `paid: \"P\"` com valores em `partial_payments` (pagamentos parciais).","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/aluguel","href":"/legado/referencia/calculadoras/calcula-a-correção-de-aluguel-em-atraso"},{"title":"Calcula a correção de FGTS (teses JAM e Depósito)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/fgts","href":"/legado/referencia/calculadoras/calcula-a-correção-de-fgts-teses-jam-e-depósito"},{"title":"Calcula a dosimetria da pena","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/dosimetria","href":"/legado/referencia/calculadoras/calcula-a-dosimetria-da-pena"},{"title":"Calcula a correção de pensão alimentícia em atraso","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/pensao-alimenticia","href":"/legado/referencia/calculadoras/calcula-a-correção-de-pensão-alimentícia-em-atraso"},{"title":"Calcula a revisão de contrato (revisional)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/revisional","href":"/legado/referencia/calculadoras/calcula-a-revisão-de-contrato-revisional"},{"title":"Calcula a revisão de RMC/RCC (cartão consignado)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/rmc","href":"/legado/referencia/calculadoras/calcula-a-revisão-de-rmcrcc-cartão-consignado"},{"title":"Calcula a restituição/planejamento previdenciário acima do teto","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/calculadoras/previdenciaria-acima-teto","href":"/legado/referencia/calculadoras/calcula-a-restituiçãoplanejamento-previdenciário-acima-do-teto"},{"title":"Lista os índices de correção","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/calculadoras/indices-correcao","href":"/legado/referencia/calculadoras/lista-os-índices-de-correção"}]},{"group":"Consultas","pages":[{"title":"Consulta débitos de um veículo","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/debitos-veiculares","href":"/legado/referencia/consultas/consulta-débitos-de-um-veículo"},{"title":"Consulta dados da CNH","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/cnh","href":"/legado/referencia/consultas/consulta-dados-da-cnh"},{"title":"Consulta dados de um veículo pela placa","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/placa","href":"/legado/referencia/consultas/consulta-dados-de-um-veículo-pela-placa"},{"title":"Consulta o licenciamento de um veículo pela placa","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/placa-crlv","href":"/legado/referencia/consultas/consulta-o-licenciamento-de-um-veículo-pela-placa"},{"title":"Consulta dados pessoais pelo CPF","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/dados-pessoais","href":"/legado/referencia/consultas/consulta-dados-pessoais-pelo-cpf"},{"title":"Consulta dados profissionais","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/dados-profissionais","href":"/legado/referencia/consultas/consulta-dados-profissionais"},{"title":"Consulta imóveis financiados","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/imoveis-financiados","href":"/legado/referencia/consultas/consulta-imóveis-financiados"},{"title":"Consulta sociedades (participação em empresas)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/sociedades","href":"/legado/referencia/consultas/consulta-sociedades-participação-em-empresas"},{"title":"Consulta imóveis rurais","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/imoveis-rurais","href":"/legado/referencia/consultas/consulta-imóveis-rurais"},{"title":"Consulta marcas e patentes","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/marcas-e-patentes","href":"/legado/referencia/consultas/consulta-marcas-e-patentes"},{"title":"Consulta grupo econômico","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/grupo-economico","href":"/legado/referencia/consultas/consulta-grupo-econômico"},{"title":"Consulta os veículos de um proprietário","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/veiculos-por-proprietario","href":"/legado/referencia/consultas/consulta-os-veículos-de-um-proprietário"},{"title":"Consulta restrição de crédito","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/restricao-de-credito","href":"/legado/referencia/consultas/consulta-restrição-de-crédito"},{"title":"Consulta dados cadastrais de uma empresa","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/dados-empresa","href":"/legado/referencia/consultas/consulta-dados-cadastrais-de-uma-empresa"},{"title":"Consulta situação cadastral do CPF","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/situacao-cadastral-cpf","href":"/legado/referencia/consultas/consulta-situação-cadastral-do-cpf"},{"title":"Consulta a árvore de relacionamentos","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/relacionamentos","href":"/legado/referencia/consultas/consulta-a-árvore-de-relacionamentos"},{"title":"Consulta de telefone","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/telefone","href":"/legado/referencia/consultas/consulta-de-telefone"},{"title":"Localização por nome","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/localizacao-por-nome","href":"/legado/referencia/consultas/localização-por-nome"},{"title":"Dispara o rastreamento de um veículo (assíncrona)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/rastreamento-veicular","href":"/legado/referencia/consultas/dispara-o-rastreamento-de-um-veículo-assíncrona"},{"title":"Consulta o protocolo de um rastreamento veicular","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/consultas/rastreamento-veicular/{id}","href":"/legado/referencia/consultas/consulta-o-protocolo-de-um-rastreamento-veicular"},{"title":"Dispara a busca de processos de um CPF ou CNPJ (assíncrona)","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/consultas/buscador-processual","href":"/legado/referencia/consultas/dispara-a-busca-de-processos-de-um-cpf-ou-cnpj-assíncrona"},{"title":"Consulta o protocolo de uma busca de processos","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/consultas/buscador-processual/{id}","href":"/legado/referencia/consultas/consulta-o-protocolo-de-uma-busca-de-processos"},{"title":"Lista os processos de uma consulta concluída (paginado)","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/consultas/buscador-processual/{id}/processos","href":"/legado/referencia/consultas/lista-os-processos-de-uma-consulta-concluída-paginado"}]},{"group":"JusScore","pages":[{"title":"Inicia uma consulta do JusScore","deprecated":null,"version":null,"openapi":"/openapi/legado.json post /api/jus-score","href":"/legado/referencia/jusscore/inicia-uma-consulta-do-jusscore"},{"title":"Consulta o andamento ou o resultado do JusScore","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/jus-score/{id_consulta}","href":"/legado/referencia/jusscore/consulta-o-andamento-ou-o-resultado-do-jusscore"}]},{"group":"Health","pages":[{"title":"Verifica a saúde da API","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/health","href":"/legado/referencia/health/verifica-a-saúde-da-api"},{"title":"Verifica se a API está pronta para receber tráfego","deprecated":null,"version":null,"openapi":"/openapi/legado.json get /api/health/ready","href":"/legado/referencia/health/verifica-se-a-api-está-pronta-para-receber-tráfego"}]}]}]}]}]},"basePath":"","title":"Calcula a progressão de regime - Jusfy Developers","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}