Puzzle Metrics API

The Metrics API from Puzzle — 5 operation(s) for metrics.

Operations 6

GET /company/{id}/metrics/expenses Get Expense Metrics #
GET /company/{id}/metrics/categorization Get Categorization Metrics #
GET /company/{id}/metrics/revenue Get Revenue Metrics #
GET /company/{id}/metrics/employee Get Employee Metrics #
GET /company/{id}/metrics/spending Get Spending Metrics #
GET /rest/v0/company/{id}/metrics Get financial metrics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/puzzle-metrics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

puzzle-metrics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Puzzle Metrics API
  version: '1.0'
  description: 'Operations tagged Metrics across 2 of this provider''s published API definitions: puzzle-openapi-original.json, puzzle-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://staging.southparkdata.com/rest/v0
- url: https://staging.southparkdata.com
  description: Documented Puzzle API server (Puzzle's underlying data platform is named South Park Data). Confirmed from the public API reference.
tags:
- name: Metrics
paths:
  /company/{id}/metrics/expenses:
    get:
      operationId: expenseMetrics
      summary: Get Expense Metrics
      description: 'Retrieves a summary of a company''s expenses for a given time span, broken into chunks as specified in the ''interval'' param


        Currently only the ''month'' interval is supported, but will soon support ''quarter'' and ''year''.


        The array of metrics will be returned in ascending order from earliest time interval to latest.


        Required scope: read:company'
      tags:
      - Metrics
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: endDateExclusive
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - month
          description: The value is normalized before matching, so any casing that maps onto a listed value is accepted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        totalExpenses:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        totalOperatingExpenses:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        timePeriod:
                          type: object
                          properties:
                            startDate:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                            endDateExclusive:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                          required:
                          - startDate
                          - endDateExclusive
                      required:
                      - totalExpenses
                      - totalOperatingExpenses
                      - timePeriod
                required:
                - metrics
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /company/{id}/metrics/categorization:
    get:
      operationId: categorizationMetrics
      summary: Get Categorization Metrics
      description: 'Retrieves categorization metrics for the company.


        Required scope: read:company'
      tags:
      - Metrics
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: endDateExclusive
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - month
          description: The value is normalized before matching, so any casing that maps onto a listed value is accepted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        timePeriod:
                          type: object
                          properties:
                            startDate:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                            endDateExclusive:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                          required:
                          - startDate
                          - endDateExclusive
                        dataCompletenessLevel:
                          type: string
                          enum:
                          - Complete
                          - High
                          - Medium
                          - Low
                        percentDollarVolumeCategorized:
                          type: number
                      required:
                      - timePeriod
                      - dataCompletenessLevel
                      - percentDollarVolumeCategorized
                required:
                - metrics
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /company/{id}/metrics/revenue:
    get:
      operationId: revenueMetrics
      summary: Get Revenue Metrics
      description: 'Retrieves a summary of a company''s revenue for a given time span, broken into chunks as specified in the ''interval'' param. We will soon support additional revenue metrics such as ARR and accrual-based ARR.


        Currently only the ''month'' interval is supported, but will soon support ''quarter'' and ''year''.


        The array of metrics will be returned in ascending order from earliest time interval to latest.


        Required scope: read:company'
      tags:
      - Metrics
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: endDateExclusive
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - month
          description: The value is normalized before matching, so any casing that maps onto a listed value is accepted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        timePeriod:
                          type: object
                          properties:
                            startDate:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                            endDateExclusive:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                          required:
                          - startDate
                          - endDateExclusive
                        annualizedRevenue:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        totalRevenue:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        totalCostOfRevenue:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        totalGrossProfit:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                      required:
                      - timePeriod
                      - annualizedRevenue
                      - totalRevenue
                      - totalCostOfRevenue
                      - totalGrossProfit
                required:
                - metrics
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /company/{id}/metrics/employee:
    get:
      operationId: employeeMetrics
      summary: Get Employee Metrics
      description: 'Retrieves a summary of a company''s employees for a given time span, broken into chunks as specified in the ''interval'' param. The metrics are currently across all departments. We will support filtering by department in the near future.


        Currently only the ''month'' interval is supported, but will soon support ''quarter'' and ''year''.


        The array of metrics will be returned in ascending order from earliest time interval to latest.


        Required scope: read:company'
      tags:
      - Metrics
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: endDateExclusive
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - month
          description: The value is normalized before matching, so any casing that maps onto a listed value is accepted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        averageFullyLoadedSalaryCostPerEmployee:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        averageSalaryCostPerEmployee:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        totalSalaryExpense:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        totalFullyLoadedSalaryExpense:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        timePeriod:
                          type: object
                          properties:
                            startDate:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                            endDateExclusive:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                          required:
                          - startDate
                          - endDateExclusive
                      required:
                      - averageFullyLoadedSalaryCostPerEmployee
                      - averageSalaryCostPerEmployee
                      - totalSalaryExpense
                      - totalFullyLoadedSalaryExpense
                      - timePeriod
                required:
                - metrics
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /company/{id}/metrics/spending:
    get:
      operationId: spendingMetrics
      summary: Get Spending Metrics
      description: 'Retrieves payroll and non-payroll spending metrics for the given period range. Provide startPeriod and endPeriod in YYYY-MM format.


        Required scope: read:company'
      tags:
      - Metrics
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: endDateExclusive
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - month
          description: The value is normalized before matching, so any casing that maps onto a listed value is accepted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  startPeriod:
                    type: string
                  endPeriod:
                    type: string
                  payrollMetrics:
                    type: array
                    items:
                      type: object
                      properties:
                        period:
                          type: string
                        payrollSpending:
                          type: object
                          properties:
                            departments:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                  amount:
                                    type: object
                                    properties:
                                      amount:
                                        type: string
                                        minLength: 1
                                        description: Arbitrary-precision decimal, serialized as a string
                                      currency:
                                        type: string
                                        minLength: 3
                                        maxLength: 3
                                        description: ISO 4217 currency code
                                    required:
                                    - amount
                                    - currency
                                    description: A monetary amount with its currency
                                  headCount:
                                    type: integer
                                required:
                                - name
                                - amount
                                - headCount
                            numericSummary:
                              type:
                              - object
                              - 'null'
                              properties:
                                netPay:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                      minLength: 1
                                      description: Arbitrary-precision decimal, serialized as a string
                                    currency:
                                      type: string
                                      minLength: 3
                                      maxLength: 3
                                      description: ISO 4217 currency code
                                  required:
                                  - amount
                                  - currency
                                  description: A monetary amount with its currency
                                employerTaxes:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                      minLength: 1
                                      description: Arbitrary-precision decimal, serialized as a string
                                    currency:
                                      type: string
                                      minLength: 3
                                      maxLength: 3
                                      description: ISO 4217 currency code
                                  required:
                                  - amount
                                  - currency
                                  description: A monetary amount with its currency
                                employeeTaxes:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                      minLength: 1
                                      description: Arbitrary-precision decimal, serialized as a string
                                    currency:
                                      type: string
                                      minLength: 3
                                      maxLength: 3
                                      description: ISO 4217 currency code
                                  required:
                                  - amount
                                  - currency
                                  description: A monetary amount with its currency
                                benefits:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                      minLength: 1
                                      description: Arbitrary-precision decimal, serialized as a string
                                    currency:
                                      type: string
                                      minLength: 3
                                      maxLength: 3
                                      description: ISO 4217 currency code
                                  required:
                                  - amount
                                  - currency
                                  description: A monetary amount with its currency
                                employeeBenefitsDeductions:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                      minLength: 1
                                      description: Arbitrary-precision decimal, serialized as a string
                                    currency:
                                      type: string
                                      minLength: 3
                                      maxLength: 3
                                      description: ISO 4217 currency code
                                  required:
                                  - amount
                                  - currency
                                  description: A monetary amount with its currency
                                contractorNetPay:
                                  type: object
                                  properties:
                                    amount:
                                      type: string
                                      minLength: 1
                                      description: Arbitrary-precision decimal, serialized as a string
                                    currency:
                                      type: string
                                      minLength: 3
                                      maxLength: 3
                                      description: ISO 4217 currency code
                                  required:
                                  - amount
                                  - currency
                                  description: A monetary amount with its currency
                              required:
                              - netPay
                              - employerTaxes
                              - employeeTaxes
                              - benefits
                              - employeeBenefitsDeductions
                              - contractorNetPay
                          required:
                          - departments
                          - numericSummary
                      required:
                      - period
                      - payrollSpending
                  nonPayrollMetrics:
                    type: array
                    items:
                      type: object
                      properties:
                        period:
                          type: string
                        nonPayrollSpending:
                          type: object
                          properties:
                            topVendors:
                              type: array
                              items:
                                type: object
                                properties:
                                  vendor:
                                    type:
                                    - object
                                    - 'null'
                                    properties:
                                      id:
                                        type: string
                                        minLength: 1
                                        description: Partner-facing external identifier
                                      name:
                                        type: string
                                      is1099Vendor:
                                        type: string
                                        enum:
                                        - 'Yes'
                                        - 'No'
                                        - Unknown
                                    required:
                                    - id
                                    - name
                                    - is1099Vendor
                                  amount:
                                    type: object
                                    properties:
                                      amount:
                                        type: string
                                        minLength: 1
                                        description: Arbitrary-precision decimal, serialized as a string
                                      currency:
                                        type: string
                                        minLength: 3
                                        maxLength: 3
                                        description: ISO 4217 currency code
                                    required:
                                    - amount
                                    - currency
                                    description: A monetary amount with its currency
                                  count:
                                    type: integer
                                required:
                                - vendor
                                - amount
                                - count
                            topCategories:
                              type: array
                              items:
                                type: object
                                properties:
                                  ledgerCoaKey:
                                    type: string
                                  amount:
                                    type: object
                                    properties:
                                      amount:
                                        type: string
                                        minLength: 1
                                        description: Arbitrary-precision decimal, serialized as a string
                                      currency:
                                        type: string
                                        minLength: 3
                                        maxLength: 3
                                        description: ISO 4217 currency code
                                    required:
                                    - amount
                                    - currency
                                    description: A monetary amount with its currency
                                  count:
                                    type: integer
                                required:
                                - ledgerCoaKey
                                - amount
                                - count
                            allOtherVendors:
                              type: object
                              properties:
                                amount:
                                  type: string
                                  minLength: 1
                                  description: Arbitrary-precision decimal, serialized as a string
      

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/puzzle/refs/heads/main/openapi/puzzle-metrics-api-openapi.yml