Skip to content
Constaia
payslip

Payslip

Payslip from any country: employer, employee, period, gross pay, deductions and net pay.

Category
Employment
Country
International
Extracted fields
12 fields
Cost
1 credit
payslipspecimen
Employer name
Employer tax id
Employee name
Employee id
Social security number
Period start
Period end
Pay date
Gross pay

What it checks

  • Holder. Name, number or date of birth match what you expect.
  • Recency. Issued less than N days ago.

Extracted fields

  • Employer nameemployer_name
  • Employer tax idemployer_tax_id
  • Employee nameemployee_name
  • Employee idemployee_id
  • Social security numbersocial_security_number
  • Period startperiod_start
  • Period endperiod_end
  • Pay datepay_date
  • Gross paygross_pay
  • Total deductionstotal_deductions
  • Net paynet_pay
  • Currencycurrency

Sample request

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@document.pdf" \
  -F 'options={
    "expect": "payslip",
    "checks": {
      "max_age_days": 90,
      "holder": {
        "full_name": "Carmen Especimen Ruiz"
      }
    },
    "storage": "none"
  }'

Sample response

Fictitious data. Shortened response.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "payslip",
    "label": "Payslip",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "payslip"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: Payslip."
      }
    ]
  },
  "fields": {
    "employer_name": {
      "value": "ESPECIMEN",
      "confidence": 0.99,
      "validated": true
    },
    "employer_tax_id": {
      "value": "ESPECIMEN",
      "confidence": 0.98,
      "validated": null
    },
    "employee_name": {
      "value": "ESPECIMEN",
      "confidence": 0.97,
      "validated": null
    },
    "employee_id": {
      "value": "ESPECIMEN",
      "confidence": 0.96,
      "validated": null
    },
    "social_security_number": {
      "value": "ESPECIMEN",
      "confidence": 0.99,
      "validated": null
    },
    "period_start": {
      "value": "2026-09-01",
      "confidence": 0.98,
      "validated": null
    },
    "period_end": {
      "value": "2026-09-01",
      "confidence": 0.97,
      "validated": null
    },
    "pay_date": {
      "value": "2026-09-01",
      "confidence": 0.96,
      "validated": null
    },
    "gross_pay": {
      "value": 100,
      "confidence": 0.99,
      "validated": null
    },
    "total_deductions": {
      "value": 100,
      "confidence": 0.98,
      "validated": null
    },
    "net_pay": {
      "value": 100,
      "confidence": 0.97,
      "validated": null
    },
    "currency": {
      "value": "ESPECIMEN",
      "confidence": 0.96,
      "validated": null
    }
  },
  "checks": [],
  "warnings": [],
  "storage": {
    "mode": "none",
    "file_deleted_at": "2026-09-29T10:00:02Z",
    "expires_at": null
  },
  "usage": {
    "credits": 1,
    "pages": 1
  }
}

FAQ

Does Constaia prove the document is authentic?

No. It checks the type, data consistency and your rules, and flags signals such as a possible edit or a screen photo. That does not prove authenticity.

Is a copy of the document kept?

No, unless you ask for it. With storage "none" (the default) the file is deleted when the analysis ends.

Other documents

And for the record…

Create your account, copy the test key and validate your first document in five minutes.