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

# Crear tarjeta

> Este endpoint crea una nueva tarjeta virtual o física para un usuario aprobado

### Cuerpo

<ParamField body="userId" type="string" required>
  El ID de usuario del titular de la tarjeta (debe ser un usuario aprobado)
</ParamField>

<ParamField body="type" type="string" required>
  Tipo de tarjeta: `physical` o `virtual`
</ParamField>

<ParamField body="shippingAddress" type="object">
  Requerido para tarjetas físicas: datos de la dirección de envío

  <Expandable title="Objeto shippingAddress">
    <ParamField body="line1" type="string" required>
      Dirección línea 1 (máximo 100 caracteres)
    </ParamField>

    <ParamField body="line2" type="string">
      Dirección línea 2 (máximo 100 caracteres)
    </ParamField>

    <ParamField body="city" type="string" required>
      Ciudad (máximo 50 caracteres)
    </ParamField>

    <ParamField body="region" type="string" required>
      Estado o región (máximo 50 caracteres)
    </ParamField>

    <ParamField body="postalCode" type="string" required>
      Código postal (1-9 caracteres)
    </ParamField>

    <ParamField body="countryCode" type="string" required>
      Código de país de dos letras (por ejemplo, "US")
    </ParamField>

    <ParamField body="country" type="string">
      Nombre del país (máximo 50 caracteres)
    </ParamField>

    <ParamField body="recipientFirstName" type="string">
      Nombre del destinatario (máximo 50 caracteres)
    </ParamField>

    <ParamField body="recipientLastName" type="string">
      Apellido del destinatario (máximo 50 caracteres)
    </ParamField>

    <ParamField body="recipientPhoneCountryCode" type="string">
      Código de país del teléfono (1-3 caracteres)
    </ParamField>

    <ParamField body="recipientPhoneNumber" type="string">
      Número de teléfono (1-15 caracteres)
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="bulkShippingGroupId" type="string">
  ID de grupo opcional para envíos en lote
</ParamField>

### Respuesta

<ResponseField name="success" type="boolean">
  Indica si la operación fue exitosa
</ResponseField>

<ResponseField name="cardId" type="string">
  El identificador único de la tarjeta
</ResponseField>

<ResponseField name="status" type="string">
  Estado de la tarjeta: `notActivated`, `active`, `locked` o `canceled`
</ResponseField>

<ResponseField name="type" type="string">
  Tipo de tarjeta: `physical` o `virtual`
</ResponseField>

<ResponseField name="last4" type="string">
  Últimos 4 dígitos del número de tarjeta
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --location --request POST 'https://stablecoin-api.sandbox.getmeru.com/api/v1/cards' \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data-raw '{
      "userId": "3ddd0e5b-6276-4b48-b756-c1fcc9a2efd1",
      "type": "virtual"
  }'
  ```

  ```js Javascript theme={null}
  const response = await fetch('https://stablecoin-api.sandbox.getmeru.com/api/v1/cards-program/cards', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'api-key': '<api-key>'
    },
    body: JSON.stringify({
      userId: "3ddd0e5b-6276-4b48-b756-c1fcc9a2efd1",
      type: "virtual"
    })
  });

  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "cardId": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
    "status": "active",
    "type": "virtual",
    "last4": "4242"
  }
  ```
</ResponseExample>

### Ejemplo de tarjeta física

<RequestExample>
  ```bash cURL theme={null}
  curl --location --request POST 'https://stablecoin-api.sandbox.getmeru.com/api/v1/cards-program/cards' \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data-raw '{
      "userId": "3ddd0e5b-6276-4b48-b756-c1fcc9a2efd1",
      "type": "physical",
      "shippingAddress": {
          "line1": "123 Main St",
          "line2": "Apt 4B",
          "city": "New York",
          "region": "NY",
          "postalCode": "10001",
          "countryCode": "US",
          "country": "United States",
          "recipientFirstName": "John",
          "recipientLastName": "Doe",
          "recipientPhoneCountryCode": "1",
          "recipientPhoneNumber": "5551234567"
      }
  }'
  ```
</RequestExample>

### Respuestas de error

<ResponseExample>
  ```json 401 theme={null}
  {
    "success": false,
    "error": "Unauthorized. Please check your authentication credentials."
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": "User not approved or shipping address required for physical cards."
  }
  ```
</ResponseExample>
