---
title: "Create or reactivate a verified Stripe customer alias"
method: POST
path: "/admin/billing/stripe/customer-aliases"
tags: ["Billing"]
---

# Create or reactivate a verified Stripe customer alias

`POST /admin/billing/stripe/customer-aliases`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/admin/billing/stripe/customer-aliases`
- Auth: API key in header `x-api-key`

Admin-only endpoint that explicitly maps one historical Stripe customer to one Crawlora user. It never resolves by email, cannot shadow another user's canonical customer, and records the acting admin and reason.

## Headers

- `x-api-key` string, required

## Request body

- BillingStripeCustomerAliasRequestDoc
  - `reason` string
  - `stripe_customer_id` string
  - `user_id` string

## Response `200`

Created or reactivated alias

- BillingStripeCustomerAliasResponseDoc
  - `code` integer
  - `data` BillingStripeCustomerAliasDoc
    - `created_at` string
    - `created_by` string
    - `reason` string
    - `revoked_at` string
    - `revoked_by` string
    - `source` string
    - `status` string
    - `stripe_customer_id` string
    - `updated_at` string
    - `updated_by` string
    - `user_id` string
  - `msg` string

## Other responses

- `400`: Invalid or conflicting mapping
- `401`: Authentication required
- `403`: Admin plan required
- `404`: User not found
- `500`: Internal server error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
