> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eazyowl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Customer Status

> The API to get the status of a single customer

## Request

**Request type**: GET

**URL**: `{{baseUrl}}/api/v1/customers/{{externalUserId}}/status`

**Body**: *None*

### Constraints

The `{{externalUserId}}` should exist.

## Success Response

**HTTP code**: 200 (OK)

**Body**:

in case the customer has not chosen any plan

```json theme={null}
{
	"active_plan": null,
	"customer": {
		"billing_portal_url": "http://{{mbsUrl}}/p/login?token={{userLoginToken}}",
		"external_id": "{{externalUserId}}"
	}
}
```

When the customer has chosen a plan (in this response we are showing sample/dummy data of both customer and an active plan).

```text theme={null}
{
	"active_plan": {
		"current_period_end": "2026-09-11T11:23:23Z",
		"entitlements": {},
		"plan_key": "free",
		"plan_name": "Free",
		"provider": "razorpay"
	},
	"customer": {
		"billing_portal_url": "http://localhost:4000/p/login?token=SFMyNTY.g2gDdAAAAAF3C2N1c3RvbWVyX2lkYQ1uBgCiCbf1nwFiAAFRgA.QrXZC5ahrZ8ArephEGLaeINgHNt0Ubn3dSyHEyDhnvE",
		"external_id": "vaibkaus4"
	}
}
```

**Meaning of Response field values**:

| Field                         | Expected Value                                                                                                                                               | Remarks        |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
| active\_plan                  | The plan which the customer is on. *null* if the customer is not on any plan or else it will have the basic details of the plan (except features and prices) | It's an object |
| customer                      | Data of the customer whose `externalUserId` was supplied in the request                                                                                      | It's an object |
| customer.billing\_portal\_url | The link on [MBS](/quickstart) that will directly log the user in (a `token` is provided in the URL)                                                         |                |
| customer.external\_id         | The same value that was sent in the request under the `externalUserId` field should come back.                                                               |                |

## Error Responses

Error shall be returned when the request data is faulty. *This list is not exhaustive*.

### User does not exists

When the user against the requested `externalUserId` does not exist.

```text theme={null}
{
	"error": "User does not exist"
}
```
