Syntage Expenditures Insight API
The Expenditures Insight API from Syntage — 1 operation(s) for expenditures insight.
The Expenditures Insight API from Syntage — 1 operation(s) for expenditures insight.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/syntage-expenditures-insight-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '2020-06-28'
title: Syntage Expenditures Insight API
contact:
name: Email
email: support@syntage.com
description: '# Introduction
The Syntage API is organized around REST.'
servers:
- url: https://api.syntage.com
description: Production
- url: https://api.sandbox.syntage.com
description: Sandbox
security:
- ApiKey: []
tags:
- name: Expenditures Insight
paths:
/entities/{entityId}/insights/expenditures:
get:
tags:
- Expenditures Insight
operationId: GetExpendituresInsight
summary: Get expenditures
description: Money the entity has spent over time, aggregated from received income invoices.
parameters:
- $ref: '#/components/parameters/entityId'
- name: options[from]
in: query
description: Filter by invoice issuing date (greater than)
schema:
type: string
format: date-time
- name: options[to]
in: query
description: Filter by invoice issuing date (less than)
schema:
type: string
format: date-time
- name: options[periodicity]
in: query
description: The data set is grouped by this field
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- yearly
type: string
default: monthly
- name: options[type]
in: query
description: The type of expenditure
schema:
enum:
- total
- currency
- counterparty
- invoice-type
- payment-type
type: string
default: total
responses:
'200':
description: Expenditures
content:
application/ld+json:
schema:
type: object
properties:
data:
description: Expenditure data grouped by period and dimension
type: array
items:
type: object
properties:
amount:
description: Total amount in the original currency
type: number
example: 5938.88
mxnAmount:
description: '**Deprecated.** Use `metric` instead. Amount converted to `MXN` using the exchange rate at the time the invoice was issued.
'
deprecated: true
type: number
example: 114638.76
metric:
description: Amount converted to `MXN` using the exchange rate at the time the invoice was issued.
type: number
example: 114638.76
transactions:
description: Number of invoices processed to get this record
type: integer
example: 6
date:
description: '**Deprecated.** Use `startDate` together with `options[periodicity]` to format the period.
'
deprecated: true
type: string
example: '202408'
dateLabel:
description: '**Deprecated.** Use `startDate` together with `options[periodicity]` to format the period. Human-readable label for the period.
'
deprecated: true
type: string
example: 2024/Aug
startDate:
description: The start date of the period in `YYYY-MM-DD` format.
type: string
format: date
example: '2024-08-01'
dimension:
description: 'The dimension value for the selected `options[type]` grouping.
| `options[type]` | `dimension` values |
| --- | --- |
| `total` | `"total"` |
| `currency` | ISO 4217 code — e.g. `MXN`, `USD`, `EUR` |
| `counterparty` | Issuer RFC |
| `invoice-type` | `"<CFDI type label> (<abbrev>)"` — e.g. `"Ingreso (I)"`, `"Egreso (E)"`, `"Pago (P)"`, `"Traslado (T)"`, `"Nómina (N)"`. Falls back to the raw abbreviation when no mapping exists. |
| `payment-type` | `"PUE"` or `"PPD"` |
Two sentinel values can also appear for any `options[type]`:
- `"unknown"` — the underlying value was `NULL` in the database.
- `"others"` — aggregation bucket for high-cardinality dimensions (`counterparty`) when a row''s share of the period total is below 10%.
'
type: string
example: total
label:
description: Human-readable display label. Equal to `dimension` for most types; for `counterparty` it is the counterparty name followed by the RFC in parentheses.
type: string
example: total
groupName:
description: '**Deprecated.** Use `dimension` instead. Same value as `dimension`.
'
deprecated: true
type: string
example: total
stats:
description: Data quality statistics per period, indicating how many invoices had the required fields for accurate calculation.
type: array
items:
type: object
properties:
total:
description: Total number of invoices in this period
type: integer
example: 50
hits:
description: Number of invoices with sufficient data for accurate calculation
type: integer
example: 48
date:
description: '**Deprecated.** Use `startDate` together with `options[periodicity]` to format the period.
'
deprecated: true
type: string
example: '202408'
dateLabel:
description: '**Deprecated.** Use `startDate` together with `options[periodicity]` to format the period. Human-readable label for the period.
'
deprecated: true
type: string
example: 2024/Aug
startDate:
description: The start date of the period in `YYYY-MM-DD` format
type: string
format: date
example: '2024-08-01'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
NotFound:
description: Not found
content:
application/json:
schema:
type: object
properties:
message:
type: string
parameters:
entityId:
name: entityId
in: path
required: true
example: 91106968-1abd-4d64-85c1-4e73d96fb997
schema:
type: string
format: uuid
securitySchemes:
ApiKey:
type: apiKey
in: header
name: X-API-Key
description: 'Your API key is available in the [Production](https://app.syntage.com/settings/api-keys) and [Sandbox](https://app.sandbox.syntage.com/settings/api-keys) dashboards.
'
x-readme:
explorer-enabled: true
proxy-enabled: true
samples-enabled: true