{"openapi":"3.0.0","info":{"title":"Jurisconsulto Jurisprudence API","description":"Brazilian case-law REST API: semantic search across more than 42 million decisions from the STF, STJ, TST, TNU, CARF, state courts of justice, federal regional courts and regional labor courts, with JSON responses.\n\nEach search takes a natural-language query, with no boolean operators, and returns case law, binding precedents and related legislation in the same response. Each decision comes with the court, case number, judging body, rapporteur, judgment date, headnote (ementa), quoted excerpt, relevance score and a link to the full text on the court website.\n\nThe API is used as the retrieval step (RAG) in legal assistants, as case-law search inside legal software and for surveys by court, period, judging body and rapporteur. Access is arranged with the Jurisconsulto team: https://www.jurisconsulto.com.br/api.html\n\nRecommended flow:\n1. Use `POST /auth/login` to obtain an `accessToken` and a `refreshToken`.\n\n2. Send `Authorization: Bearer <accessToken>` to protected endpoints.\n\n3. Use `POST /auth/refresh` with the `refreshToken` to renew the session.\n\n4. Use `POST /jurisearch/search` to run legal searches.","version":"1.0","termsOfService":"https://www.jurisconsulto.com.br/termos-de-uso.html","contact":{"name":"Jurisconsulto","url":"https://www.jurisconsulto.com.br/api.html","email":"suporte@jurisconsulto.com.br"}},"externalDocs":{"description":"Jurisprudence API overview, code samples and how to get access","url":"https://www.jurisconsulto.com.br/api.html"},"tags":[{"name":"Authentication","description":"Login with the integration user email and password, and session renewal with the refresh token."},{"name":"Legal Search","description":"Semantic search for case law, binding precedents and legislation, plus the catalogs of courts, judging bodies and rapporteurs accepted as filters."},{"name":"API Usage","description":"Current plan, limits and search history of the integration account."}],"security":[{"access-token":[]}],"paths":{"/auth/login":{"post":{"tags":["Authentication"],"summary":"Authenticate user","description":"Authenticates a user with an **email** and **password**.\n\nReturns an **accessToken**, a **refreshToken**, and a summary of the authenticated user.\n\nThe backend also validates the **email** domain during login.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogInRequest"}}}},"responses":{"200":{"description":"Authentication completed successfully and tokens issued for use with the REST API.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthTokens"}}}},"400":{"description":"Missing **email** or **password**, or an invalid value type."},"401":{"description":"Invalid credentials or the user is not authorized to authenticate with the provided account or domain."}}}},"/auth/refresh":{"post":{"tags":["Authentication"],"summary":"Renew REST session","description":"Renews the REST session using the **refreshToken** sent in the **Authorization** header.\n\nReturns a new **accessToken**, a new **refreshToken**, and the authenticated user summary.","security":[{"refresh-token":[]}],"responses":{"200":{"description":"Tokens renewed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthTokens"}}}},"400":{"description":"The **refreshToken** payload is missing required fields."},"401":{"description":"The **Authorization** header is missing or invalid, or the **refreshToken** is no longer valid."}}}},"/tribunais":{"get":{"tags":["Legal Search"],"summary":"List available courts for filtering","description":"Returns the production-ready court codes that can be sent in `filtros.tribunais` when calling `POST /jurisearch/search`.","responses":{"200":{"description":"Available courts returned successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TribunaisResponse"}}}},"401":{"description":"The Authorization header is missing or the accessToken is invalid."},"403":{"description":"The authenticated user does not have an active subscription or access to the REST API."}}}},"/orgaos-julgadores":{"get":{"tags":["Legal Search"],"summary":"List a court's adjudicating bodies","description":"Returns the adjudicating bodies catalogued for the given court, spelled exactly as accepted in `filtros.orgaosJulgadores` when calling `POST /jurisearch/search`.","parameters":[{"name":"tribunal","in":"query","required":true,"description":"Court code, one of those returned by `GET /tribunais`.","schema":{"type":"string","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"],"example":"STJ"}}],"responses":{"200":{"description":"Adjudicating bodies returned successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgaosJulgadoresResponse"}}}},"400":{"description":"The `tribunal` parameter is missing, repeated, invalid or unavailable in the API."},"401":{"description":"The Authorization header is missing or the accessToken is invalid."},"403":{"description":"The authenticated user does not have an active subscription or access to the REST API."},"429":{"description":"The request limit for this endpoint has been exceeded. Try again shortly."}}}},"/relatores":{"get":{"tags":["Legal Search"],"summary":"List a court's reporting judges","description":"Returns the reporting judges catalogued for the given court, spelled exactly as accepted in `filtros.relatores` when calling `POST /jurisearch/search`. Send `consulta` to narrow the list to the names that contain the given text, ignoring accents, case and punctuation.","parameters":[{"name":"tribunal","in":"query","required":true,"description":"Court code, one of those returned by `GET /tribunais`.","schema":{"type":"string","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"],"example":"STJ"}},{"name":"consulta","in":"query","description":"Optional excerpt of the reporting judge's name. When omitted or empty, the court's full list is returned.","schema":{"type":"string","example":"nancy"}}],"responses":{"200":{"description":"Reporting judges returned successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelatoresResponse"}}}},"400":{"description":"The `tribunal` parameter is missing, repeated, invalid or unavailable in the API, or `consulta` is repeated."},"401":{"description":"The Authorization header is missing or the accessToken is invalid."},"403":{"description":"The authenticated user does not have an active subscription or access to the REST API."},"429":{"description":"The request limit for this endpoint has been exceeded. Try again shortly."}}}},"/jurisearch/search":{"post":{"tags":["Legal Search"],"summary":"Search case law, precedents, and legislation","description":"Runs the main REST search flow.\n\nRequires an `accessToken` in the `Authorization` header.\nMinimum accepted body:\n```json\n{\n  \"consulta\": \"texto da busca\"\n}\n```\n\nOptional court and date-range filters can be provided.\n\nTo limit or paginate case-law results, send `paginacao` with `pagina`, `resultadosPorPagina`, and/or `maxResultados` (all between 1 and 100). The limit of 100 reflects the current pipeline capacity for final results; the search continues evaluating the internal candidate pool to preserve relevance.\n\nPagination example:\n```json\n{\n  \"consulta\": \"responsabilidade civil por erro médico\",\n  \"paginacao\": {\n    \"pagina\": 2,\n    \"resultadosPorPagina\": 10,\n    \"maxResultados\": 50\n  }\n}\n```\n\n**Position split:** when the query asks for decisions on one side of a legal issue, the search identifies the thesis at stake and classifies each case-law result by its headnote, in `posicao`:\n\n- `FAVORAVEL`: the decision upholds the thesis;\n- `DESFAVORAVEL`: the decision rejects the thesis;\n- `SEM_POSICAO_CLARA`: the headnote does not make the position clear.\n\nThe thesis follows the direction in which the issue is usually brought to court. In \"julgados favoráveis ao dano moral por atraso de voo\" (decisions in favor of moral damages for flight delays), the thesis is \"flight delays give rise to moral damages\" and `posicaoProcurada` is `FAVORAVEL`. In \"precedentes que negam dano moral por atraso de voo\" (precedents that deny moral damages for flight delays), the thesis is the same and `posicaoProcurada` is `DESFAVORAVEL`.\n\nCase-law results in the `posicaoProcurada` come first, then those with no clear position, and last those in the opposite position; within each group, results are ordered by relevance. The split considers the entire internal candidate pool before the `maxResultados` cut, so decisions in the requested position take priority in the results. It adds a few seconds to the search time.\n\nExample response for a search with a side (fields abridged):\n```json\n{\n  \"jurisprudencias\": [\n    { \"numeroProcesso\": \"REsp 1234567\", \"posicao\": \"DESFAVORAVEL\" },\n    { \"numeroProcesso\": \"AgInt no AREsp 7654321\", \"posicao\": \"SEM_POSICAO_CLARA\" },\n    { \"numeroProcesso\": \"REsp 2345678\", \"posicao\": \"FAVORAVEL\" }\n  ],\n  \"posicaoProcurada\": \"DESFAVORAVEL\"\n}\n```\n\nWhen the query does not indicate a side, or if the split cannot be performed, `posicaoProcurada` and `posicao` are `null` and the list follows relevance order only. The classification is automatic: check the decision before citing it.\n\n**Relevance score note:** `scoreRelevancia` is a precision indicator based on the user input (query).\n\n**Full-text note:** *not every document available on the platform has its full text stored or accessible at query time. As a result, the full-text link may not be returned in some cases. This is expected behavior for part of the database.*","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JurisearchRequest"}}}},"responses":{"200":{"description":"Search completed successfully. Returns only the data relevant to the client.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JurisearchResponse"}}}},"400":{"description":"Missing or invalid `consulta`, invalid filter dates, or pagination outside the allowed range."},"401":{"description":"The Authorization header is missing or the accessToken is invalid."},"403":{"description":"The authenticated user does not have an active subscription or access to the organization."},"429":{"description":"The request limit for this endpoint has been exceeded. Try again shortly."}}}},"/usage":{"get":{"tags":["API Usage"],"summary":"View API usage","description":"Returns the user, the current plan, and the paginated REST search history. When the user belongs to an active organization, it also returns the organization combined usage, broken down by credential.","parameters":[{"name":"pagina","in":"query","description":"History page. The default is 1.","schema":{"type":"integer","example":1}},{"name":"itensPorPagina","in":"query","description":"Number of items per page. The maximum is 100.","schema":{"type":"integer","example":20}},{"name":"dataInicial","in":"query","description":"Optional start of the usage interval, in ISO 8601 format.","schema":{"type":"string","format":"date-time","example":"2026-07-01T00:00:00.000Z"}},{"name":"dataFinal","in":"query","description":"Optional end of the usage interval, in ISO 8601 format.","schema":{"type":"string","format":"date-time","example":"2026-07-31T23:59:59.999Z"}}],"responses":{"200":{"description":"Usage information returned successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespostaUsoApi"}}}},"400":{"description":"Invalid pagination parameters or dates."},"401":{"description":"The Authorization header is missing or the accessToken is invalid."},"403":{"description":"The authenticated user does not have an active subscription or access to the REST API."}}}}},"components":{"securitySchemes":{"access-token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Use the accessToken returned by POST /auth/login on protected REST endpoints."},"refresh-token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Use the refreshToken returned by POST /auth/login when calling POST /auth/refresh."}},"schemas":{"LogInRequest":{"type":"object","properties":{"email":{"type":"string","description":"User email used to authenticate with the REST API.","example":"seu-email@dominio.com"},"password":{"type":"string","description":"User password.","example":"sua-senha"}},"required":["email","password"]},"AuthUser":{"type":"object","properties":{"id":{"type":"string","description":"Unique user identifier.","example":"user-id"},"email":{"type":"string","description":"Authenticated user email.","example":"seu-email@dominio.com"}},"required":["id","email"]},"AuthTokens":{"type":"object","properties":{"accessToken":{"type":"string","description":"JWT **accessToken** used on protected REST endpoints.","example":"eyJ..."},"refreshToken":{"type":"string","description":"JWT **refreshToken** used to renew the session.","example":"eyJ..."},"user":{"description":"Authenticated user summary.","$ref":"#/components/schemas/AuthUser"}},"required":["accessToken","refreshToken","user"]},"TribunaisResponse":{"type":"object","properties":{"tribunais":{"type":"array","description":"Court codes available for use in search filters.","items":{"type":"string","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"]},"example":["STJ","TJSP"]},"nomes":{"type":"object","description":"Map from each court code to its full name, containing exactly the same courts listed in `tribunais`.","additionalProperties":{"type":"string"},"example":{"STJ":"Superior Tribunal de Justiça","TJSP":"Tribunal de Justiça de São Paulo"}}},"required":["tribunais","nomes"]},"OrgaosJulgadoresResponse":{"type":"object","properties":{"tribunal":{"type":"string","description":"Code of the queried court.","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"],"example":"STJ"},"orgaosJulgadores":{"type":"array","description":"The court's adjudicating bodies, with the canonical values accepted in `filtros.orgaosJulgadores`.","items":{"type":"string"},"example":["Primeira Turma","Segunda Turma"]}},"required":["tribunal","orgaosJulgadores"]},"RelatoresResponse":{"type":"object","properties":{"tribunal":{"type":"string","description":"Code of the queried court.","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"],"example":"STJ"},"relatores":{"type":"array","description":"The court's reporting judges, with the exact names accepted in `filtros.relatores`.","items":{"type":"string"},"example":["Herman Benjamin","Nancy Andrighi"]}},"required":["tribunal","relatores"]},"JuriSearchFilters":{"type":"object","properties":{"tribunais":{"type":"array","description":"Optional court filter. When omitted, the backend may search the entire database or infer the courts from the query.","items":{"type":"string","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"]},"example":["STJ","TJSP"],"nullable":true},"dataInicial":{"type":"string","format":"date","description":"Optional start date for filtering decisions.","example":"2023-01-01","nullable":true},"dataFinal":{"type":"string","format":"date","description":"Optional end date for filtering decisions.","example":"2025-12-31","nullable":true},"orgaosJulgadores":{"type":"array","description":"Adjudicating-body filter (canonical values). See the accepted values at `GET /orgaos-julgadores`.","items":{"type":"string"},"example":["1ª Turma","2ª Turma"],"nullable":true},"relatores":{"type":"array","description":"Reporting-judge filter (exact names). See the accepted names at `GET /relatores`.","items":{"type":"string"},"example":["Min. Alexandre de Moraes"],"nullable":true}}},"JurisearchPaginationRequest":{"type":"object","description":"Configures the case-law result window. When omitted, the API preserves the current behavior: first page, up to 100 results.","properties":{"pagina":{"type":"integer","description":"Requested page, starting at 1.","default":1,"minimum":1,"maximum":100,"example":2},"resultadosPorPagina":{"type":"integer","description":"Maximum number of case-law results per page.","default":100,"minimum":1,"maximum":100,"example":10},"maxResultados":{"type":"integer","description":"Maximum number of case-law results considered for pagination in this search.","default":100,"minimum":1,"maximum":100,"example":50}}},"JurisearchRequest":{"type":"object","properties":{"consulta":{"type":"string","description":"Main legal query in free text.","example":"responsabilidade civil por erro medico"},"filtros":{"description":"Optional search filters.","nullable":true,"$ref":"#/components/schemas/JuriSearchFilters"},"paginacao":{"description":"Optional customization of the number and page of case-law results returned.","nullable":true,"$ref":"#/components/schemas/JurisearchPaginationRequest"}},"required":["consulta"]},"TemaRelacionado":{"type":"object","properties":{"numero":{"type":"string","description":"Topic number.","example":"1089"},"relator":{"type":"string","description":"Topic reporting judge.","example":"Min. Nancy Andrighi"},"titulo":{"type":"string","description":"Topic title.","example":"Responsabilidade civil por erro médico"},"tese":{"type":"string","description":"Thesis text, when available.","nullable":true},"processoParadigma":{"type":"string","description":"Topic leading case.","example":"REsp 123456"},"tribunalOrigem":{"type":"string","description":"Topic court of origin.","example":"STJ"},"url":{"type":"string","description":"Official topic link.","example":"https://stj.jus.br/..."}},"required":["numero","relator","titulo","processoParadigma","tribunalOrigem","url"]},"Jurisprudencia":{"type":"object","properties":{"scoreRelevancia":{"type":"number","description":"Precision indicator normalized between 0 and 1 based on the user input (query).","example":0.91,"nullable":true},"tribunal":{"type":"string","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"],"example":"STJ"},"nomeTribunal":{"type":"string","example":"Superior Tribunal de Justiça"},"dataPublicacao":{"type":"string","format":"date-time"},"numeroProcesso":{"type":"string","example":"REsp 123456"},"ementa":{"type":"string","description":"Headnote or decision summary."},"relator":{"type":"string","nullable":true},"orgaoJulgador":{"type":"string","nullable":true},"tipoDecisao":{"type":"string","nullable":true},"numeroDecisao":{"type":"string","nullable":true},"dataJulgamento":{"type":"string","format":"date-time","nullable":true},"citacao":{"type":"string","nullable":true,"description":"Case-law citation that identifies the decision in pleadings, legal opinions, and other legal documents."},"url":{"type":"string","format":"uri","nullable":true},"urlInteiroTeor":{"type":"string","format":"uri","nullable":true},"temasRelacionados":{"type":"array","items":{"$ref":"#/components/schemas/TemaRelacionado"}},"posicao":{"type":"string","enum":["FAVORAVEL","DESFAVORAVEL","SEM_POSICAO_CLARA"],"description":"Position of the decision relative to the thesis identified in the query: `FAVORAVEL` (upholds the thesis), `DESFAVORAVEL` (rejects the thesis), or `SEM_POSICAO_CLARA`. `null` when the search did not split the results by position.","example":"FAVORAVEL","nullable":true}},"required":["tribunal","nomeTribunal","dataPublicacao","numeroProcesso","ementa"]},"PrecedenteVinculante":{"type":"object","properties":{"scoreRelevancia":{"type":"number","example":0.88,"nullable":true},"titulo":{"type":"string","example":"Súmula 7/STJ"},"numero":{"type":"integer","example":7},"vinculante":{"type":"boolean","example":true},"tribunal":{"type":"string","enum":["BACEN","CARF","CSJT","CVM","RFB","STF","STJ","TJAC","TJAL","TJAM","TJBA","TJCE","TJDFT","TJES","TJGO","TJMA","TJMG","TJMS","TJMT","TJPB","TJPI","TJPR","TJRJ","TJRN","TJRR","TJRS","TJSC","TJSE","TJSP","TJTO","TNU","TRF2","TRF3","TRF4","TRF6","TRT1","TRT10","TRT11","TRT12","TRT13","TRT14","TRT15","TRT16","TRT17","TRT18","TRT19","TRT2","TRT20","TRT21","TRT22","TRT23","TRT24","TRT3","TRT4","TRT5","TRT6","TRT7","TRT8","TRT9","TST"],"example":"STJ"},"texto":{"type":"string"},"situacao":{"type":"string","enum":["Aprovada","Alterada","Cancelada"],"description":"Status of the súmula at its court. `Cancelada` only occurs for the TST, which is collected with its cancelled súmulas so the search can show they are no longer in force.","example":"Aprovada"},"precedentesRelacionados":{"type":"array","items":{"type":"string"},"example":["REsp 123456"]}},"required":["titulo","numero","vinculante","tribunal","texto","situacao","precedentesRelacionados"]},"Legislacao":{"type":"object","properties":{"scoreRelevancia":{"type":"number","example":0.77,"nullable":true},"numeroLei":{"type":"string","example":"10.406"},"tipoLei":{"type":"string","example":"Lei"},"nomeLei":{"type":"string","example":"Código Civil","nullable":true},"artigo":{"type":"string","example":"Art. 186"},"texto":{"type":"string"}},"required":["numeroLei","tipoLei","artigo","texto"]},"JurisearchPaginationResponse":{"type":"object","description":"`totalResultados` represents the results found within `maxResultados`, not a total count of the database.","properties":{"pagina":{"type":"integer","example":2},"resultadosPorPagina":{"type":"integer","example":10},"maxResultados":{"type":"integer","example":50},"totalResultados":{"type":"integer","example":47},"totalPaginas":{"type":"integer","example":5}},"required":["pagina","resultadosPorPagina","maxResultados","totalResultados","totalPaginas"]},"JurisearchResponse":{"type":"object","properties":{"jurisprudencias":{"type":"array","items":{"$ref":"#/components/schemas/Jurisprudencia"}},"precedentesVinculantes":{"type":"array","items":{"$ref":"#/components/schemas/PrecedenteVinculante"}},"legislacao":{"type":"array","items":{"$ref":"#/components/schemas/Legislacao"}},"paginacao":{"$ref":"#/components/schemas/JurisearchPaginationResponse"},"posicaoProcurada":{"type":"string","enum":["FAVORAVEL","DESFAVORAVEL"],"description":"Position requested by the query, when it indicates a side of a legal issue. Case-law results in this position come first. `null` when the search did not split the results by position.","example":"DESFAVORAVEL","nullable":true}},"required":["jurisprudencias","precedentesVinculantes","legislacao","paginacao"]},"UsuarioUsoApi":{"type":"object","properties":{"id":{"type":"string"},"nome":{"type":"string"},"email":{"type":"string"}},"required":["id","nome","email"]},"PlanoAtualUsoApi":{"type":"object","properties":{"nivel":{"type":"string","enum":["inicial","intermediário","crescimento","escala","empresarial"],"nullable":true},"nome":{"type":"string"},"limitePorMinuto":{"type":"integer"},"totalBuscasIncluidas":{"type":"integer","nullable":true},"personalizado":{"type":"boolean"},"limitePadraoPorMinuto":{"type":"integer"}},"required":["nivel","nome","limitePorMinuto","totalBuscasIncluidas","personalizado","limitePadraoPorMinuto"]},"EntradaHistoricoUsoApi":{"type":"object","properties":{"id":{"type":"string"},"consulta":{"type":"string"},"tribunais":{"type":"array","items":{"type":"string"},"nullable":true},"quantidadeResultados":{"type":"integer"},"criadoEm":{"type":"string","format":"date-time"}},"required":["id","consulta","tribunais","quantidadeResultados","criadoEm"]},"PaginacaoUsoApi":{"type":"object","properties":{"pagina":{"type":"integer"},"itensPorPagina":{"type":"integer"},"totalItens":{"type":"integer"},"totalPaginas":{"type":"integer"}},"required":["pagina","itensPorPagina","totalItens","totalPaginas"]},"ResumoBuscasUsoApi":{"type":"object","properties":{"buscasHoje":{"type":"integer"},"buscasSemana":{"type":"integer"},"buscasMes":{"type":"integer"}},"required":["buscasHoje","buscasSemana","buscasMes"]},"CredencialOrganizacaoUsoApi":{"type":"object","properties":{"usuarioId":{"type":"string"},"email":{"type":"string"},"buscasHoje":{"type":"integer"},"buscasSemana":{"type":"integer"},"buscasMes":{"type":"integer"}},"required":["usuarioId","email","buscasHoje","buscasSemana","buscasMes"]},"OrganizacaoUsoApi":{"type":"object","nullable":true,"description":"Combined usage of the credentials in the user's active organization. It is `null` when the user does not belong to an active organization.","properties":{"id":{"type":"string"},"nome":{"type":"string"},"resumo":{"$ref":"#/components/schemas/ResumoBuscasUsoApi"},"grafico":{"type":"object","properties":{"dias":{"type":"integer"},"pontos":{"type":"array","items":{"type":"object","properties":{"data":{"type":"string","format":"date"},"total":{"type":"integer"}},"required":["data","total"]}}},"required":["dias","pontos"]},"credenciais":{"type":"array","items":{"$ref":"#/components/schemas/CredencialOrganizacaoUsoApi"}}},"required":["id","nome","resumo","grafico","credenciais"]},"RespostaUsoApi":{"type":"object","properties":{"usuario":{"$ref":"#/components/schemas/UsuarioUsoApi"},"planoAtual":{"$ref":"#/components/schemas/PlanoAtualUsoApi"},"historico":{"type":"array","items":{"$ref":"#/components/schemas/EntradaHistoricoUsoApi"}},"paginacao":{"$ref":"#/components/schemas/PaginacaoUsoApi"},"organizacao":{"$ref":"#/components/schemas/OrganizacaoUsoApi"}},"required":["usuario","planoAtual","historico","paginacao","organizacao"]}}},"servers":[{"url":"https://juri.onrender.com"}]}