---
title: "Create a business card"
method: POST
path: "/business-cards"
tags: ["Business Cards"]
---

# Create a business card

`POST /business-cards`

## Request

- Base URL: `https://getdynamicqr.com/api/v1`
- URL: `https://getdynamicqr.com/api/v1/business-cards`
- Auth: API key in header `X-Client-ID` and HTTP bearer

The slug is fixed at creation — it is what the public URL is built from.

**Requires the `business_cards` plan feature.** Without it this endpoint answers 403 even with valid credentials.

## Request body

- object
  - `slug` string, required: Unique slug for the public URL.
  - `name` string, required: Full name. Max 100 chars.
  - `job_title` string: Job title. Max 100 chars.
  - `company` string: Company name. Max 100 chars.
  - `email` string: Contact email.
  - `phone` string: Phone number. Max 30 chars.
  - `website` string: Website URL.
  - `bio` string: Short bio. Max 400 chars.
  - `theme` string: One of: default, dark, minimal.
  - `social_links` object[]: Array of {platform, url} objects (max 8).

## Response `201`

Created

## Other responses

- `401`: No credentials, or credentials that are not valid.
- `403`: The account is inactive, or the plan does not carry this feature.
- `429`: Rate limit exceeded. See `Retry-After`.

---

[API](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api.md) · [All operations](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/revisions/4467aeca30ce?raw)
