public static function create(
        int $cardId,
        string $nameOnCard = null,
        string $pinCode = null,
        string $secondLine = null,
        array $customHeaders = []
    ): BunqResponseInt {
        $apiClient = new ApiClient(static::getApiContext());
        $apiClient->enableEncryption();
        $responseRaw = $apiClient->post(
            vsprintf(
                self::ENDPOINT_URL_CREATE,
                [static::determineUserId(), $cardId]
            ),
            [
                self::FIELD_NAME_ON_CARD => $nameOnCard,
                self::FIELD_PIN_CODE => $pinCode,
                self::FIELD_SECOND_LINE => $secondLine,
            ],
            $customHeaders
        );

        return BunqResponseInt::castFromBunqResponse(
            static::processForId($responseRaw)
        );
    }