System & Quotas Reference (5 Endpoints)

Organization, Team & System Health

Programmatically query your organization’s available parsing balances, inspect automated AI proofreading quotas, resolve recruiter IDs for attribution in multi-user ATS environments, and monitor cluster liveness and readiness probes.

Understanding credit management & uptime probes

CVFormatter uses a dual-balance billing model designed for continuous enterprise integration. Automated pipelines can inspect credit balances before batch upload jobs to avoid job interruptions:

Resume Credits

Deducted upon successful resume ingestion and parsing. Unused subscription credits roll over according to your plan rules, alongside non-expiring Pay-As-You-Go (PAYG) top-ups.

Proofreading Add-on

Separate AI review credits used to identify grammatical mistakes, improve action verbs, and ensure standardized formatting across candidacies.

DevOps Health Probes

Lightweight HTTP endpoints optimized for Kubernetes, AWS ECS, and Docker container health monitoring without hitting rate limits or consuming quotas.

Quota & Team Management Endpoints

Monitor active subscription cycles, PAYG reserves, and retrieve team members for candidate attribution.

GET

/credits

credits:readHTTP 200

Credit balance (Resume & Auto-Proofread)

Returns real-time organization-wide resume credits and auto-proofread balances grouped by bucket (Starter, Monthly Subscription, and PAYG). auto_proofread.available displays unexpired credits, while can_use confirms that the add-on is active on the current subscription tier.

Note: Credit balances reflect real-time committed snapshots. Duplicate uploads (deduplicated files) do not decrement these counts.

curl --fail-with-body -X GET "$CVF_BASE_URL/credits" \
  -H "Authorization: Bearer $CVF_API_KEY"
Return Result:
{
  "organization_id": "ORGANIZATION_ID",
  "resume_credits": {
    "available": 42,
    "accounts": [
      {
        "type": "starter",
        "balance": 0,
        "available": 0,
        "expired": false,
        "period_start": null,
        "period_end": null
      },
      {
        "type": "subscription",
        "balance": 40,
        "available": 40,
        "expired": false,
        "period_start": "2026-10-10T04:00:00.000Z",
        "period_end": "2026-11-10T04:00:00.000Z"
      },
      {
        "type": "payg",
        "balance": 2,
        "available": 2,
        "expired": false,
        "period_start": null,
        "period_end": null
      }
    ]
  },
  "auto_proofread": {
    "enabled": true,
    "subscription_eligible": true,
    "can_use": true,
    "balance": 12,
    "available": 12,
    "expired": false,
    "period_start": "2026-10-01T00:00:00.000Z",
    "period_end": "2026-11-01T00:00:00.000Z"
  },
  "as_of": "2026-10-10T04:00:00.000Z",
  "request_id": "REQUEST_ID"
}
GET

/recruiters

resumes:write • org key onlyHTTP 200

Upload assignees & team directory

Returns all active owner, admin, and recruiter identities configured in your organization. Use the returned recruiter IDs when calling POST /resumes to attribute parsed candidates to specific team members.

Note: Requires an Organization Key. Calls made with individual Recruiter Keys return HTTP 403 ORGANIZATION_KEY_REQUIRED.

curl --fail-with-body -X GET "$CVF_BASE_URL/recruiters" \
  -H "Authorization: Bearer $CVF_API_KEY"
Return Result:
{
  "data": [
    {
      "id": "RECRUITER_ID",
      "name": "Example Recruiter",
      "email": "recruiter@example.com"
    }
  ]
}
GET

/me

Any valid keyHTTP 200

Token identity & assigned scopes

Inspects the calling credentials and returns the key type (organization vs. recruiter), associated tenant identity, and active permission scopes.

curl --fail-with-body -X GET "$CVF_BASE_URL/me" \
  -H "Authorization: Bearer $CVF_API_KEY"
Return Result:
{
  "organization_id": "ORGANIZATION_ID",
  "key_type": "organization",
  "recruiter_id": null,
  "integration_user_id": "INTEGRATION_USER_ID",
  "scopes": [
    "resumes:read",
    "resumes:write",
    "templates:read",
    "credits:read",
    "resumes:export"
  ]
}

Infrastructure & Uptime Probes

Lightweight, non-authenticated probes for synthetic uptime monitoring, CDN failover, and container orchestration.

GET

/health

None (Public)HTTP 200

Liveness check (Process responsiveness)

Shallow HTTP ping that verifies API gateway routing and Node.js event-loop responsiveness. Anonymous endpoint that does not query MongoDB databases or invoke AI extraction engines.

curl --fail-with-body -X GET "$CVF_BASE_URL/health"
Return Result:
{
  "status": "healthy",
  "service": "cvformatter-public-api",
  "version": "v1",
  "timestamp": "2026-10-10T04:00:00.000Z"
}
GET

/health/ready

None (Public)HTTP 200

Readiness check (Database & pipeline connectivity)

Deep infrastructure probe confirming operational connectivity to primary document databases and ingestion queues. Returns HTTP 503 Unavailable if database ping exceeds timeout thresholds (DATABASE_TIMEOUT or DATABASE_QUERY_FAILED).

curl --fail-with-body -X GET "$CVF_BASE_URL/health/ready"
Return Result:
{
  "status": "ready",
  "service": "cvformatter-public-api",
  "checks": {
    "database": "up",
    "parser": "not_checked"
  },
  "elapsed_ms": 474,
  "request_id": "REQUEST_ID",
  "timestamp": "2026-10-10T04:00:00.000Z"
}