---
title: "Get user info and purchase status"
method: POST
path: "/v1/sdk/user-info"
tags: ["User Info"]
---

# Get user info and purchase status

`POST /v1/sdk/user-info`

Returns customer profile, active purchase details including usage and plan info, and a customer portal URL.

## Request body

- UserInfoRequest
  - `customerRef` string, required
  - `productRef` string, required

## Response `200`

User info with purchase status

- UserInfoResponse
  - `purchase` UserInfoPurchaseDto
    - `endDate` string, nullable
    - `plan` UserInfoPlanDto
      - `billingCycle` string, nullable
      - `currency` string, required
      - `features` object, nullable
      - `limits` object, nullable — Deprecated: always null. Limit data now lives in the plan snapshot options (`kind: "limit"`).
      - `price` number — Price in minor currency units (e.g. cents)
      - `reference` string
      - `type` string, required
    - `planType` string
    - `productName` string, required
    - `reference` string, required
    - `startDate` string, nullable
    - `status` string, required
    - `usage` UserInfoUsageDto
      - `meterRef` string, nullable — Meter key referenced by the plan options
      - `percentUsed` number, nullable
      - `remaining` number, required
      - `total` number, required — Included allowance for the period. `0` means unlimited / no finite cap.
      - `used` number, required
  - `status` string, required — Human-readable status summary
  - `user` UserInfoUserDto
    - `email` string, required
    - `externalRef` string, nullable
    - `name` string, nullable
    - `reference` string, required
  - `verifyUrl` string, nullable — Customer portal session URL

## Other responses

- `400` — Missing customerRef or productRef
- `404` — Customer or product not found

## Changes

- **2026-08-13** `e356f6586bf2` — 1 info
  - response property `purchase/allOf[#/components/schemas/UserInfoPurchaseDto]/plan/allOf[#/components/schemas/UserInfoPlanDto]/limits` deprecated
- **2026-07-30** `8578b7536a9f` — 10 breaking, 6 warning, 2 info
  - the response property `purchase` became nullable for the status `200`
  - the response property `user` became nullable for the status `200`
  - the `purchase` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - the `user` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - …14 more
- **2026-07-17** `bbc2ff2bc849` — 2 warning
  - the `customerRef` request property's maxLength was set to `20`
  - the `productRef` request property's maxLength was set to `20`
- **2026-07-04** `a30b6aef464d` — 2 info
  - the endpoint scheme security `SecretKey` was added to the API
  - the endpoint scheme security `bearer` was removed from the API
- **2026-04-08** `052cc028fdfa` — 1 warning, 1 info
  - removed the optional property `purchase/usage/meterId` from the response with the `200` status
  - added the optional property `purchase/usage/meterRef` to the response with the `200` status

[Full history](https://skmtc.dev/solvapay/apis/solvapay-rest-api/changes/v1/sdk/user-info/post.md)

---

[API](https://skmtc.dev/solvapay/apis/solvapay-rest-api.md) · [All operations](https://skmtc.dev/solvapay/apis/solvapay-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/solvapay/solvapay-rest-api/revisions/d29ab7373802/schema)
