Skip to main content

List reimbursements

applicant_id
number
Filter by applicant identifier. Accepts a comma-separated list of values (e.g. applicant_id=12345,67890).
cnpj_cpf
string
Filter by supplier CNPJ or CPF. Accepts formatted (e.g. 11.111.111/1111-11) or digits-only (11111111111111) values.
document_id
number
Filter by reimbursement document number. Accepts a comma-separated list of values.
issue_date_start
string
Filter reimbursements issued on or after this date (inclusive). Format: YYYY-MM-DD.
issue_date_end
string
Filter reimbursements issued before this date (exclusive). Format: YYYY-MM-DD.
month
number
Filter by month number (1–12).
year
number
Filter by year (e.g. 2016).
state
string
Filter by Brazilian state abbreviation (e.g. SP, RJ).
subquota_number
number
Filter by subquota ID. Use the subquotas endpoint to look up valid IDs.
suspicions
boolean
Filter by whether Rosie flagged this reimbursement as suspicious. Pass 1 for true, 0 for false.
receipt_url
boolean
Filter by whether a digitalized receipt URL is available. Pass 1 for true, 0 for false.
in_latest_dataset
boolean
Filter to only reimbursements present in the most recently loaded dataset. Pass 1 for true, 0 for false.
Full-text search across multiple fields: congressperson_name, supplier, cnpj_cpf, party, state, receipt_text, passenger, leg_of_the_trip, subquota_description, subquota_group_description.
order_by
string
default:"issue_date"
Sort order for results. Accepted values:
  • issue_date — sort by issue date, descending (default)
  • probability — sort by Rosie’s suspicion probability, descending

Response

The response is paginated. Each page contains a count, optional next and previous cursor URLs, and a results array.
count
number
required
Total number of reimbursements matching the query.
next
string
URL of the next page of results, or null if this is the last page.
previous
string
URL of the previous page of results, or null if this is the first page.
results
object[]
required
Array of reimbursement objects.

Examples

curl "https://jarbas.serenata.ai/api/chamber_of_deputies/reimbursement/?year=2016&cnpj_cpf=11111111111111"
Example response
{
  "count": 1842,
  "next": "https://jarbas.serenata.ai/api/chamber_of_deputies/reimbursement/?page=2&year=2016",
  "previous": null,
  "results": [
    {
      "document_id": 6358362,
      "year": 2016,
      "applicant_id": 2087,
      "congressperson_id": 73701,
      "congressperson_name": "ABEL MESQUITA JR.",
      "congressperson_document": 4036,
      "term": 55,
      "term_id": 55,
      "party": "DEM",
      "state": "RR",
      "subquota_number": 3,
      "subquota_description": "Fuels and lubricants",
      "subquota_group_id": null,
      "subquota_group_description": null,
      "supplier": "POSTO IPIRANGA",
      "cnpj_cpf": "11111111000191",
      "document_type": 0,
      "document_number": "123456",
      "document_value": 200.0,
      "issue_date": "2016-03-15",
      "month": 3,
      "remark_value": 0.0,
      "total_value": 200.0,
      "total_net_value": 200.0,
      "installment": null,
      "batch_number": 1234567,
      "passenger": null,
      "leg_of_the_trip": null,
      "all_numbers": [6358362],
      "probability": 0.95123,
      "suspicions": { "meal_price_outlier": true },
      "receipt": {
        "fetched": true,
        "url": "http://www.camara.gov.br/cota-parlamentar/documentos/publ/2087/2016/6358362.pdf"
      },
      "rosies_tweet": "https://twitter.com/RosieDaSerenata/status/123456789",
      "last_update": "2017-09-01T12:00:00Z"
    }
  ]
}

Get reimbursement detail

GET /api/chamber_of_deputies/reimbursement/{document_id}/ Returns full details for a single reimbursement identified by its document_id.
If the receipt URL has not been fetched yet, this endpoint will not attempt to retrieve it automatically. Use the receipt endpoint to trigger a fetch.
document_id
number
required
The public document number of the reimbursement.

Example

curl "https://jarbas.serenata.ai/api/chamber_of_deputies/reimbursement/6358362/"
The response is a single reimbursement object with the same fields as each item in the list endpoint’s results array.

Get receipt URL

GET /api/chamber_of_deputies/reimbursement/{document_id}/receipt/ Returns the URL of the digitalized receipt for a reimbursement. If the receipt URL has not been fetched yet, the server will attempt to retrieve it automatically.
Not all receipts are digitally available. The url field may be null even after a fetch attempt.
document_id
number
required
The public document number of the reimbursement.
force
string
Pass force=1 to force the server to re-fetch the receipt URL even if one was already retrieved previously.
url
string
The receipt URL, or null if no receipt is available.

Examples

Fetch receipt URL
curl "https://jarbas.serenata.ai/api/chamber_of_deputies/reimbursement/6358362/receipt/"
Force re-fetch
curl "https://jarbas.serenata.ai/api/chamber_of_deputies/reimbursement/6358362/receipt/?force=1"
Example response
{
  "url": "http://www.camara.gov.br/cota-parlamentar/documentos/publ/2087/2016/6358362.pdf"
}

Same-day reimbursements

GET /api/chamber_of_deputies/reimbursement/{document_id}/same_day/ Returns all reimbursements whose expense date matches the issue date of the given document_id. Useful for identifying cases where a congressperson made multiple purchases on the same day.
document_id
number
required
The public document number of the reference reimbursement.
count
number
required
Total number of same-day reimbursements found.
next
string
Pagination cursor URL, or null.
previous
string
Pagination cursor URL, or null.
results
object[]
required
Array of same-day reimbursement summary objects.

Example

curl "https://jarbas.serenata.ai/api/chamber_of_deputies/reimbursement/6358362/same_day/"
Example response
{
  "count": 3,
  "next": null,
  "previous": null,
  "results": [
    {
      "document_id": 6358363,
      "year": 2016,
      "applicant_id": 2087,
      "subquota_number": 3,
      "subquota_description": "Fuels and lubricants",
      "supplier": "POSTO IPIRANGA",
      "total_net_value": 150.0,
      "city": "Brasília, DF"
    }
  ]
}

Build docs developers (and LLMs) love